在中创建、配置和删除 Amazon EC2 安全组 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在中创建、配置和删除 Amazon EC2 安全组 Amazon CLI

您可以为您的亚马逊弹性计算云 (AmazonEC2) 实例创建一个安全组,该组本质上是作为防火墙运行,其规则决定了哪些网络流量可以进入和离开。

使用 Amazon Command Line Interface (Amazon CLI) 创建安全组、向现有安全组添加规则以及删除安全组。

注意

有关其他命令示例,请参阅参考指南

先决条件

要运行 ec2 命令,您需要:

创建安全组

您可以创建与虚拟私有云关联的安全组(VPCs)。

以下aws ec2 create-security-group示例说明如何为指定的创建安全组VPC。

$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d { "GroupId": "sg-903004f8" }

要查看安全组的初始信息,请运行 aws ec2 describe-security-groups 命令。您只能通过VPC安全组的名称来引用 EC2-安全组。vpc-id

$ aws ec2 describe-security-groups --group-ids sg-903004f8 { "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "VpcId": "vpc-1a2b3c4d", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }

为您的安全组添加规则

运行 Amazon EC2 实例时,您必须在安全组中启用规则,以允许传入的网络流量用于连接映像。

例如,如果您要启动 Windows 实例,则通常会添加一条规则,允许TCP端口 3389 上的入站流量以支持远程桌面协议 () RDP。如果您要启动 Linux 实例,则通常会添加一条规则,允许TCP端口 22 上的入站流量支持SSH连接。

使用 aws ec2 authorize-security-group-ingress 命令向安全组添加规则。此命令的必填参数是您的计算机的公有 IP 地址或您的计算机所连接的网络(以地址范围的形式),CIDR表示法。

以下示例说明如何sg-903004f8使用您的 IP 地址将RDP(TCP端口 3389)的EC2规则添加到带有 ID VPC 的安全组。

首先,确定您的 IP 地址。

$ curl https://checkip.amazonaws.com x.x.x.x

然后,您可以运行 aws ec2 authorize-security-group-ingress 命令以将 IP 地址添加到安全组。

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr x.x.x.x/x

以下命令为同一安全组中的实例添加了另一条SSH要启用的规则。

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr x.x.x.x/x

要查看对安全组所做的更改,请运行 aws ec2 describe-security-groups 命令。

$ aws ec2 describe-security-groups --group-ids sg-903004f8 { "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "x.x.x.x/x" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }

删除您的安全组

要删除安全组,请运行 aws ec2 delete-security-group 命令。

注意

如果安全组当前已附加到环境,则无法删除。

以下命令示例删除 EC2-VPC 安全组。

$ aws ec2 delete-security-group --group-id sg-903004f8

参考信息

Amazon CLI 参考:

其他参考资料: