はじめに
セキュリティグループに設定可能なルールの上限数について、
ざっくりとした認識だけを持っておりました。
- 1つのEC2にセキュリティグループ5個まで
- 1つのセキュリティグループにルール50個まで
- 両者を乗算した数が250を超えてはいけない
ここで、こんなことをしたいなーとなった時に、実現できるのか気になったため確認しました。
- 1つのEC2インスタンスに下記3個のセキュリティグループをアタッチ
- セキュリティグループ1:ルール数 10個
- セキュリティグループ2:ルール数 10個
- セキュリティグループ3:ルール数 230個
追記
- この記事では単に「セキュリティグループ」と書いてしまいましたが、正確には「EC2-VPC用のセキュリティグループ」です。
- 上限数は将来的に変更される可能性もあるので、都度最新の情報を参照してください。
ドキュメントを確認する
今回の肝になる項目
- ①セキュリティグループ当たりのインバウンドルールまたはアウトバウンドルールの数
- ②ネットワークインターフェイス当たりのセキュリティグループ
肝にはならないけど個人的に「そうかぁ」と思った項目
- 「ルール数」はインバウンド/アウトバウンドそれぞれに適用される
- つまり①が「50」だったら、イン/アウトそれぞれ50まで設定可能であり、「合わせて50」ではない
- 「EC2インスタンスあたり」ではなく「ネットワークインターフェースあたり」である
- 複数ENIをアタッチするケースでは上限の考え方が少し変わるということですね
- 上限緩和の単位はリージョン
- 個別のセキュリティグループに対してのみの緩和はできない
ドキュメントの読み取り方に悩む
要は制限における対象が「上限値」なのか「実際の設定数」なのかという部分です。
セキュリティグループあたりのインバウンドまたはアウトバウンドルールの制限数とネットワークインターフェイスあたりのセキュリティグループの制限数を乗算した値は 250 を超えることができません。
「①×②が250を超えてはいけないという意味だな。」
(対象は「上限値」だな)
たとえば、制限を 100 個まで増やす場合は、ネットワークインターフェイスあたりのセキュリティグループの数を 2 に減らします。
「”ネットワークインターフェイスあたりのセキュリティグループの数”って言うのはどっちの話だ!!??」
(②そのものを2にする必要はなくて、実際にアタッチする個数が2になるよう気をつければ良かったりするのか!!??)
サポートに聞いてみる
聞いてみました。
A.「上限値」です。
上限値でした。
記事を書く上で改めて確認すると「そうとしか読み取れないだろ」と思わなくもないですが、上限値でした。
つまり
①を「100」に上限緩和したい場合は、同時に②を「2」に引き下げる申請が必要とのことです。
「はじめに」で想定していたケースでは、①を(少なくとも230まで)引き上げる時点で、②を「1」まで引き下げなくてはいけないので、実現不可でした。
おわりに
残念ながら想定していた設定の仕方はできませんでした。
250という数字が多いのか少ないのか、というときっと「多い」のでしょうね。
同じ「送信元/先IP」でも「ポート」や「プロトコル」を細かく設定すればルール数はその分かさんでいきますし、逆に「ポート」が同一でも「送信元/先IP」を/32といった細かい数字で設定すればルール数は多くなります。
そこらへんはある程度合算した値で設定して、細かい部分のセキュリティの担保は他のサービスを組み合わせたりして別途検討してね~というのがAWS(ないしクラウド)の思想なのかな、と個人的に思いました。
#ご意見ありましたらコメントいただけると幸いです!
以上です。