DEV Community

Yasuhiro Matsuda for AWS Community Builders

Posted on • Edited on

$0.005 per In-use public IPv4 address per hour の明細が高額になる場合の対応を考える

昨年の7月末に「パブリック IPv4 アドレスの利用に対する新しい料金体系を発表 / Amazon VPC IP Address Manager が Public IP Insights の提供を開始」で発表となっていたが、今年の2月よりパブリックIPv4アドレスについて時間あたり0.005ドル課金されるようになった。これはIANAからの割当が枯渇しているIPv4アドレスを取得するためにかかる費用を受益者負担するための取り組みであるが、2月分だけの該当明細の請求だけで200ドルを超えているAWSアカウントもあり、コスト削減のためにはアーキテクチャ変更を余儀なくされる。

明細のイメージ

取り組みとしては以下のように進めると良い。

  1. 無料枠の範囲でIPAM(Amazon VPC IP Address Manager)を有効化し、パブリック IP に関するインサイトより課金対象となっているIPv4アドレスを把握する。 パブリック IP に関するインサイト
  2. 以下のいずれかの方法にてパブリックIPv4アドレスの割当数を減らす。なお、実現しやすい順に記載している。
  • 冗長構成としているEC2やECSなどについては負荷に応じた台数になっているかを見直して、稼働台数を減らせないか検討する
  • HTTPS通信をオフロードする目的だけにALBを使っているEC2が1台だけの構成となっているものは、ALBの代わりにCloudFrontに置き換えることを検討する(ただし、EC2にアタッチしているセキュリティグループにおいて、HTTPプロトコルの通信元を絞れなくなってしまうことに留意が必要)
  • (開発用で利用しているAWSアカウントを対象に)ALBで3AZ構成になっているものは2AZ構成に変更する
  • (開発用で利用しているAWSアカウントを対象に)同一サブネットにて複数のALBがデプロイされているものは、1つのALBに集約できるようにホストベースルーティングを活用してターゲットグループを構成する。
  • (ALBの配下にあるEC2やECSなど)グローバルIPが不要なものはプライベートIPのみにする(但し、EC2やECSタスク起点で外向きに通信が発生するものについてはNAT Gatewayが必要となる点に注意。S3などであればVPCエンドポイントを活用できる)
  • IPv4ではなくIPv6で構成できるものについてはIPv6に変更(AWS内で完結するからパブリックIP通信でも安全 EC2でIPv6を使う手順と注意点にも記載がある通り、十分なテストが必要)

IPv4アドレスの割り当てを1つ減らしても1ヵ月で3ドル程度しか削減効果はないが、これからずっと課金が行われ続けることを考えると今できることから取り組んでおきたい。

Top comments (0)