CloudFormation でアウトバウンドをすべて許可したセキュリティグループを作成する方法を教えてください

CloudFormation でアウトバウンドをすべて許可したセキュリティグループを作成する方法を教えてください

2025.10.07

困っていた内容

すべてのアウトバウンド通信を許可するセキュリティグループを CloudFormation で作成したいです。
次のテンプレートを実行しましたが、通信が許可されません。

 MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: "hato-CloudFormation-SecurityGroup" GroupDescription: "SecurityGroup created by CloudFormation" VpcId: "vpc-123abc" SecurityGroupEgress: - IpProtocol: 0 CidrIp: '0.0.0.0/0' 

すべてのアウトバウンド通信を許可するセキュリティグループを作成するにはどうしたら良いでしょうか。

どう対応すればいいの?

IpProtocol-1を指定してください。

 MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: "hato-CloudFormation-SecurityGroup" GroupDescription: "SecurityGroup created by CloudFormation" VpcId: "vpc-123abc" SecurityGroupEgress: - IpProtocol: "-1" CidrIp: '0.0.0.0/0' 

AWS マネジメントコンソールからセキュリティグループを作成すると、デフォルトですべてのアウトバウンドトラフィックを許可するルールが設定されます。

CloudFormation で同様のセキュリティグループを作成する場合、IpProtocolで「すべて」を意味する-1を指定してください。

なお、0を指定するとプロトコル番号:0となり、HOPOPT(IPv6 Hop-by-Hop Option)プロトコルの指定となります。

CloudFormation に限らず、IaC ツールを使用する際にはご注意ください。

参考資料

IpProtocol
The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

Use -1 to specify all protocols.

IpProtocol
The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).
Use -1 to specify all protocols.

Decimal Keyword Protocol IPv6 Extension Header Reference
0 HOPOPT IPv6 Hop-by-Hop Option Y [RFC8200]

新しいセキュリティグループには、すべてのトラフィックがリソースを離れることを許可するアウトバウンドルールのみで開始されます。

この記事をシェアする

FacebookHatena blogX

関連記事