初めに
こんにちは
クラウドセントリックのキムです。
ご存知の通り、AWSは2024年2月から1つのパブリックIPv4アドレスの利用に対して$3.7/月を請求することになりました。
IPv4はNAT Gateway、EC2、ELB、VPNなどさまざまなサービスで利用されていますので、予期しないコストがかなり発生する可能性があります。
このことがIPv6の導入のきっかけになるのではないかと思います。長期的に考えると、IPv6の利点がより大きくなり、IPv4の制約も増えていくのではないでしょうか。
この記事では、AWS Summitの「IPv6 on AWS ~Public IPv4 アドレス削減に向けてできることできないこと~」というセッションで学んだ内容をご紹介します。
目次
1. IPv4、IPv6の話
2. AWSにおけるIPv6の使い方
3. まとめ
1. IPv4、IPv6の話
1-1 IPアドレスとは
IPアドレスに関する簡単な説明をしますね。
IPアドレスは、ネットワーク上のデバイスを識別するために使用されるものです。
現在、主に使用されているIPアドレスの種類には大きく分けて、IPv4とIPv6の2つがあります。
IPv4は現在でも広く使用されていますが、インターネットやスマートデバイスの普及により、アドレスが枯渇するという問題がありました。その解決策としてIPv6が登場しました。
ただし、IPv4からIPv6への移行や互換性の問題などがあり、まだまだIPv4が広く使われています。
IPv4(Version 4)
・アドレス形式 : 192.168.0.1 (32bit、10進数)
・利用可能なアドレス数:約43億個
IPv6(Version 6)
・アドレス形式 : 2001:0db8:85a3:0000:0000:8a2e:0370:7334 (128bit、16進数)
・利用可能なアドレス数:約340澗(かん)個 (43億 x 43億 x 43億 x 43億)
IPv4の43億個のアドレスが1つの砂粒に相当するとすると、IPv6のアドレスは地球上にあるすべての砂粒を超えるほどの数になります。
これほど多くのIPアドレスがあるので、枯渇することなく安心して使えますね。
1-2 AWSのIPv4の料金ポリシー変更

参考 パブリックIP販売サイト<https://auctions.ipv4.global/prior-sales>
上のグラフは、パブリックIPv4アドレスの価格の変遷を示しています。
枯渇により価格が急上昇したことが明らかです。
そのため、AWSもパブリックIPv4の使用に関する新しい方針を導入することになりました。
パブリック IP アドレスのタイプ | 料金 (2024年2月1日より適用) |
AWS提供するパブリックIPv4アドレスおよびElastic IP アドレス | $0.005/h |
1つのIPアドレスにつき、月額約530円となります。(145円/$)
AWSを小規模に利用している方はそれほど大きな金額ではないかもしれませんが、大規模に利用している場合はかなりの負担になるかもしれませんね。
これからはパブリックIPv4の利用やコスト管理をより計画的に行う必要がありますね。
ただ、RDSやEC2、ELB、ECSなど、パブリックIPを使用しているサービスは多く、それぞれを確認するのはかなり大変だと思います。
AWSはこの問題を解決するためのサービスも提供しています。
1-3 Public IP Insights

1-4 AWSのIPv6対応サービス一覧
iOSアプリケーションやスマートフォンのIPv6対応が義務化されたことで、IPv6の普及率が徐々に上がってきました。
現在、約46%ですね。(2024年9月基準)

参考 グーグル<https://www.google.co.jp/ipv6/statistics.html>
AWSもIPv6の利用を推奨しており、IPv6をサポートするサービスを徐々に増やしています。

参考 AWS<IPv6 をサポートする AWS サービス – Amazon Virtual Private Cloud>
また、DualstackやIPv6 only環境に関するリファレンスも提供しておりますので、IPv6への移行をお考えの方は、これを参考にされることをお勧めします。

2.AWSにおけるIPv6の使い方
2つのユースケースを通じて、AWSにおけるIPv6の使い方やメリットを紹介します。
2-1 大量にIPアドレスを利用するユースケース
コンテナサービスを利用する際には、Amazon ECSやAmazon EKSなどがよく使われています。各コンテナにはプライベートアドレスが割り当てられますが、大量のコンテナを起動するとプライベートIPv4のアドレスでも枯渇する問題があります。
IPv4/24 → 256アドレスを利用可能
約250個のコンテナを起動した場合は、IPアドレスが枯渇し、追加のコンテナが起動できません

IPv6を利用することでこの心配がなくなります。
IPv6/64 → 18,446,744,073,709,551,616アドレスを利用可能

2-2 NAT Gatewayが不要になる
NAT Gatewayは、プライベートサブネットにあるEC2インスタンスがインターネットにアクセスする時に、プライベートIPv4 アドレスをパブリックIPv4アドレスに変換するサービスです。
EC2に対してIPv6を利用すると、NAT Gatewayの代わりに、無料で利用できるEgress-only Internet Gatewayを通じてインターネットへアクセスできるようになります。
そのためNAT Gatewayを使用する必要がなくなり、それに伴うコストを削減することができます。

IPv6で通信する際の重要な注意事項があります。
IPv6とIPv4は互換性がないため、お互いに直接通信することができません。つまり、右側の図のようにIPv6のみの環境ではIPv4との通信ができなくなります。
2-3.DualStackの構成
現在、IPv4のアドレスが一般的に使用されているため、IPv6のみの構成にするのはまだ難しいと考えられます。
そこで、DualStack(IPv4 + IPv6)の構成をお勧めします。

NAT GatewayとEgress-only IGWを両方用意し、IPv4の通信にはNAT Gatewayを利用し、IPv6の通信にはEgress-only IGWを使用することで、NAT Gatewayの処理コストを削減することができます。
最後にもう1つ注意点があります。IPv4とIPv6は異なるネットワーク環境であるため、それぞれの設計、管理、運用が必要です。
3.まとめ
今回聴講したセッションから学んだ内容を簡潔に整理してみます。
1.IPv4の枯渇により、AWSの料金ポリシーが変更されパブリックIPv4アドレスの利用が有料化されました。
2.AWSはIPv6に対応するサービスを拡充し、IPv6への移行に関するリファレンスを提供しています。
3.IPv6のユースケースを通じて、IPv6利用のメリットや注意点を学びました。
IPv6を利用すると、Egress-only IGWを通じて直接インターネットにアクセスできるため、NAT Gatewayの費用(データ処理)が不要です。これにより、サービス提供者としてはIPv6が選択肢ではなく必須になると考えられます。
また、パブリックIPv4の価格が上昇している状況なので、IPv6対応がますます必要になると予測されます。
今後はDualStack化を進め、IPv6に対応した環境を整備していきましょう!