Amazon Virtual Private Cloud
VPC 对等指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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

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

要在对等 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 可以是您的账户中的 VPC,也可以是另一 AWS 账户中的 VPC。

  6. 选择 Save

如果一个安全组引用另一 AWS 账户中的安全组,则会在 SourceDestination 字段中包括账号;例如 123456789012/sg-1a2b3c4d

或者,您也可以使用以下命令。

操作 命令
授权入站规则

authorize-security-group-ingress (AWS CLI)

Grant-EC2SecurityGroupIngress (适用于 Windows PowerShell 的 AWS 工具)

授权出站规则

authorize-security-group-egress (AWS CLI)

Grant-EC2SecurityGroupEgress (适用于 Windows PowerShell 的 AWS 工具)

撤销入站规则

revoke-security-group-ingress (AWS CLI)

Revoke-EC2SecurityGroupIngress (适用于 Windows PowerShell 的 AWS 工具)

撤销出站规则

revoke-security-group-egress (AWS CLI)

Revoke-EC2SecurityGroupEgress (适用于 Windows PowerShell 的 AWS 工具)

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

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

对等 VPC 可以是您的账户中的 VPC,也可以是另一 AWS 账户中的 VPC。

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

确定引用的安全组

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

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

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

注意

目前,您无法使用 Amazon VPC 或 Amazon EC2 控制台确定安全组引用。

如果删除 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 规则。

Copy
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 命令将其删除。