Amazon Virtual Private Cloud
VPC 对等连接
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

更新您的安全组以引用对等 VPC 组

您可以更新 VPC 安全组的入站或出站规则以引用对等的 VPC 中的安全组。此操作将允许流量流入和流出与对等的 VPC 中的已引用安全组关联的实例。

要求

  • 对等 VPC 可以是您的账户中的 VPC,也可以是另一 AWS 账户中的 VPC。要在另一个 AWS 账户中引用安全组,请在 Source (源)Destination (目标) 字段中包括账号;例如 123456789012/sg-1a2b3c4d

  • 您无法引用位于不同区域内的对等 VPC 的安全组。而是使用对等 VPC 的 CIDR 块。

  • 要在对等 VPC 中引用安全组,VPC 对等连接必须处于active状态。

使用控制台更新安全组规则

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Security Groups

  3. 选择安全组,然后选择 Inbound Rules (入站规则) 以修改入站规则或选择 Outbound Rules (出站规则) 以修改出站规则。

  4. 选择 EditAdd another rule

  5. 根据需要指定类型、协议和端口范围。对于 Source (源)(或针对出站规则的 Destination (目标)),键入对等 VPC 中的安全组的 ID(如果它位于同一区域)或对等 VPC 的 CIDR 块(如果它位于不同的区域)。

    注意

    对等 VPC 中的安全组不会自动显示。

  6. 选择 Save (保存)

使用命令行更新入站规则

使用命令行更新出站规则

例如,要更新安全组 sg-aaaa1111 以允许通过 HTTP 从对等 VPC 中的 sg-bbbb2222 进行入站访问,可以使用以下 AWS CLI 命令:

aws ec2 authorize-security-group-ingress --group-id sg-aaaa1111 --protocol tcp --port 80 --source-group sg-bbbb2222

在更新安全组规则后,使用 describe-security-groups 命令来查看安全组规则中引用的安全组。

确定引用的安全组

要确定在对等 VPC 中的安全组规则中是否正在引用您的安全组,请对账户中的一个或多个安全组使用以下命令之一。

在以下示例中,响应表示安全组 sg-bbbb2222 正在被 VPC vpc-aaaaaaaa 中的安全组引用:

aws ec2 describe-security-group-references --group-id sg-bbbb2222
{ "SecurityGroupsReferenceSet": [ { "ReferencingVpcId": "vpc-aaaaaaaa", "GroupId": "sg-bbbb2222", "VpcPeeringConnectionId": "pcx-b04deed9" } ] }

如果删除 VPC 对等连接,或者对等 VPC 的所有者删除引用的安全组,则安全组规则将过时。

使用过时的安全组规则

过时的安全组规则是一种引用对等 VPC 中的安全组的规则,其中,已删除 VPC 对等连接或已删除对等 VPC 中的安全组。系统不会从您的安全组中自动移除过时的安全组规则,您必须手动删除它们。如果安全组规则因删除了 VPC 对等连接而变得过时,然后您使用相同的 VPC 创建新的 VPC 对等连接,则安全组规则将不再标记为过时。

您可以使用 Amazon VPC 控制台查看和删除某个 VPC 的过时安全组规则。

查看和删除过时安全组规则

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Security Groups

  3. 选择右侧通知图标 (仅当存在过时安全组规则时,系统才显示该图标) 中的 View your stale rules

  4. 要删除过时的规则,请选择 Edit,然后删除该规则。选择 Save Rules。您可以通过在 VPC 字段中输入 VPC ID 来检查另一个 VPC 中的过时规则。

  5. 操作完成后,选择 Close

使用命令行或 API 描述您的过时的安全组规则

在以下示例中,VPC A (vpc-aaaaaaaa) 和 VPC B 是对等的,并且已删除 VPC 对等连接。您在 VPC A 中的安全组 sg-aaaa1111 引用了 VPC B 中的 sg-bbbb2222。在为您的 VPC 运行 describe-stale-security-groups 命令时,响应表示安全组 sg-aaaa1111 具有引用了 sg-bbbb2222 的过时 SSH 规则。

aws ec2 describe-stale-security-groups --vpc-id vpc-aaaaaaaa
{ "StaleSecurityGroupSet": [ { "VpcId": "vpc-aaaaaaaa", "StaleIpPermissionsEgress": [], "GroupName": "Access1", "StaleIpPermissions": [ { "ToPort": 22, "FromPort": 22, "UserIdGroupPairs": [ { "VpcId": "vpc-bbbbbbbb", "PeeringStatus": "deleted", "UserId": "123456789101", "GroupName": "Prod1", "VpcPeeringConnectionId": "pcx-b04deed9", "GroupId": "sg-bbbb2222" } ], "IpProtocol": "tcp" } ], "GroupId": "sg-aaaa1111", "Description": "Reference remote SG" } ] }

找到过时的安全组规则后,您可以使用 revoke-security-group-ingressrevoke-security-group-egress 命令将其删除。