为您的 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
如果使用 0.0.0.0/0
,则允许所有 IPv4 地址使用 RDP 访问您的实例。如果您使用 ::/0
,则所有 IPv6 地址都可以访问您的实例。您应该仅授权特定 IP 地址或特定范围内的 IP 地址访问您的实例。
Windows 防火墙还可能阻止传入流量。如果您在设置实例的访问时遇到问题,您可能必须禁用 Windows 防火墙。有关更多信息,请参阅远程桌面无法连接到远程计算机。
添加 Windows 实例的入站 RDP 流量规则
安全组用作相关实例的防火墙,可在实例级别控制入站和出站的数据流。您必须向安全组添加可让您使用 RDP 从 IP 地址连接到 Windows 实例的规则。
在安全组中为通过 IPv4 的入站 RDP 流量添加规则(控制台)
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
从顶部的导航栏中选择安全组的区域。安全组特定于区域,因此您应选择您创建实例的区域。
-
在导航窗格中,选择实例。
-
选择您的实例,然后在屏幕下半部分选择 Security (安全) 选项卡。Security groups (安全组) 列出了与实例关联的安全组。Inbound rules (入站规则) 显示对实例生效的入站规则列表。
-
对于要添加新规则的安全组,请选择安全组 ID 链接以打开安全组。
-
在 Inbound Rules (入站规则) 选项卡上,选择 Edit inbound rules (编辑入站规则)。
-
在 Edit inbound rules (编辑入站规则) 页面上,执行以下操作:
-
选择 Add rule (添加规则)。
-
对于 Type (类型),请选择 RDP。
-
对于 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 地址的信息,请参阅在您开始之前。
-
选择 Save rules(保存规则)。
-
如果您已启动带有 IPv6 地址的实例并希望使用其 IPv6 地址连接到您的实例,则必须添加允许通过 RDP 的入站 IPv6 流量的规则。
在安全组中为通过 IPv6 的入站 RDP 流量添加规则(控制台)
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
从顶部的导航栏中选择安全组的区域。安全组特定于区域,因此您应选择您创建实例的区域。
-
在导航窗格中,选择实例。
-
选择您的实例,然后在屏幕下半部分选择 Security (安全) 选项卡。Security groups (安全组) 列出了与实例关联的安全组。Inbound rules (入站规则) 显示对实例生效的入站规则列表。
-
对于要添加新规则的安全组,请选择安全组 ID 链接以打开安全组。
-
在 Inbound Rules (入站规则) 选项卡上,选择 Edit inbound rules (编辑入站规则)。
-
在 Edit inbound rules (编辑入站规则) 页面上,执行以下操作:
-
选择 Add rule (添加规则)。
-
对于 Type (类型),选择 RDP。
-
对于 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
。 -
选择 Save rules(保存规则)。
-
请确保以下命令在您的本地系统中运行,而不是针对实例本身。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
使用命令行向安全组添加规则
-
使用以下命令之一找到与您的实例关联的安全组:
-
describe-instance-attribute (AWS CLI)
aws ec2 describe-instance-attribute --region
region
--instance-idinstance_id
--attribute groupSet -
Get-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
PS C:\>
(Get-EC2InstanceAttribute -Regionregion
-InstanceIdinstance_id
-Attribute groupSet).Groups
两个命令均返回一个安全组 ID,您将在下一步中使用该 ID。
-
-
使用以下命令之一向安全组添加规则:
-
authorize-security-group-ingress (AWS CLI)
aws ec2 authorize-security-group-ingress --region
region
--group-idsecurity_group_id
--protocol tcp --port 3389 --cidrcidr_ip_range
-
Grant-EC2SecurityGroupIngress (AWS 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 -Regionregion
-GroupIdsecurity_group_id
-IpPermission @($ip1)
-
向实例分配安全组
在启动实例时,您可以向实例分配安全组。在添加或删除规则时,所做的更改将自动应用于已分配安全组的所有实例。
启动实例后,您可以更改其安全组。想要了解更多有关信息,请参阅 Amazon VPC 用户指南中的更改实例的安全组主题。