![[アップデート] Amazon VPC IPAM(IP Address Manager)に追加されたプレフィックスリストリゾルバーを使ってマネージドプレフィックスリストのエントリ管理を自動化できるようになりました](https://images.ctfassets.net/ct0aopd36mqt/6WDF8DnUY0lRO6CiIHDszj/395fdc3b14a82a82ca9f794ee9494118/amazon-vpc.webp?w=3840&fm=webp)
[アップデート] Amazon VPC IPAM(IP Address Manager)に追加されたプレフィックスリストリゾルバーを使ってマネージドプレフィックスリストのエントリ管理を自動化できるようになりました
いわさです。
Amazon VPC ではマネージドプレフィックスリストを使って IP アドレス範囲をリストとしてまとめることができます。
このリストをセキュリティグループやルートテーブルに使用することが出来るので同じ IP アドレスを様々な場所で定義してしまう場合にメンテナンス性を高めることができます。
この IP アドレスのリストですが、カスタマーマネージドプレフィックスリストの場合はエントリを手動でメンテナンスする必要があったのですが、先日のアップデートで Amazon VPC IPAM(IP Address Manager)を使ってマネージドプレフィックスリストのエントリを自動更新できるようになりました。
VPC IPAM では特定のスコープに設定した、組織内のワークロードの IP アドレスを管理することが出来るサービスです。
VPC IPAM で検出/管理されている IP アドレスから特定条件に該当する IP アドレスをカスタマーマネージドプレフィックスリストに同期できるようになっています。
使ってみましたので紹介します。
プレフィックスリストリゾルバーを作成する
今回のアップデートで VPC IPAM に「プレフィックスリストリゾルバー」という機能が追加されています。
こちらを構成して対象の IP アドレスのエントリリストを抽出し、それをマネージドプレフィックスリストに同期するという流れになります。

なお一点注意事項ですが、このプレフィックスリストリゾルバーは VPC IPAM のアドバンストティアが必要になります。作成済みの IPAM が無料利用枠の場合は次のようにアップグレードするように案内されます。
アドバンストティアは VPC IPAM の有償プランになるので、本機能を利用する場合は VPC IPAM の料金が発生するという点を覚えておきましょう。

アドバンストティアの IPAM が存在する場合は次のようにプレフィックスリストリゾルバーが作成できると思います。

名前とアドレスファミリー(IPv4/IPv6)を選択する基本部分と、ルールを構成するメインの部分でウィザードは構成されています。
基本部分は適当に設定しました。

こちらがメインのルール構成部分です。ここでリゾルバーにどういう IP アドレスを検出させるかルールを設定します。

ルールは静的 CIDR か、IPAM のプールか検出リソースの3つのタイプから選択できます。

それぞれのルールタイプで設定できる条件は違っています。詳細は以下の公式ドキュメントも確認しましょう。
今回 IPAM 検出リソースの中から設定しました。
このルールタイプの場合は IPAM スコープも指定します。今回は作成した VPC の IP を自動同期させてみたかったのでプライベートスコープを指定しました。

リソースタイプとして VPC かサブネットを指定できます。後述のルールで同期条件(特定のサブネットは除外する、等)を設定できるので細かい粒度で選択させたい場合はサブネットを選択するのが良さそうです。

リソースタイプの次はより詳細な条件を設定できます。
例えばタグで対象 VPC やサブネットをフィルタリングしたり、リージョンやアカウントを指定したり、CIDR 条件も設定できます。

このルールを複数設定して、これでプレフィックスリストリゾルバーの作成は完了です。

プレフィックスリストリゾルバーで検出されたエントリを確認してみる
プレフィックスリストリゾルバーの作成は数秒で完了しました。
リソースを選択して詳細情報を確認してみましょう。

先程設定したリソースの確認や編集も出来るのですが、一番注目したいのはバージョンタブです。
ワークロード環境に変更が発生した時に IPAM 検出リソースの IP アドレス群が更新されますが、そのタイミングでプレフィックスリストリゾルバーのエントリはバージョン管理されながら更新されます。

先程プレフィックスリストリゾルバーを作成したタイミングでバージョン1が作成されていますね。
今回の IPAM リソースではデフォルト VPC やサブネットが検出されていたので、その CIDR がエントリとして追加されています。
同期先のターゲットを設定する
この時点ではまだプレフィックスリストは自動更新されていません。
ここからこのプレフィックスリストリゾルバーからの同期先を設定する必要があります。
ターゲットタブを選択し、新しいターゲットを作成しましょう。

なお、。事前にカスタマープレフィックスリストを作成してありまして、手動で適当な CIDR を追加済みです。

プレフィックスリストリゾルバーのターゲット作成画面ではこのカスタマーマネージドプレフィックリストを選択します。
また、プレフィックスリストリゾルバーでは先程バージョンの概念があることを確認しましたが、最新バージョンを常に自動で同期するか、それともバージョンを固定して同期するかを選択できます。

ワークロードに新しい CIDR が追加されたり削除されたときに自動で同期したいか、それとも変更されたタイミングで管理者が承認してから同期したいかによってどちらかを選ぶと良いみたいです。
今回はまずは「Always track latest version」を選択しました。
設定後はこんな感じ。

そしてしばらく待機していると、カスタマープレフィックスリストにのエントリが更新されていることを確認しました。
カスタマープレフィックスリストの詳細エリアには新しい情報「IPAM prefix list resolver target ID」と「IPAM prefix list resolver sync enabled」が表示されていますね。
また、自動検出された CIDR は同期されていますが、カスタマーマネージドプレフィックスリストに手動で設定した CIDR については上書きされて消えてしまっていますね。このあたりは注意したい。

バージョンを指定した同期した場合は次のようにプレフィックスリストリゾルバー側で指定バージョンを確認できます。

新しい VPC CIDR を追加してみます。

VPC IPAM 上で新しいリソース検出を確認しました。

プレフィックスリストリゾルバー側では新しいバージョンが作成されており、ルールに一致する場合は管理エントリとして追加されていました。

バージョン固定している場合はターゲット編集して指定バージョンを更新してやる感じですね。
ターゲットタブからターゲットを選択して「Edit target」で編集します。

ここで新しいバージョンを選択しなおしましょう。

カスタマープレフィックスリスト側も同期されていることが確認できました。自動更新であればこの手動でバージョン更新する必要がない感じですね。

ターゲットの解除をしてみる
こちら自動同期を解除した時、どのような挙動となるのでしょうか。確認してみましょう。
ターゲットタブからターゲットの削除を行います。


カスタマープレフィックスリストですが、VPC IPAM との同期ステータスは表示されなくなりました。
しかし、同期済みのエントリについてはそのまま残っています。

以前のバージョンに自動復元されるわけではないのでこの挙動も知っておきましょう。
なお、カスタマーマネージドプレフィックスリストはバージョンされており、アクションメニューから過去バージョンに復元もできますので、必要に応じて自動同期前に戻したい場合などは使ってみてください。
さいごに
本日は Amazon VPC IPAM(IP Address Manager)に追加されたプレフィックスリストリゾルバーを使ってマネージドプレフィックスリストのエントリ管理を自動化できるようになったので使ってみました。
アドバンストティアが必要になってしまいますが、かなり細かい条件を設定して自動同期できるので中々良さそうです。
今回プライベートスコープで試しましたけど、パブリックスコープも指定出来るのが良いですね。







