目次
はじめに
こんにちは、omkです。
段々冷房設備が忙しい季節が近づいてまいりましたが今年の夏はどうなるでしょうか……
さて、少し今更な内容ですが今回はマネージドプレフィックスリストを使ってセキュリティグループのソース指定を楽にする方法を記します。
知っているのといないのとで大違い!というものでもないですが上手く使えると便利な内容になっています。
マネージドプレフィックスリストとは
マネージドプレフィックスリストは2020年の7月に公開された、IPv4またはIPv6のCIDRブロックをリスト化できるAWSのサービスです。セキュリティグループやルートテーブルで利用できます。
今回利用するのは↓のカスタマーマネージドプレフィックスリストのことですね。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/managed-prefix-lists.html
例えばセキュリティグループで接続元拠点を絞る際に、従来は複数のプロトコルに対して複数の拠点IPを指定して、設定する項目数が「プロトコル数×拠点数」になることがありました。
この例では5つの拠点からSSHとHTTPを許可した場合、10個のルールを指定することになります。10個くらいなら大したことは無いですが、CDNのエッジサーバのIPからHTTPとHTTPSでのアクセスを許可したときはかなり大変な思いをしました。
ここで活用したいのがマネージドプレフィックスリストです。
必要なIPをリスト化することでセキュリティグループでの重複したIPの設定を省略できます。
HTTP IP1
HTTP IP2
HTTP IP3
HTTP IP4
HTTP IP5
SSH IP1
SSH IP2
SSH IP3
SSH IP4
SSH IP5
としていたのを
拠点リスト IP1、IP2、IP3、IP4、IP5
HTTP 拠点リスト
SSH 拠点リスト
とできます。
また、本番環境とテスト環境のように同じセキュリティグループが必要な場合においてVPCが違えばセキュリティグループは作り直す必要があります。
このときマネージドプレフィックスリストを使用していれば同じリストを使用することが可能であり、IPの変更作業も容易になります。
設定方法
リスト作成
マネージドプレフィックスリストはVPCコンソールから作成できます。
ナビゲーションペインから「マネージドプレフィックスリスト」を選択します。
「プレフィックスリストを作成」から新規でリストを作成します。
「最大エントリ」はリストで設定できるIP/CIDRブロックの最大数です。リスト作成後に最大数を変更することはできませんが大きく取っておけばよいというわけでもないので注意です。詳細は後ほど。
「プレフィックスリストのエントリ」は実際に設定するIP/CIDRブロックの内容です。先ほどの例でいうところの拠点IPをここで設定します。
(ブログ用に0.0.0.0としています)
その他必要な情報を入力して「プレフィックスリストを作成」を選択してリストを作ります。
作成されたリストの「プレフィックスリストID」を後ほど使うのでコピーしておきます。
セキュリティグループ設定
次にセキュリティグループを設定します。
インバウンドルール・アウトバウンドルールのソース・送信先のそれぞれにリストを指定することが可能です。
「pl-」から始まるプレフィックスリストIDをここで指定します。
これでセキュリティグループで指定したトラフィックに対してリストで設定したIPが許可されます。
注意点
セキュリティグループでマネージドプレフィックスリストを使用する際に注意するべき点として、セキュリティグループで設定できるルール数に制限がある点が挙げられます。
詳細は以下。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/increase-security-group-rule-limit/
デフォルトではENI1つあたりセキュリティグループ5つ、セキュリティグループ1つあたり60ルールという制限があります。
これはサービスクォータで上限を上げられますが、ENIに設定されるルールが1000以下になるように設定する必要があります(ENIあたりのSG数 * SGあたりのルール数 <= 1000)。
このとき注意が必要なのはセキュリティグループあたりのルール数です。
実際にリストに設定したIP/CIDRブロックの数に関わらず、セキュリティグループではリストに設定した最大エントリ数がルール数として計上されます。
例として最大エントリを10で設定したリストの場合、HTTPとSSHのソースにこのリストを指定するとそれぞれ10ルール、合計20ルール消費されます。
リストに設定した最大エントリ数がセキュリティグループに設定できるルール数の上限を超える場合や、他のルールも設定していて合計が上限を超える場合は設定が適用されません。
大きなリストを設定する場合はセキュリティグループあたりのルール数の上限を上げる(場合によってはENIあたりのセキュリティグループ数を下げる)必要があります。
つまりは、あまり必要以上のエントリを許容できるようにはしない方が良いという話でした。
まとめ
以上、マネージドプレフィックスリストを利用してセキュリティグループの設定を楽にする方法の解説でした。
最適なエントリ数を設定して快適なIP制限を行いましょう。
アーキテクト課のomkです。
AWSについて雑多に取り組んだ内容を発信しています!!