为您的 Windows 实例授权入站流量 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

为您的 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 浏览器中使用搜索短语“什么是我的 IP 地址”,或使用以下服务:检查 IP。如果您正通过 ISP 或从防火墙后面连接,没有静态 IP 地址,您需要找出客户端计算机使用的 IP 地址范围。

警告

如果使用 0.0.0.0/0,则允许所有 IPv4 地址使用 RDP 访问您的实例。如果您使用 ::/0,则所有 IPv6 地址都可以访问您的实例。您应该仅授权特定 IP 地址或特定范围内的 IP 地址访问您的实例。

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

添加 Windows 实例的入站 RDP 流量规则

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

在安全组中为通过 IPv4 的入站 RDP 流量添加规则(控制台)
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 从顶部的导航栏中选择安全组的区域。安全组特定于区域,因此您应选择您创建实例的区域。

  3. 在导航窗格中,选择实例

  4. 选择您的实例,然后在屏幕下半部分选择 Security (安全) 选项卡。Security groups (安全组) 列出了与实例关联的安全组。Inbound rules (入站规则) 显示对实例生效的入站规则列表。

  5. 对于要添加新规则的安全组,请选择安全组 ID 链接以打开安全组。

  6. Inbound Rules (入站规则) 选项卡上,选择 Edit inbound rules (编辑入站规则)

  7. Edit inbound rules (编辑入站规则) 页面上,执行以下操作:

    1. 选择 Add rule (添加规则)

    2. 对于 Type (类型),请选择 RDP

    3. 对于 Source(源),选择 My IP(我的 IP)以便使用本地计算机的公有 IPv4 地址自动填充该字段。

      或者,对于 Source(源),选择 Custom(自定义)并使用 CIDR 表示法输入计算机的公有 IPv4 地址或网络。例如,如果您的 IPv4 地址为 203.0.113.25,请输入 203.0.113.25/32,以使用 CIDR 表示法列出此单个 IPv4 地址。如果您的公司要分配同一范围内的地址,请输入整个范围,例如 203.0.113.0/24

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

    4. 选择保存规则

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

在安全组中为通过 IPv6 的入站 RDP 流量添加规则(控制台)
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 从顶部的导航栏中选择安全组的区域。安全组特定于区域,因此您应选择您创建实例的区域。

  3. 在导航窗格中,选择实例

  4. 选择您的实例,然后在屏幕下半部分选择 Security (安全) 选项卡。Security groups (安全组) 列出了与实例关联的安全组。Inbound rules (入站规则) 显示对实例生效的入站规则列表。

  5. 对于要添加新规则的安全组,请选择安全组 ID 链接以打开安全组。

  6. Inbound Rules (入站规则) 选项卡上,选择 Edit inbound rules (编辑入站规则)

  7. Edit inbound rules (编辑入站规则) 页面上,执行以下操作:

    1. 选择 Add rule (添加规则)

    2. 对于 Type (类型),选择 RDP

    3. 对于 Source(源),选择 Custom(自定义),并使用 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

    4. 选择保存规则

注意

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

使用命令行向安全组添加规则
  1. 使用以下命令之一找到与您的实例关联的安全组:

    • describe-instance-attribute (Amazon CLI)

      aws ec2 describe-instance-attribute --region region --instance-id instance_id --attribute groupSet
    • Get-EC2InstanceAttribute (Amazon Tools for Windows PowerShell)

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

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

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

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

      aws ec2 authorize-security-group-ingress --region region --group-id security_group_id --protocol tcp --port 3389 --cidr cidr_ip_range
    • Grant-EC2SecurityGroupIngress (Amazon Tools for Windows PowerShell)

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

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

向实例分配安全组

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

启动实例后,您可以更改其安全组。有关更多信息,请参阅更改实例的安全组