こんばんは。Koderaです。
IPAMを使用した VPC およびサブネットのプライベート IPv6 アドレス指定がGAになりました。
https://aws.amazon.com/about-aws/whats-new/2024/08/aws-private-ipv6-addressing-vpcs-subnets/
AWSでのIPv6アドレスについて
AWS は、パブリック IP アドレスを AWS からインターネット上でアドバタイズされるものとして定義します。
ここで「Advertise」はネットワーク上で制御情報などを広く告知する機能や挙動などを意味します。
一方、プライベート IP アドレスは AWS からインターネット上でアドバタイズされず、アドバタイズをすることはできないです。
VPC に関連付けることができるのは以下の3パターンです。
・プライベート IPv6 アドレスのみ
・パブリック IPv6 アドレスのみ
・プライベートとパブリックの両方の IPv6 アドレス
プライベートIPアドレスに戻ると、アドバタイズされない?というだけでは少し分かりにくいですよね。
AWS のプライベートIPv6アドレスには、ローカル通信を目的とした ULA と、プロトコル定義に従ってグローバルにルーティング可能なプライベート GUA を含めることができます。
AWSでのIPv6アドレスはプライベートIPv6アドレスを含めて合計4つに分かれます。
Amazon-provided IPv6 prefixes
Amazon が提供する IPv6 プレフィックスです。
パブリックでグローバルに一意であり、GUA IPv6 の Amazon プールから割り当てられ、インターネット レジストリによって割り当てられます。Amazonから提供されるIPv6アドレスは常にAWSからインターネット上でアドバタイズされ、アドバタイズステータスを制御したり変更したりすることはできません。
BYOIPv6 prefixes
Bring Your Own IPv6 (BYOIPv6) を使用すると、IPv6アドレス空間をAWSにインポートできます。
BYOIPv6 を使用することで、プレフィックスのアドバタイズメント ステータスを制御できます。BYOIPv6 プールは、公的にと非パブリックの両方でアドバタイズすることができます。
パブリックにアドバタイズ可能なプールでプロビジョニングされる BYOIPv6 プレフィックスは、/48 以上の必要あり。構成時にアドバタイズするつもりがない場合でも、RDAP (登録データ アクセス プロトコル) および ROA (ルート発信元認証) プロセスを受ける必要があります。
一方の非パブリックな BYOIPv6 プレフィックスは /60 以上の必要あり。ROA は必要ありませんが、RDAP プロセスが必要です。AWSで利用される際に一度非パブリックだと判定されると、次にパブリックに変更ができないとなっています。
Private IPv6 GUA
AWS では、IPv6 GUA を、インターネット上でアドバタイズされず、アドバタイズすることもできないプライベート IPv6 アドレスとして使用できます。
GUAとは、グローバルユニキャストアドレスを意味します。最も一般的なアドレス種別とされています。
RDAP プロセスや ROA プロセスを実行する必要なく、プライベート IPv6 GUA を構成できます。注意点としては、IPv6 アドレス指定がインターネット上の他のエンドポイントや他の AWS ユーザーと重複しないように、地域インターネット レジストリ (RIR) によって割り当てられた IPv6 GUA アドレスのみをプライベートGUAとして利用するというところでしょうか。
また、AWSで直接インターネット接続する要件が出てきた場合、パブリック IPv6 アドレスを使用して VPC を再作成する必要があるので、どのアドレス体系を選ぶべきか?というのも大きなポイントになりそうですね。
IPv6 ULA
IPv6 ULA アドレスは RFC 4193 で定義されています。
RFC では fd00::/8 をローカルに割り当てられた ULA アドレス空間として定義します。元々インターネット上で公開できないためプライベートな空間です。
ULAとは、ユニークローカルアドレスで、IPv6ユニキャストアドレスが定義されました。完全な一意性は保証されないですが、いつでも皆、利用可能なアドレスです。
Amazon が提供する ULA プレフィックスは、デフォルトでは /48 です。特定の ULA プレフィックスが必要な場合は、Amazon VPC IPAM プールに直接プロビジョニングできます。
ULAを使う場合の注意点は、デュアル スタック環境でのプロトコル選択の優先順位を考慮する必要があります。
現在、RFC 6724 に従って、ULA よりも IPv4 アドレスが優先されてしまう仕様になっています。アドレス重複が発生してしまうことを回避するために、どのようなアドレス体系で利用するのか事前の綿密な計画が必要なようです。
VPC に関連付けられた IPv6 アドレスのアドバタイズステータスを識別しやすくするために、AWS は VPC IPv6 CIDR の新しいattributeが定義されています。
アップデート内容
VPC とサブネットのプライベート IPv6 アドレス指定が、すべての AWS 商用リージョンと AWS GovCloud (米国) リージョンで、無料ティアとアドバンスト ティア VPC IPAM の両方で利用できるようになりました。
どのようなシーンで、どのIPアドレス体系を導入すれば良いのかは別途、考えてみたいなーと思います。