今までAWS使用料は毎月$1にも満たない金額でした。
しかし、先月(2024年2月)の請求金額を確認した所、急に$10以上に跳ね上がっていました。
今月(2024年3月)の請求予測も、普段より多くなるデータが産出されていました。

2月中にAWSサービスをいじった記憶もなく、運営している当サイトのアクセス数も特に変化なしだった為、不正利用や請求ミスかと思い調査しました。
原因はIPv4料金改定
Billing and Cost Management 画面で表示されていた通り、VPC(Virtual Private Cloud)での請求が急に増加していたので、関連個所を更に深堀りして調査しました。
すると下記の記事が見つかりました。


要約すると、PublicIPv4を使っている人は2024年2月以降、料金をプラスして請求するということでした。
EC2インスタンスを確認した所、パブリックIPv4を複数利用しており、無事原因の特定ができました。
ちなみに、現在パブリックIPをどれだけ利用しているかがわかるサービス(Amazon VPC IP Address Manager)がAWSからリリースされています。
利用IPが多くなりすぎて把握しきれない、という方は利用することをお勧めします。
対応
公式ページや個人サイトを参考に、IPv4からIPv6に移行しました。(正確には両方のアクセスに対応できるよう修正しました)


2つ目の記事の「[AWS] IPv6でRoute 53+ALB+EC2構成のWebサーバーを構築する」の手順通り作業し、スムーズに移行することができました。
移行作業により、不要なElastic IPの削除及び、IPv6にも対応したサイトに作り替えることができました。
※移行に際して、EC2インスタンスをIPv6に対応したものに変更する必要があります。
※IPv6非対応のEC2インスタンスを利用していた場合、AMI(Amazon machine Image)を用いてインスタンスを再構築するなどの対応が必要となります
ロードバランサーを利用しているせいで、請求が少し高くなる
今まではALB(ロードバランサー)を利用していましたが、今回の料金改定により請求が高くなってしまう為、利用をやめることにしました。
請求が高くなる理由ですが、ロードバランサーを利用するには必ず2つ以上のサブネットを設定することになります。
その際に、強制的にパブリックIPv4を2つ以上取得することになります。
ロードバランサーは可用性を高めるための物なので、このような状態になるのは仕方ない(むしろそうした方がリスクは分散される)のですが、個人のサイトでそこまで可用性を重視する必要はないと判断しました。
ALBを削除してElastic IP を1つだけ取得しました。
それをRoute53にて設定することでパブリックIPv4の利用数を1つに絞りました。
可用性は乏しくなりましたが、毎月の出費が $3.6($0.005 x 24 x 30) 減ったので経費削減には成功しました。
因みに、最初にロードバランサーを設定した後に、片方のサブネットを後から削除するという方法が昔はできた?らしいです。
2024年3月現在で試した所、下記のエラーが出て削除できませんでした。
SSL化ができなくなったので対応
ロードバランサーを利用しなくなった結果、ALBに紐づけていたACM(証明書)も利用できなくなりました。
その為、let’s encrypt をサーバー内で設定してSSL化することにしました。
SSL化とは、インターネット上の通信を暗号化する技術の事です。
httpでサイトにアクセスしていたものが、httpsでの接続に代わります。
SSL化していないサイトは、不審なサイトであるとブラウザに判断されてしまいます。
本サイトの場合、EC2インスタンス内でbitnami というライブラリを利用して、Wordpressで運用しています。
bitnamiを利用していたおかげで、専用のコマンドを利用することで簡単に設定することができました。
やり方としては、EC2インスタンスのサーバーにSSH接続し、下記サイトを参考に証明書のインストール及び、自動更新設定を行いました。
もし、bitnamiを利用されていない場合は、let’s encrypt をサーバーにインストールする方法を適宜調べてください。
また、let’s encrypt は3か月毎に更新作業が必要となる為、cronなどで更新スクリプトを定期実行する設定も忘れず行ってください。
以上の作業を行うことで、パブリックIPv4の出費を大幅に下げることができました。
感想
ネットワーク関連はあまり知識がないと自負しているのですが、今回の件を機に少し勉強してみました。
VPCに関しては、多少理解が深まった気がしました。
今までは抽象的な概念のみ理解して触っていましたが、それらを多少具体的な知識に落とし込むことができたと思います。
また、今後実務でも増加するであろうIPv4からIPv6への移行作業を事前に作業することができたので、その点は収穫になりました。
実務でいきなりネットワークを弄るのは怖いですからね。インフラ作業はご安全に。。
