在中创建、配置和删除 Amazon EC2 安全组 AWS CLI - AWS Command Line Interface

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

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

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

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

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

注意

有关其他命令示例,请参阅AWS CLI 参考指南AWS 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表示法。

注意

我们提供以下服务,即 https://checkip.amazonaws.com/,使您能够确定自己的公有 IP 地址。要查找可以帮助您识别 IP 地址的其他服务,请使用您的浏览器搜索“what is my IP address”。如果您使用动态 IP 地址(通过私有网络的NAT网关)通过防火墙ISP或从防火墙后面进行连接,则您的地址可能会定期更改。在这种情况下,您必须找到客户端电脑使用的 IP 地址的范围。

以下示例说明如何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

参考信息

AWS CLI 参考:

其他参考资料: