Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

为您的 Windows 实例授权入站流量

您可以采用安全组控制实例的流量,包括可到达您的实例的流量类型。例如,您可以只允许来自您家庭网络的计算机使用 RDP 访问您的实例。如果您的实例为 Web 服务器,那么您可以允许所有 IP 地址通过 HTTP 或 HTTPS 访问您的实例,以便外部用户能够浏览您的 Web 服务器上的内容。

您的默认安全组和新创建的安全组包含不支持您从 Internet 访问实例的默认规则。有关更多信息,请参阅 默认安全组自定义安全组。若要启用对实例的网络访问,您必须允许该实例的入站流量。要为入站流量打开端口,您需要在启动实例时向与实例关联的安全组添加规则。

要连接到您的实例,您必须设置规则以向来自您计算机的公有 IPv4 地址的 RDP 流量授权。若要允许来自其他 IP 地址范围的 RDP 流量,请为需要授权的每个范围另外添加规则。

如果您已启用了支持 IPv6 的 VPC 并使用 IPv6 地址启动您的实例,则可以使用其 IPv6 地址而非公有 IPv4 地址连接到您的实例。您的本地计算机必须拥有 IPv6 地址,且必须配置为使用 IPv6。

如果您需要启用对 Linux 实例的网络访问,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的为 Linux 实例授权入站流量

在您开始之前

确定谁需要访问您的实例;例如,您信任的单个主机或特定网络 (例如,本地计算机的公有 IPv4 地址)。Amazon EC2 控制台的安全组编辑器可自动为您检测本地计算机的公有 IPv4 地址。此外,您可以在 Internet 浏览器中使用搜索短语“what is my IP address”,或使用以下服务:Check IP。如果您正通过 ISP 或从防火墙后面连接,没有静态 IP 地址,您需要找出客户端计算机使用的 IP 地址范围。

警告

如果您使用 0.0.0.0/0,则所有 IPv4 地址都可以使用 RDP 访问您的实例。如果您使用 ::/0,则所有 IPv6 地址都可以访问您的实例。这在测试环境中可以接受一小段时间,但是在生产环境中并不安全。在生产环境中,您仅授权特定 IP 地址或地址范围访问您的实例。

有关安全组的更多信息,请参阅 Windows 实例的 Amazon EC2 个安全组

Windows 防火墙还可能阻止传入流量。如果您在设置实例的访问时遇到问题,您可能必须禁用 Windows 防火墙。有关更多信息,请参阅 远程桌面无法连接到远程计算机

针对发送到 Windows 实例的入站 RDP 流量添加规则

安全组用作相关实例的防火墙,可在实例级别控制入站和出站的数据流。您必须在安全组中添加规则,以便能够使用 RDP 从您的 IP 地址连接到 Windows 实例。

使用控制台在安全组中为通过 IPv4 的入站 RDP 流量添加规则

  1. 在 Amazon EC2 控制台的导航窗格中,选择 Instances。选择实例并查看 Description (描述) 选项卡;Security groups (安全组) 列出了与该实例关联的安全组。选择 view rules,以显示对实例生效的规则列表。

  2. 在导航窗格中,选择 Security Groups。选择与您的实例关联的一个 安全组。

  3. 在详细信息窗格中的 Inbound 选项卡上,选择 Edit。在对话框中,选择 Add Rule,然后从 Type 列表中选择 RDP

  4. 字段中,选择 My IP,以使用本地计算机的公有 IPv4 地址自动填充字段。或者,选择自定义并使用 CIDR 表示法指定计算机的公有 IPv4 地址或网络。例如,如果您的 IPv4 地址为 203.0.113.25,请指定 203.0.113.25/32,以使用 CIDR 表示法列出此单个 IPv4 地址。如果您的公司要分配同一范围内的地址,请指定整个范围,例如 203.0.113.0/24

    有关查找 IP 地址的信息,请参阅在您开始之前

  5. 选择 Save

(仅限 VPC) 如果您已启动带有 IPv6 地址的实例并希望使用其 IPv6 地址连接到您的实例,则必须添加允许通过 RDP 的入站 IPv6 流量的规则。

使用控制台在安全组中为通过 IPv6 的入站 RDP 流量添加规则

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择 Security Groups。为您的实例选择安全组。

  3. 依次选择入站编辑添加规则

  4. 对于类型,请选择 RDP

  5. 字段中,使用 CIDR 表示法为您的计算机指定 IPv6 地址。例如,如果您的 IPv6 地址为 2001:db8:1234:1a00:9691:9503:25ad:1761,请指定 2001:db8:1234:1a00:9691:9503:25ad:1761/128,以使用 CIDR 表示法列出单个 IP 地址。如果您的公司要分配同一范围内的地址,请指定整个范围,例如 2001:db8:1234:1a00::/64

  6. 选择 Save

注意

请确保以下命令在您的本地系统中运行,而不是针对实例本身。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

使用命令行向安全组添加规则

  1. 使用以下命令之一找到与您的实例关联的安全组:

    • describe-instance-attribute (AWS CLI)

      aws ec2 describe-instance-attribute --instance-id instance_id --attribute groupSet
    • Get-EC2InstanceAttribute (适用于 Windows PowerShell 的 AWS 工具)

      PS C:\> (Get-EC2InstanceAttribute -InstanceId instance_id -Attribute groupSet).Groups

    两个命令均返回一个安全组 ID,您将在下一步中使用该 ID。

  2. 使用以下命令之一向安全组添加规则:

    • authorize-security-group-ingress (AWS CLI)

      aws ec2 authorize-security-group-ingress --group-id security_group_id --protocol tcp --port 3389 --cidr cidr_ip_range
    • Grant-EC2SecurityGroupIngress (适用于 Windows PowerShell 的 AWS 工具)

      Grant-EC2SecurityGroupIngress 命令需要 IpPermission 参数,该参数描述要用于安全组规则的协议、端口范围和 IP 地址范围。以下命令创建 IpPermission 参数:

      PS C:\> $ip1 = @{ IpProtocol="tcp"; FromPort="3389"; ToPort="3389"; IpRanges="cidr_ip_range" }
      PS C:\> Grant-EC2SecurityGroupIngress -GroupId security_group_id -IpPermission @($ip1)

向实例分配安全组

在启动实例时,您可以向实例分配安全组。在添加或删除规则时,所做的更改将自动应用于已分配安全组的所有实例。

在 EC2-Classic 中启动实例后,您就不能再更改其安全组。在 VPC 中启动实例后,您可以更改其安全组。想要了解更多有关信息,请参阅 Amazon VPC 用户指南中的更改实例的安全组主题。