本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中创建、配置和删除 Amazon EC2 安全组 AWS CLI
您可以为您的亚马逊弹性计算云 (AmazonEC2) 实例创建一个安全组,该组本质上是作为防火墙运行,其规则决定了哪些网络流量可以进入和离开。
使用 AWS Command Line Interface (AWS CLI) 创建安全组、向现有安全组添加规则以及删除安全组。
注意
有关其他命令示例,请参阅参考指南
先决条件
要运行 ec2
命令,您需要:
安装和配置 AWS CLI。有关更多信息,请参阅安装或更新到最新版本的 AWS CLI 和的身份验证和访问凭证 AWS CLI。
-
将您的IAM权限设置为允许 Amazon EC2 访问。有关亚马逊IAM权限的更多信息EC2,请参阅亚马逊EC2用户指南EC2中的亚马逊IAM政策。
创建安全组
您可以创建与虚拟私有云关联的安全组(VPCs)。
以下aws ec2 create-security-group
示例说明如何为指定的创建安全组VPC。
$
aws ec2 create-security-group --group-name
my-sg
--description "My security group
" --vpc-idvpc-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/
以下示例说明如何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 --cidrx.x.x.x/x
以下命令为同一安全组中的实例添加了另一条SSH要启用的规则。
$
aws ec2 authorize-security-group-ingress --group-id
sg-903004f8
--protocol tcp --port 22 --cidrx.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 参考:
其他参考资料:
-
要查看和贡献 AWS CLI 代码示例,请参阅上的 “AWS 代码示例存储库
” GitHub。 AWS SDK