AWS::EC2::SecurityGroupEgress - AWS CloudFormation

AWS::EC2::SecurityGroupEgress

[EC2-VPC のみ] VPC で使用する指定された出力ルールをセキュリティグループに追加します。

出力ルールにより、インスタンスは指定された送信先 IPv4 または IPv6 CIDR アドレス範囲、または同じ VPC の指定された送信先セキュリティグループにトラフィックを送信できます。

各ルールのプロトコルを指定します (たとえば、TCP)。TCP および UDP プロトコルの場合、送信先ポートまたはポート範囲も指定する必要があります。ICMP プロトコルの場合、ICMP タイプおよびコードも指定する必要があります。タイプまたはコードに -1 を使用して、すべてのタイプまたはすべてのコードを意味するようにできます。

ルールの変更は、可能な限り迅速に影響を受けるインスタンスに反映されます。ただし、わずかな遅延が発生する場合があります。

VPC セキュリティグループの制限の詳細については、「Amazon VPC 制限」を参照してください。

AWS::EC2::SecurityGroupIngressAWS::EC2::SecurityGroupEgress は、通常、Ingress ルールと Egress ルールの中でセキュリティグループが相互に参照できるようにするために必要な場合にのみ使用します。それ以外の場合、セキュリティグループの埋め込み Ingress ルールと Egress ルールを使用します。詳細については、「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 範囲。

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

必須: いいえ

タイプ: 文字列

Update requires: Replacement

CidrIpv6

IPv6 範囲。

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

必須: いいえ

タイプ: 文字列

Update requires: Replacement

Description

Egress (送信) セキュリティグループルールの説明。

必須: いいえ

タイプ: 文字列

Update requires: No interruption

DestinationPrefixListId

[EC2-VPC のみ] AWS サービスのプレフィックスリスト ID。これは、セキュリティグループに関連付けられたインスタンスから VPC エンドポイントを介してアクセスする AWS サービスです。

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

必須: いいえ

タイプ: 文字列

Update requires: Replacement

DestinationSecurityGroupId

セキュリティグループの ID.

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

必須: いいえ

タイプ: 文字列

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 を使用してすべてのプロトコルを指定します。セキュリティグループルールを許可するときに、-1、またはtcpudpicmp、または icmpv6 以外のプロトコル番号を指定すると、指定したポート範囲に関係なく、すべてのポートでトラフィックが許可されます。tcpudp、および icmp には、ポート範囲を指定する必要があります。icmpv6 では、、ポート範囲はオプションです。ポート範囲を省略すると、すべてのタイプとコードのトラフィックが許可されます。

必須: はい

タイプ: 文字列

Update requires: Replacement

ToPort

TCP および UDP プロトコルのポート範囲の終了番号、または ICMP/ICMPv6 コード。-1 の値はすべての ICMP/ICMPv 6 コードを示しています。すべての ICMP/ICMPv6 タイプを指定した場合、すべてのコードを指定する必要があります。

必須: いいえ

タイプ: 整数

Update requires: Replacement

戻り値

参照番号

セキュリティ Egress ルールの名前このリソースの論理 ID を組み込みの Ref 関数に渡すと、Ref は次を返します: 。

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

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

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

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