使用 Windows 创建安全组 PowerShell - Amazon Tools for PowerShell
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Windows 创建安全组 PowerShell

您可以使用 Amazon Tools for PowerShell 来创建和配置安全组。该操作以安全组 ID 作为响应。

如果您需要连接到您的实例,则必须将安全组配置为允许SSH流量 (Linux) 或RDP流量 (Windows)。

先决条件

您需要计算机的公有 IP 地址,以CIDR表示法。您可以通过一项服务来获取本地计算机的公有 IP 地址。例如,Amazon 提供以下服务:http://checkip.amazonaws.com/https://checkip.amazonaws.com/。要查找另一项可提供您的 IP 地址的服务,请使用搜索短语“what is my IP address”。如果您在没有静态 IP 地址的情况下通过防火墙ISP或从防火墙后面进行连接,则需要找到客户端计算机可以使用的 IP 地址范围。

警告

如果您指定 0.0.0.0/0,则会启用来自世界上任何 IP 地址的流量。对于SSH和RDP协议,在测试环境中,您可能会认为这在短时间内是可以接受的,但对于生产环境来说却是不安全的。对于生产环境,请确保仅授权从适当的单个 IP 地址或地址范围进行访问。

为 EC2-创建安全组 VPC

警告

EC2-Classic 已于 2022 年 8 月 15 日退役。我们建议您从 EC2-Classic 迁移到。VPC欲了解更多信息,请参阅博客文章 EC2——Classic Networking 即将停用——以下是准备方法

以下New-EC2SecurityGroup示例添加了用于为指定的创建安全组的-VpcId参数VPC。

PS > $groupid = New-EC2SecurityGroup ` -VpcId "vpc-da0013b3" ` -GroupName "myPSSecurityGroup" ` -GroupDescription "EC2-VPC from PowerShell"

要查看安全组的初始配置,请使用 Get-EC2SecurityGroup cmdlet。默认情况下,的安全组VPC包含一条允许所有出站流量的规则。请注意,您不能VPC按名称为 EC2-引用安全组。

PS > Get-EC2SecurityGroup -GroupId sg-5d293231 OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-5d293231 Description : EC2-VPC from PowerShell IpPermissions : {} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} VpcId : vpc-da0013b3 Tags : {}

要定义TCP端口 22 (SSH) 和端TCP口 3389 上的入站流量的权限,请使用 cmdlet。New-Object以下示例脚本定义了来自单个 IP 地址的TCP端口 22 和 3389 的权限。203.0.113.25/32

$ip1 = new-object Amazon.EC2.Model.IpPermission $ip1.IpProtocol = "tcp" $ip1.FromPort = 22 $ip1.ToPort = 22 $ip1.IpRanges.Add("203.0.113.25/32") $ip2 = new-object Amazon.EC2.Model.IpPermission $ip2.IpProtocol = "tcp" $ip2.FromPort = 3389 $ip2.ToPort = 3389 $ip2.IpRanges.Add("203.0.113.25/32") Grant-EC2SecurityGroupIngress -GroupId $groupid -IpPermissions @( $ip1, $ip2 )

要验证已更新安全组,请再次使用 Get-EC2SecurityGroup cmdlet。

PS > Get-EC2SecurityGroup -GroupIds sg-5d293231 OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-5d293231 Description : EC2-VPC from PowerShell IpPermissions : {Amazon.EC2.Model.IpPermission} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} VpcId : vpc-da0013b3 Tags : {}

要查看入站规则,您可以从上一个命令返回的集合对象中检索 IpPermissions 属性。

PS > (Get-EC2SecurityGroup -GroupIds sg-5d293231).IpPermissions IpProtocol : tcp FromPort : 22 ToPort : 22 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32} IpProtocol : tcp FromPort : 3389 ToPort : 3389 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32}