CTO統括室の黒崎(@kuro_m88)です。
つい最近AWSからIPv4の料金体系の変更が発表されました。
新着情報 – パブリック IPv4 アドレスの利用に対する新しい料金体系を発表 / Amazon VPC IP Address Manager が Public IP Insights の提供を開始
AWSのパブリックIPv4アドレスの料金体系の変更後の影響、コスト削減のための対応策の検討、サイバーエージェントグループにおけるIPv6の推進活動についてご紹介いたします。
変わること
今までは
VPC 内のリソース、Amazon Global Accelerator、AWS Site-to-Site VPN トンネルに割り当てられた、使用中のパブリック IPv4 アドレス(AWSが提供するパブリック IPv4 アドレスおよび Elastic IP アドレスを含む)
という条件であれば、パブリックIPv4アドレスを利用しても料金は発生しませんでした。
利用中のAWS提供のパブリックIPv4アドレスに関しては無料、利用せずに割り当てだけ確保している状況は有償でした。
2024年2月以降は、これが利用中かどうかに関わらず課金されることになります。
費用としては $0.005/Hour x 24時間 x 30日 = $3.6/月, 1ドル140円と仮定すると約500円/月です。
今まで無償だったために数百〜数万台単位でEC2インスタンスにパブリックIPv4アドレスを割り当てている環境はもちろん、東京リージョンにてEC2のt3.nanoにパブリックIPv4アドレスを割り当てている場合はインスタンスの料金と合わせると単価が約1.7倍となるため、環境によっては見過ごせないくらいのコスト影響がありそうです。
なぜ料金体系が変更されたのか?
冒頭引用したAWSの記事によると
IPv4 アドレスはますます希少な資源となっており、パブリック IPv4 アドレスを取得するためのコストは、過去 5 年間で 300% 以上上昇しています。この新しい料金体系の導入は、私たち自身のコストを反映したものであり、また、パブリック IPv4 アドレスの使用を節約し、モダナイゼーションおよび IPv4 アドレスの保全策として IPv6 の採用を奨励することを意図しています。
とあり、
- IPv4アドレスの取得コストの高騰
- IPv6アドレスの採用の奨励する
2つの要因があるようです。
IPv4アドレスの取得コストの高騰
Amazonは2018年に3.0.0.0/8を取得したそうで、IPv4アドレスの第一オクテットが3で始まるものは全てAmazonのものになります。とてもわかりやすいので今でも覚えています。
3.0.0.0/8がAmazonに
2019年には 44.192.0.0/10 を取得しているようで、Amazonはかなり大きなブロック単位でIPv4アドレスの調達をしてきたことがわかります。
https://whois.arin.net/rest/net/NET-44-192-0-0-1.html
IPv4 アドレスはますます希少な資源となっており、パブリック IPv4 アドレスを取得するためのコストは、過去 5 年間で 300% 以上上昇しています。
と書かれているように、IPv4アドレスの取得コストは急速に上昇しているようです。
Amazonがインターネットに広報しているIPv4アドレスは他にも大量にあることがわかりますが、AWSの規模拡大に伴ってそれでも保有しているアドレスの在庫が足らなくなることが予想され、今回の料金体系の変更が行なったのかもしれません。
AS16509 Amazon.com, Inc. – bgp.he.net
IPv4アドレスの在庫はとっくに枯渇している
引き続き調達を続ければIPv4アドレスの利用を拡大し続けられるのかというと、そうではありません。
JPNICによるとグローバルのIPv4アドレスの未割り当てなアドレスの在庫は2011年に枯渇しています。
IPv4アドレスは仕様上32bitのアドレス空間しか持ち合わせておらず、拡張もできないため、これ以上の供給は不可能です。
現在の新規割り当ては地域ごとに割り振られているブロックを切り崩したり、返却されたアドレスブロックを再利用することでまかなわれています。
JPNICの管轄地域である日本ではAPNICから割り当てを受けており、1組織あたり /23(512個) が上限となっています。
自社利用であれば /23 があれば需要を満たすことができるかもしれませんが、ある程度大きなサービスやパブリッククラウドのようなサービスを提供する場合はこの規模では明らかに不足します。
APNICの 「/8相当の最後のIPv4未割り振り在庫」も本日時点で残り0.3%となっています。
IPv4 exhaustion – APNIC
新規割り当て以外のパブリックIPv4アドレスの調達方法として、既存でIPv4アドレスを保有している組織からの譲渡(売買を含む)があります。
AWSの記事でパブリックIPv4アドレスの取得コストが上昇していると書かれているのは、この譲渡によるコストのことを示していると思われます。
また、限られた資源であるところのパブリックIPv4アドレスの売買が過度に加速すると価格はどんどん上昇し、新しくインターネットに参入したい人々にとって障壁が高くなることが予想されます。
結果としてインターネットの健全性を損なうことにもなりかねないため、買い集めればよいという問題でもありません。
IPv4の次世代であるIPv6を積極的に利用し、IPv4への依存を減らしていく必要があります。
AWSのパブリックIPv4アドレスの課金を抑えるための対応策
現時点で考えられるパブリックIPv4アドレスの有償化に備えたコスト削減策をいくつかご紹介します。
VPCのIPv6アドレスを有効化する
一番最初に対応しておきたい項目です。
パブリックIPv4アドレスの利用量をゼロにするのはかなり難しいと思います。
しかし、将来に備えてIPv6を有効化しておき、問題なくIPv6で通信できる環境を整備しておくことは重要です。
後述するNAT GatewayはIPv6のトラフィックは通過しないため、NAT Gatewayのデータ処理量に関する費用の削減も見込めます。
セキュリティの観点からNAT Gatewayを利用していた場合は、同等の効果を得られるコンポーネントとしてEgress Only Internet Gatewayがあります。こちらに関しては追加費用は発生しません。
エグレス専用インターネットゲートウェイを使用してアウトバウンド IPv6 トラフィックを有効にする – Amazon Virtual Private Cloud
VPC内のリソースにパブリックIPv4アドレスを割り当てない
EC2にパブリックIPv4アドレスを割り当てないことです。
Cloud Frontのオリジンも現時点ではIPv4での接続しかサポートしていないため、Cloud FrontのオリジンとなるリソースはパブリックIPv4アドレスは必要になります。
Public IPv4アドレスをVPC内の個別のリソースに割り当てずにIPv4でインターネットに接続するには、NAT Gatewayを利用することになります。
NAT Gatewayは東京リージョンで1時間あたり$0.062で、1ヶ月(30日)で$44.64、冗長化のために2AZに配置すると$89.28となります。
Public IPv4アドレスが$3.6/月であることを考えると、NAT Gatewayを利用する場合はVPC内にPublic IPv4アドレスを消費するリソース(EC2インスタンス等)が25台以上常時存在する場合にコスト削減効果が得られそうです。
ただしこれはEC2インスタンスが全く通信しなかった場合の計算で、1インスタンス(1IP)あたりの通信量に関しても追加で考慮しなければなりません。
NAT Gatewayはデータ処理の料金として1GBあたり0.062USD/GBの費用が発生するため、1インスタンスあたり月間で58GB以上のVPC外との通信(In/Outの合計)が発生する場合はNAT Gatewayを利用せずにパブリックIPv4アドレスを割り当てた方がコストが安くなります。
NAT Gatewayを2AZで運用している場合は、常時25IP以上利用している場合にNAT Gatewayの利用を検討、それ以上のIP数の場合は1IPあたりの通信量によって損益分岐点が変わってくることになります。
NAT ゲートウェイ – Amazon Virtual Private Cloud
VPC Endpointを有効化する
S3やDynamoDBといったVPC内に配置されてないリソースは、同一リージョン間の通信は無料ですが、EC2等にパブリックIPv4アドレスが付与されていない場合にそのままだと通信ができません。 NAT Gatewayが設置されている環境ですと、NAT Gatewayのデータ処理の費用が発生してしまいます。
S3とDynamoDBに関しては、ゲートウェイ型のVPC Endpointが用意されており、これを有効化し利用することでパブリックIPv4アドレスを割り当てずに、もしくはNAT Gatewayを経由させずに通信することができます。
ゲートウェイエンドポイント – Amazon Virtual Private Cloud
Site-to-Site VPNでIPv6アドレスを利用する
Site-to-Site VPN用に割り当てたIPv4アドレスに関しても課金されることが発表されました。
現時点ではSite-to-Site VPNはトンネル内のトラフィックのみIPv6対応しており、トンネル外のIPアドレス(接続エンドポイント)はIPv4のみ対応しています。
そのためパブリックIPv4アドレスの課金を回避する方法はなく、AWS側のIPv6対応を待つしかなさそうです。
IPv4 および IPv6 トラフィック – AWS Site-to-Site VPN
サイバーエージェントグループにおけるIPv6アドレスの活用事例
サイバーエージェントグループでは、IPv6アドレスの活用を推進しています。
私が入社したのが2015年なのですが、入社以前の2013年時点では既にIPv6の活用は始まっていたようです。
第16回 新データセンターの内部をまるごとIPv6化 ─サイバーエージェントに聞く | gihyo.jp
2019年には、ABEMAが動画配信においてIPv6対応を発表、IPv6対応したことによる視聴体験の向上についても発表しています。
「AbemaTV」が動画配信のIPv6対応に踏み切った理由 果たして視聴品質は改善されたのか? 計測データも明らかに – INTERNET Watch
IPv6対応後のCDNでの計測では、IPv4経由での接続と比較してスループットが平均で38%改善、夜間に限定すると平均で67%改善したというデータが出ました。
こちらはIPv6のプロトコル上の性質というより、国内におけるIPv4とIPv6のインターネット接続の仕組みの差異による品質の差と推測していますが、実測のスループット上のメリットも得られました。詳しくは記事をご覧ください。
その他、
総務省のインターネットトラヒック流通効率化検討協議会
インターネットトラヒックの流通に携わる民間事業者各社が連携し、定常的な情報共有及び課題検討を行う。
一般社団法人 IPoE協議会
NTT東西が提供する「フレッツ光」によるIPv6インターネット接続機能を利用する、IPoE接続事業者を中心とした団体。日本におけるインターネットの普及拡大、IPv6の利用促進により、国民が利用しやすい環境を形成し、新しい生活と産業の具現化を目指す。
など、コンテンツ事業者の立場で国内のIPv6の活用に関しての議論や情報交換も行なっています。
あまり多く活用事例を発信できていませんが、サイバーエージェントグループではできるところから徐々にIPv6への対応を進めています。