AWS::EC2::SecurityGroupEgress - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::EC2::SecurityGroupEgress

[仅限 EC2-VPC] 向安全组添加用于 VPC 的传出规则。

出站规则允许实例将流量发送到指定的目标 IPv4 或 IPv6 CIDR 地址范围,或发送到同一 VPC 的指定目标安全组。

您可为每个规则指定一个协议(例如,TCP)。对于 TCP 和 UDP 协议,还必须指定目标端口或端口范围。对于 ICMP 协议,还必须指定 ICMP 类型和代码。您可以使用 -1 作为类型或代码来表示所有类型或所有代码。

您必须指定目标安全组 (DestinationPrefixListIdDestinationSecurityGroupId) 或 CIDR 范围 (CidrIpCidrIpv6)。如果未指定其中一个参数,则堆栈将成功启动,但不会将规则添加到安全组。

规则更改会尽可能快地传播到受影响的实例。但可能会出现一点延迟。

有关 VPC 安全组限制的更多信息,请参阅 Amazon VPC 限制

仅在必要时使用 AWS::EC2::SecurityGroupIngressAWS::EC2::SecurityGroupEgress,它们通常允许安全组在传入和传出规则中相互引用。否则,请使用安全组的嵌入式传入和传出规则。有关更多信息,请参阅 Amazon EC2 安全组

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::EC2::SecurityGroupEgress", "Properties" : { "CidrIp" : String, "CidrIpv6" : String, "Description" : String, "DestinationPrefixListId" : String, "DestinationSecurityGroupId" : String, "FromPort" : Integer, "GroupId" : String, "IpProtocol" : String, "ToPort" : Integer } }

YAML

Type: AWS::EC2::SecurityGroupEgress Properties: CidrIp: String CidrIpv6: String Description: String DestinationPrefixListId: String DestinationSecurityGroupId: String FromPort: Integer GroupId: String IpProtocol: String ToPort: Integer

属性

CidrIp

IPv4 范围。

您必须指定目标安全组 (DestinationPrefixListIdDestinationSecurityGroupId) 或 CIDR 范围 (CidrIpCidrIpv6)。

必需:否

类型:字符串

Update requires: Replacement

CidrIpv6

IPv6 范围。

您必须指定目标安全组 (DestinationPrefixListIdDestinationSecurityGroupId) 或 CIDR 范围 (CidrIpCidrIpv6)。

必需:否

类型:字符串

Update requires: Replacement

Description

传出(出站)安全组规则的描述。

必需:否

类型:字符串

Update requires: No interruption

DestinationPrefixListId

[仅限 EC2-VPC] AWS 服务的前缀列表 ID。这是您要通过 VPC 终端节点从与安全组关联的实例访问的 AWS 服务。

您必须指定目标安全组 (DestinationPrefixListIdDestinationSecurityGroupId) 或 CIDR 范围 (CidrIpCidrIpv6)。

必需:否

类型:字符串

Update requires: Replacement

DestinationSecurityGroupId

安全组 ID.

您必须指定目标安全组 (DestinationPrefixListIdDestinationSecurityGroupId) 或 CIDR 范围 (CidrIpCidrIpv6)。

必需:否

类型:字符串

Update requires: Replacement

FromPort

TCP 和 UDP 协议端口范围的起始端口,或者某个 ICMP/ICMPv6 类型编号。值 -1 指示所有 ICMP/ICMPv6 类型。如果您指定所有 ICMP/ICMPv6 类型,则必须指定所有代码。

必需:否

类型:整数

Update requires: Replacement

GroupId

安全组 ID.您必须在请求中指定安全组 ID 或安全组名称。对于非默认 VPC 中的安全组,必须指定安全组 ID。

必需:是

类型:字符串

Update requires: Replacement

IpProtocol

IP 协议名称(tcpudpicmpicmpv6)或编号(请参阅协议编号)。

[仅限 VPC] 使用 -1 可指定所有协议。当授权安全组规则时,指定 -1tcpudpicmpicmpv6 意外的协议编号将允许所有端口上的流量,无论您指定的端口范围如何。对于 tcpudpicmp,您必须指定端口范围。对于 icmpv6,端口范围是可选的;如果您省略端口范围,则将允许所有类型和代码的流量。

必需:是

类型:字符串

Update requires: Replacement

ToPort

TCP 和 UDP 协议端口范围的终止端口,或者某个 ICMP/ICMPv6 代码。值 -1 指示所有 ICMP/ICMPv6 代码。如果您指定所有 ICMP/ICMPv6 类型,则必须指定所有代码。

必需:否

类型:整数

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回安全传出规则的名称。

For more information about using the Ref function, see Ref.

示例

VPC 安全组示例

在某些情况下,您可能拥有一个要向其添加出站规则的原始 (来源) 安全组,通过该规则允许向目标 (目标) 安全组发送流量。该目标安全组还需要允许来自源安全组的流量的入站规则。请注意,您无法使用 Ref 函数为每个安全组指定出站和入站规则。这样做会造成循环依赖;您不能让两种资源互相依赖。您应该使用传出和传入资源来声明此类出站和入站规则,如下面的示例模板所示。

JSON

"SourceSG": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "VpcId" : "vpc-1a2b3c4d", "GroupDescription": "Sample source security group" } }, "TargetSG": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "VpcId" : "vpc-1a2b3c4d", "GroupDescription": "Sample target security group" } }, "OutboundRule": { "Type": "AWS::EC2::SecurityGroupEgress", "Properties":{ "IpProtocol": "tcp", "FromPort": 0, "ToPort": 65535, "DestinationSecurityGroupId": { "Fn::GetAtt": [ "TargetSG", "GroupId" ] }, "GroupId": { "Fn::GetAtt": [ "SourceSG", "GroupId" ] } } }, "InboundRule": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties":{ "IpProtocol": "tcp", "FromPort": 0, "ToPort": 65535, "SourceSecurityGroupId": { "Fn::GetAtt": [ "SourceSG", "GroupId" ] }, "GroupId": { "Fn::GetAtt": [ "TargetSG", "GroupId" ] } } }

YAML

SourceSG: Type: AWS::EC2::SecurityGroup Properties: VpcId: vpc-1a2b3c4d GroupDescription: Sample source security group TargetSG: Type: AWS::EC2::SecurityGroup Properties: VpcId: vpc-1a2b3c4d GroupDescription: Sample target security group OutboundRule: Type: AWS::EC2::SecurityGroupEgress Properties: IpProtocol: tcp FromPort: 0 ToPort: 65535 DestinationSecurityGroupId: Fn::GetAtt: - TargetSG - GroupId GroupId: Fn::GetAtt: - SourceSG - GroupId InboundRule: Type: AWS::EC2::SecurityGroupIngress Properties: IpProtocol: tcp FromPort: 0 ToPort: 65535 SourceSecurityGroupId: Fn::GetAtt: - SourceSG - GroupId GroupId: Fn::GetAtt: - TargetSG - GroupId