kWatanabe 記事一覧へ

kWatanabe の 技術帖

某企業でOSや仮想化の研究をやっているインフラ系エンジニア。オンプレとクラウドのコラボレーションなど、興味ある技術を綴る。

クラウド課金で死なないための予算管理

大要

  • パブリッククラウドは使った分だけ課金される
  • リソース解放漏れにより、思わぬ請求が来ることを防止したい
  • 予算に基づいたアラートを設定した
  • 思わぬ課金に気づけるようになった

パブリッククラウドは使えば使うだけ課金される

浦島太郎なkWatanabeは、計算機リソースに対する課金といえばリース代や電気代、あるいはVPSなどの固定額モデルしか馴染みがない。

これらは無茶な使い方をしても、性能が出ない・機能が足らないなど、クールダウンできるタイミングがあったけど、パブリッククラウドではそうはいかない。 リソースは足りなければ足されるし、請求額も膨れていく。

自制できずに課金されるなら自業自得だが、解放漏れによる課金はいただけない。

予算を管理する

リソースを監視する仕組みを入れてもいいけども、個別に対応して漏れると本末転倒なので、まずは水際対策として課金状況に応じたアラートを設定する。

Microsoft Azure の場合

docs.microsoft.com

Azure Portalの「サブスクリプション」>「予算」から、予算額とアラートを出す閾値を設定できる。

スコープはサブスクリプションでもいいし、リソースグループでもいい。 解放漏れなどイレギュラーな課金への対策はサブスクリプションに設定して、実際の予算はリソースグループにしておくと、管理が楽かもしれない。

f:id:kWatanabe:20200913160433p:plain
Azureでの予算設定の例

使ったつもりもないのに課金されている場合に備えて1000円。自己牽制として4000円。 額は、とりあえず適当に入れた。これで閾値をまたいだ際に、約1時間以内にアラートが届くようになるらしい。

AWSの場合

docs.aws.amazon.com

AWS Management Consoleの「マイアカウント」>「Budgets」から、予算額とアラートを出す閾値を設定できる。

AWSの場合、課金単位は全てUSDなので、予算もUSDで指定する。 これは、請求額をJPYにしても同じ。

アラートを出す閾値は「実際に掛かった額」または「予測額」で設定できるので、組み合わせて使えばリソースの解放漏れを事前に察知できるかもしれない。

f:id:kWatanabe:20200920135255j:plain
AWSでの予算設定の例

こちらも、同様に使ったつもりが無い場合と自己牽制のために2つのアラートを設定。額はとりあえず適当に入れた。

まとめ

  • 従量課金生活に慣れていないので、AzureとAWSに予算の設定を行った。
  • 使ったつもりが無いのに課金されている場合に備えた少額のアラートと、自己牽制のためのそれなりの額のアラートを設定した。
  • ガラケー時代に味わったパケ死の再来とならないよう注意したい。