マネージドプレフィックスリストにIPアドレスをあらかじめ設定、セキュリティグループで利用してみた
こんにちは、コンサル部@大阪オフィスのTodaです。
外部サービスに接続するためセキュリティグループに複数のIPアドレスを許可をするようにしていますが、 もっと簡単にメンテナンスしやすくできないか考えているときに「マネージドプレフィックスリスト」を使ってみては??と助言頂きましたので実際に利用してみました。
マネージドプレフィックスリストとは?
2020年06月に利用可能になった機能で IPv4 または IPv6 アドレス範囲をあらかじめ設定しておき、セキュリティグループのルールやサブネットルートテーブルのエントリなどで参照することができます。
詳細の機能については下記記事をご覧ください。
やりたいこと
- 監視サービスMackerelのホストIPをプレフィックスリストに登録する。
- 上記プレフィックスリストを利用して443ポートのアウトバウンド通信を許可する。
- 複数のVPCにあるセキュリティグループで利用してメンテナンスしやすいようにする。
前提条件
- MackerelのホストIPは2020年11月12日時点掲載の情報を利用する。
- 通信を許可したいEC2はセキュリティグループにて443ポートが許可されていない。
実際やってみる
プレフィックスリストの作成
MackerelのホストIPをあらかじめ登録するためプレフィックスリストを作成します。
AWSマネージメントコンソール上からサービス > VPCを選択します。
左メニューからマネージドプレフィックスリストを選択します。
一覧表示上部の[プレフィックスリスト作成]をクリックします。
設定の入力
リスト名と、最大エントリ数、登録するIPアドレスをCIDR表記にて入力します。
最大エントリ数は登録後、変更できませんのでホスト数が増えることを考え多めに設定しています。
設定入力後、画面下の[プレフィックスリストを作成]をクリックします。
MackerelのホストIPは下記ページを参考に設定しています。
MackerelがホストされているIPアドレスとポート番号を教えて下さい
設定の保存
プレフィックスリストが登録されて設定されているIPアドレス等が表示されます。
プレフィックスリストは他のAWSアカウントと共有する事も可能です。
上記、作成ができたらEC2に設定されているセキュリティグループに追加設定するか新しくセキュリティグループを作成して対象インスタンスにアタッチおこないます。
今回は既存のセキュリティグループに追加設定します。
セキュリティグループ変更
左メニューからセキュリティグループを選択します。 対象のEC2が設定しているものを選択して[アウトバウンドルールの編集]をクリックします。
変更内容を設定
HTTPSの通信を許可するためルールの追加をおこない、 上記で作成したプレフィックスリストを指定します。
変更を保存
ルールの保存を行います。 プレフィックスリストが指定されたルールが追加されました。
メンテナンスについて
プレフィックスリストを複数のセキュリティグループに設定しました。
もし設定しているIPアドレスで変更が必要になった場合は、対象のプレフィックスリスト詳細を開き[プレフィックスリストの変更]から内容を修正することで参照しているセキュリティグループ全てに内容が反映されるようになります。
Cloud Formation(YAML)
今回作成したプレフィックスリストを簡単に作成できるようにCFnを用意しました。
登録されているIPアドレスは2020年11月12日時点のMackerelホストのIPとなっております。
MackerelのホストIPは下記ページを参考に設定しています。
MackerelがホストされているIPアドレスとポート番号を教えて下さい
AWSTemplateFormatVersion: '2010-09-09' Description: "Set Mackerel IP in the PrefixList" Parameters: PrefixListName: Default: pl-mackerel Type: String Resources: # ------------------------------------------ # # PrefixList # ------------------------------------------ # # Create PrefixList PrefixList: Type: AWS::EC2::PrefixList Properties: PrefixListName: !Ref PrefixListName AddressFamily: "IPv4" MaxEntries: 20 Entries: - Cidr: "13.113.31.156/32" Description: "mackerel host ip" - Cidr: "54.92.89.142/32" Description: "mackerel host ip" - Cidr: "52.196.35.56/32" Description: "mackerel host ip" - Cidr: "52.69.239.167/32" Description: "mackerel host ip" - Cidr: "52.198.226.45/32" Description: "mackerel host ip" - Cidr: "52.198.218.152/32" Description: "mackerel host ip" - Cidr: "13.113.245.173/32" Description: "mackerel host ip" - Cidr: "52.199.207.168/32" Description: "mackerel host ip" - Cidr: "52.193.231.228/32" Description: "mackerel host ip" Tags: - Key: "Name" Value: !Ref PrefixListName
さいごに
マネージドプレフィックスリストを使ってIPアドレスの設定をおこないセキュリティグループで利用してみました。
設定箇所をまとめることで工数や注意して対応する回数が減るため大変うれしい機能だと感じました。
他にも利用用途がございますので別記事でご案内したいと思います。