メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::EC2::SecurityGroupEgress

AWS::EC2::SecurityGroupEgress リソースは Egress ルールを Amazon VPC セキュリティグループに追加します。

重要

AWS::EC2::SecurityGroupIngressAWS::EC2::SecurityGroupEgress は、通常、Ingress ルールと Egress ルールの中でセキュリティグループが相互に参照できるようにするために必要な場合にのみ使用します。それ以外の場合、AWS::EC2::SecurityGroup の埋め込み Ingress ルールと Egress ルールを使用します。詳細については、Amazon EC2 セキュリティグループを参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

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

YAML

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

プロパティ

VPC セキュリティグループへの Egress ルールの追加に関する詳細については、Amazon EC2 API Referenceの「AuthorizeSecurityGroupEgress」を参照してください。

注記

このリソースの論理 ID を変更した場合、そのリソースの更新をトリガーするためには、プロパティ値も更新する必要があります。

CidrIp

IPv4 CIDR の範囲。

Required: Conditional。対象セキュリティグループ (DestinationPrefixListId または DestinationSecurityGroupId) または CIDR 範囲 (CidrIp または CidrIpv6)。

Type: String

更新に伴う要件: 置換

CidrIpv6

IPv6 CIDR 範囲。

Type: String

Required: Conditional。対象セキュリティグループ (DestinationPrefixListId または DestinationSecurityGroupId) または CIDR 範囲 (CidrIp または CidrIpv6)。

更新に伴う要件: 置換

DestinationPrefixListId

Amazon VPC エンドポイントの AWS サービスプレフィックス。詳細については、Amazon VPC ユーザーガイド の「VPC エンドポイント」を参照してください。

Required: Conditional。対象セキュリティグループ (DestinationPrefixListId または DestinationSecurityGroupId) または CIDR 範囲 (CidrIp または CidrIpv6)。

Type: String

更新に伴う要件: 置換

DestinationSecurityGroupId

対象 Amazon VPC セキュリティグループのグループ ID を指定します。

Required: Conditional。対象セキュリティグループ (DestinationPrefixListId または DestinationSecurityGroupId) または CIDR 範囲 (CidrIp または CidrIpv6)。

Type: String

更新に伴う要件: 置換

FromPort

TCP および UDP プロトコルのポート範囲の開始、または ICMP タイプの番号です。icmp プロパティに IpProtocol を指定する場合、ワイルドカード (つまり、任意の ICMP タイプ番号) として -1 を指定できます。

Required: Yes

Type: Integer

更新に伴う要件: 置換

GroupId

変更する Amazon VPC セキュリティグループの ID です。この値は、有効な プロパティを持つ AWS::EC2::SecurityGroupVpcId リソースへの参照、または既存の Amazon VPC セキュリティグループの ID にすることができます。

Required: Yes

Type: String

更新に伴う要件: 置換

IpProtocol

IP プロトコルの名前または番号です。有効な値については、AuthorizeSecurityGroupIngress の IpProtocol パラメーターを参照してください。

Required: Yes

Type: String

更新に伴う要件: 置換

ToPort

TCP および UDP プロトコルのポート範囲の終了、または ICMP コードです。icmp プロパティに IpProtocol を指定する場合、ワイルドカード (つまり、任意の ICMP コード) として -1 を指定できます。

Required: Yes

Type: Integer

更新に伴う要件: 置換

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

VPC セキュリティグループの例

送信元 (ソース) セキュリティグループにアウトバウンドルールを追加し、送信先 (ターゲット) セキュリティグループへのトラフィックを許可したい場合があります。この場合、ターゲットセキュリティグループにも、そのソースセキュリティグループからのトラフィックを許可するインバウンドルールが必要です。各セキュリティグループのアウトバウンドおよびインバウンドルールを指定するために Ref 関数を使用できないことに注意してください。そのようにすると、依存関係に循環が生じます。2 つのリソースが相互に依存し合うことはできません。代わりに、Egress リソースと Ingress リソースを使用してそれらのアウトバウンドルールとインバウンドルールを宣言してください。次のテンプレートスニペットにその例を示します。

JSON

Copy
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "SourceSG": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "VpcId" : "vpc-e063f789", "GroupDescription": "Sample source security group" } }, "TargetSG": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "VpcId" : "vpc-e063f789", "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

Copy
AWSTemplateFormatVersion: '2010-09-09' Resources: SourceSG: Type: AWS::EC2::SecurityGroup Properties: VpcId: vpc-e063f789 GroupDescription: Sample source security group TargetSG: Type: AWS::EC2::SecurityGroup Properties: VpcId: vpc-e063f789 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