はじめに
主要なパブリッククラウドソリューションで検証を行う際、なかなか日常的にコストを気にかけることができず、
月末に 「あー!やばい今月制限以上のコストかかっちゃったよ…どうしよう…」 っていうのはありがちですよね。
VMを毎晩停止するなど、いたって普通のことをやっていても、いつの間にかコストオーバーしていたり。
私もまたAzureの無料¥22,500 のクレジットを30日待たずに吹っ飛ばしてしまった一人です…。
その時の経験をもとに、ここでは一例として、Azure Load Balancer と(私が溶かした主な原因の)Azure Application Gatewayについて記載します。
用語解説
- Azure Load Balancer Azure上で動作するL4ロードバランサー。 - Azure Application Gateway Azure上で動作するL7ロードバランサー。WAFの機能を利用することもできる。一言でいうと
ApplicationGateway v2は存在するだけで高額課金がなされます!!
こまめに毎回削除するのが望ましいです。
Azure Load Balancer
Standard Load Balancerのコストは、以下に記載されています。
https://azure.microsoft.com/ja-jp/pricing/details/load-balancer/
以下が課金の対象となります。
- 構成された負荷分散およびアウトバウンド規則の数。インバウンド NAT 規則は、規則の合計数にカウントされません。
- 規則に関係なくインバウンドとアウトバウンドで処理されたデータの量。規則が構成されていない場合、Standard Load Balancer で時間単位の料金は発生しません。
データの量はともかく、「構成された負荷分散およびアウトバウンド規則の数」で固定費用が発生します。
東日本リージョン,2020/05現在の場合、
はじめの 5 ルール: ¥2.800/時間
なので、一切通信がなくとも 67.2円/日,一月を31日としたら2,083.2円/月です。
月換算すると一気に高い感じがしますね。お金が溶けます。
まぁでもこのぐらいならば、ある程度想定通り、という感じですね。
しかしながら本当の敵はApplication Gatewayなのです…
Application Gateway
L7ロードバランサーであるApplication Gatewayには、v1とv2(+それぞれにWAFが付くプラン)があります。
v1は「自動スケール、ゾーン冗長、および静的 VIP 」をサポートしていません。*1
そのため、可用性の高い環境で試したい場合は、v2を選択します。
ここではv2を選択したとしましょう。
Application Gateway v2のコストは、以下に記載されています。
https://azure.microsoft.com/ja-jp/pricing/details/application-gateway/
Application Gateway Standard v2(東日本リージョン,2020/05現在)の場合、
¥32.48/ゲートウェイ時間
なので、779.52円/日、24,165.12円/月という、圧倒的なコストが発生します。
また、Application Gateway Standard v2ではこのほかに稼働しているスケールユニットによるコスト(上記に比べれば微細ですが)も発生します。
お金どろどろです。
愚かにもAWSのApplication Load Balancerに慣れてしまっていた私は、
**「AWSのApplication Load BalancerはL7でも固定費は同じだったから、Azureも同じぐらいでしょ!」**と、一週間程度放置してしまったのでした…。
Application Gatewayは利用終了後すみやかに削除しましょう。
まとめ
- Application Gateway v2は存在するだけで高額課金がなされます!!(二回目)
- 自分を過信せず、未知のものを利用するときはちゃんと調べてから検証しよう!
おわりに
- 今回は私の実経験をもとに、Application Gateway v2の失敗を記事にしてみました。
- 今後はコストを見える化するAzure Cost Managementの利用方法や、他のお金を溶かさない方法についても記事にしていきます。
- お金は大事なので!
次回
Azureの検証環境コストを削減したい#2 Azure Cost Managementで予算を設定する
以上!
*1:v1は料金形態も違い、最小構成ではかなり固定月額料金も変わります。未サポート機能が必要ない場合は、v1Sで検証を行うと、お安く済みます。