![azblob://2024/07/02/eyecatch/2024-07-02-aws-summit-2024-ipv6-000.jpg](https://prtechblogfd-crhzb5g6hkhqafdm.z01.azurefd.net/drupalimages/2024/07/02/eyecatch/2024-07-02-aws-summit-2024-ipv6-000.jpg)
初めに
先日AWS Summitに参加してきました。 今回は、AWS-20 IPv6 on AWS ~Public IPv4 アドレス削減に向けてできることできないこと~のセッションレポートになります。
IPv4の枯渇
現在、世界的にIPv4アドレス(192.0.2.1のようなもの)は不足しています。JPNICによって日本においても2011年に枯渇がアナウンスされておりIPv4アドレスを確保するためのコストが増加しています。 AWSにおいても2024 年 2 月 1 日より使用中のIPv4アドレスにも課金されるようになり、これによって使用中かどうかにかかわらずパブリックIPアドレス1つにつき月5~600円かかることになります。 AWSが値上げをするのはかなり珍しいと思うので、AWSにとってもこのIPv4アドレスの枯渇についてはかなり重く見ていることが受け取れます。
IPv6への移行
IPv4アドレスの数が2^32個なのに対してIPv6は2^128個と莫大な数があります。そのためIPv4と違って枯渇することは考えづらいです。 ただし、IPv4とIPv6では互換性がないので別のネットワークだと思って、ルートテーブルなどの設定が別途必要になってしまいます。 また、ネットワーク経路のほかにクライアントとサービス提供側のすべてが対応している必要があります。 セッション内では移行について以下の3つのユースケースが紹介されていました。
- ありがちなWeb3層システム
- オンプレ環境と閉域接続された社内システム
- 大量のIPアドレスを必要とするコンテナ
3つ目のコンテナに関しては、Podが大量に立ち上がってプライベートIPアドレスが枯渇するというシチュエーションが例示されており、そんなことが起こりえるのかと驚きました。 続いてパブリックIPv4使ってる場所ごとのコスト最適化方法です。
インターネットに向けてサービスを提供するリソース
IPv4のみに対応しているクライアントがアクセスできなくなってしまうので、IPv4を廃止するのは難しいです。 そのため、DualstackでIPv4とIPv6を共存させるのが現実的であると紹介されていました。 またIPv6とは関係ないですが、ALBを共有することでパブリックIPv4アドレスを節約するというコスト削減方法も出ていました。
内部利用リソース
IPv6通信を無償で利用できるEgress-only Internet GatewayへオフロードすることでNATゲートウェイでのデータ通信料を丸々節約することができます。 セッション内では1AZあたり120TB/月での試算を行っていたので、$ 0.062 × 122,880 GB × 2 AZ = $ 15,237.12もの削減が可能という計算になります。
IPv6対応へのチャレンジ
セッション内では以下の2つが紹介されていました。
候補1 : ALB の Dualstack 化
ALBをDualstack化すると、IPv6の通信を受け付けてターゲットにはIPv4で通信するという構成にすることが可能です。 この方法をとることで変更を最小限にすることができます。
候補2 : アウトバウンド通信の IPv6 対応
こちらは先ほど試算されていた方法になります。 アウトバウンド通信について、NATゲートウェイではなくEgress-only Internet gatewayにオフロードする方法です。 この方法ではアプリケーションのサーバをDualstack化する必要があるため影響範囲が大きくなってしまいますが、その分コスト削減効果も大きくなります。
より詳しい情報元として IPv6 on AWS ホワイトペーパー やIPv6 on AWS リファレンスアーキテクチャ も紹介されていました。
最後に
このセッションではIPv4からIPv6への移行について主に話されていましたが、NATゲートウェイの費用が予想以上に高額であったので、もし個人的に使うサービスをAWSで作るなら初めからIPv6オンリー対応で作るのもいいかなと思いました。