AWSのネットワークコストは「下り課金」だけではない、節約のための3つのポイント:AWSチートシート
AWSにおけるネットワークコストの管理は、「下りトラフィックへの課金」という大まかな理解だけでは不十分です。今回は、VPCを起点としたネットワーク利用におけるコスト節約のポイントを、詳しく紹介します。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「Amazon Virtual Private Cloud」(VPC)を起点としたネットワーク転送に焦点を当て、コスト最適化のポイントを紹介します。
ポイントは下の3つです。
- ポイント1:ネットワーク通信でどの箇所に課金されるのかを把握して、最適化を行う
- ポイント2:存在しているだけで課金されるネットワークリソースを見直す
- ポイント3:パブリックIPv4アドレスへの課金に注意する
※関連サービスの最新の利用料金に関しては、公式の情報をご参照ください。
VPC利用料金
EC2利用料金(データ転送)
ポイント1:ネットワーク通信でどの箇所に課金されるかを把握して、最適化を行う
VPCでは、通信の送信元/送信先、通信の向き、そして通信のデータ量で課金がなされます。下の図はVPC内におけるサーバとインターネット間の通信の一例です。
図の通り、インターネットからサーバへのインバウンド通信では料金は発生しません。一方、サーバからインターネットへのアウトバウンド通信は課金対象です。
この他にも、下記のような通信では料金が発生します。
- 異なるアベイラビリティゾーン(AZ)間の通信のインバウンドとアウトバウンド通信の両方
- 別リージョンへのアウトバウンド通信
- VPCピアリングを経由して異なるAZと通信をした場合のインバウンドとアウトバウンド通信の両方
通信元と方向により、料金が発生するかどうかは異なります。公式の料金案内や請求書を確認して、課金対象になる不必要な通信がないかどうかを確認してみるとよいでしょう。
また、料金は基本的に、データ通信量でGB(ギガバイト)当たりとなります。Webアプリであれば、表示される画像を圧縮するなどの工夫をして、1回当たりの通信量を減らすことも試してみるとよいでしょう。
ポイント1のまとめ
- VPCの通信への課金は送信元/送信先、インバウンド/アウトバウンド、通信のデータ量によって決まる
- 不要な課金対象の通信が流れるようになっていないかどうか確認を行う
- 課金対象になる通信のデータ量が削減できないかどうか、検討してみる
ポイント2:存在しているだけで課金されるネットワークリソースを見直す
ポイント1では通信の流れと量に着目しましたが、ネットワーク関連のリソースでは、存在しているだけで課金の対象となるものがあります。
代表的な例としては、マネージドなNAT(Network Address Translation)として利用する「NATゲートウェイ」があります。参考リンクで示す通り、作成して存在するだけで料金がかかります。これに、処理データ量に応じた料金が加算されます。
公式料金表:NATゲートウェイの料金
NATゲートウェイは、処理データ量に応じた料金の単価が比較的高いです。もしプライベートサブネットにあるサーバから数個のAWSサービスと通信する必要があるのであれば、「AWS PrivateLink」(インタフェース型VPCエンドポイント)を利用した方が低コストになる可能性があります。
公式料金表:PrivateLinkの料金
また、「Amazon Simple Storage Service」(S3)や「Amazon DynamoDB」にVPCからプライベートにアクセスする場合、ゲートウェイ型のVPCエンドポイントが利用できます。こちらのタイプはPrivateLinkと異なり、エンドポイントのリソース自体には課金されずに利用できます。
存在するだけで課金される、他のネットワークリソースの例としては下記があります。
- VPCピアリング
- トランジットゲートウェイ
- VPNゲートウェイ
コスト最適化に当たっては、NATゲートウェイとVPCエンドポイントのどちらを使ってもよい場合は、双方のコストを比較し、選択に生かしましょう。VPCピアリングとトランジットゲートウェイでも同様です。コストの比較・検討を行い、適した方を選択しましょう。
また、こうしたネットワークリソースを開発環境で利用する場合、定時外の深夜や土日祝日などの時間で利用されない場合などには削除し、業務時間は再度作成するといった自動化の仕組みを作成しておくことで、コストを大きく削減できる可能性があります。
ポイント2のまとめ
- 同じユースケースでも複数の選択肢がある場合、リソース自体にかかる料金と通信データ量にかかる料金を合わせて検討し、最適な方を選択する
- 開発環境で、勤務時間外など、利用しない時間がある場合、リソースの削除と再作成を自動化することで、大幅なコスト削減ができる場合がある
ポイント3:パブリックIPv4アドレスへの課金に注意する
こちらは、比較的新しい注意点になります。
下のリンクの通り、2024年2月以降、パブリックなIPv4アドレスに対して課金される形になりました。近年のIPv4アドレスの枯渇による調達コストの上昇が理由とされています。
「パブリック IPv4 アドレスの利用に対する新しい料金体系を発表」より抜粋
これに伴い、パブリックサブネットでパブリックIPアドレスを付与したサーバが多数ある場合は、コストが大きく増大している可能性がありますので、見直しが必要でしょう。
対策として、AWSの発表には次のような記載があります。
「パブリックIPv4アドレスの使用を節約し、モダナイゼーションおよびIPv4アドレスの保全策としてIPv6の採用を奨励することを意図しています」
大量にパブリックIPアドレスを利用する必要がある場合、IPv6を利用してシステムを構築できるかどうかを検討してもよいでしょう。まだIPv6が利用できない機能、サービスなどもありますが、最近のアップデートで徐々に対応が進んできている模様です。
ポイント3のまとめ
- IPv4でパブリックIPを利用する場合に課金されるようになったので、必要最低限のパブリックIPアドレスを利用する構成にする
- IPv6であれば課金されないので、大量のパブリックIPアドレスを利用する場合、IPv6で構成することを検討する
終わりに
今回は、AWSにおけるネットワークコスト最適化のヒントを紹介しました。
AWS利用者にとって円安は死活問題です。今までコスト最適化について後回しにしてきている場合、これを機に再度見直してみてはいかがでしょうか?
ネットワーク以外のコストの最適化については、下記も参照していただければ幸いです。
円安時代に再考するAWSコスト節約術(ストレージサービス「Amazon S3」編)
円安時代に再考するAWSコスト節約術(コンピュートリソース編:「EC2」「ECS」「Lambda」)
筆者紹介
沼崎 伸洋(ぬまざき のぶひろ)
株式会社システムシェアード 開発事業部所属。
ここ数年はAWSを利用したシステムの設計、開発、構築を行っています。
仕事以外では、AWSの資格をあと2つでコンプリートできるので制覇に向けて頑張っています!
Copyright © ITmedia, Inc. All Rights Reserved.