ITmedia NEWS >

「クラウドの費用がいつの間にか膨大に」の防ぎ方 3大クラウドのコスト管理サービスを比較

» 2022年05月31日 08時00分 公開
[菊池修治ITmedia]

 AWS(Amazon Web Services)やGoogle Cloud、Azureをはじめとするパブリッククラウドの大きな特徴の一つが、サービスの利用量に応じて費用が発生する「従量課金」です。使った分だけしか料金がかからないので、初期投資を抑えたスモールスタートが可能で、個人やスタートアップでも手軽に始められる利点があります。

 一方で、適切にコントロールしなければ、想定しない高額な請求が発生してしまうリスクもあります。思いもよらない大きな費用の発生は、一時的なコスト増だけでなくIT投資を萎縮させビジネスへの悪影響を及ぼす恐れがあるでしょう。

 そこで本記事では、いわゆる“3大クラウド”であるAWS、Google Cloud、Azureを対象に、意図しないコスト増大を防止する方法を整理。クラウド選びやコスト削減の参考になるよう、各サービスが提供する機能を比較し、それぞれの特徴を分析します。

菊池修治(きくちしゅうじ)

クラスメソッド株式会社AWS事業本部本部長。メーカー系SIer、自動車メーカーのインフラエンジニアを経て現職に至る。AWSを中心としたクラウド活用のコンサルティングサービスを提供している他、技術ブログ「DevelopersIO」で最新の技術情報を発信している。

クラウドの料金体系を把握する

 意図しないコスト増大を防止するにはまず、クラウドサービスを利用する際に、どんな費用が発生するかを正確に把握することが大切です。

 クラウドサービスの料金には仮想マシン(VM)のように、起動していた「時間」に応じて課金料金が発生するもの以外にも、「保存したデータ量」による課金、「データ通信量」や「リクエスト回数」に応じた課金などがあります。

 このうち、データ通信量やリクエスト回数に応じた課金は、料金を正確に予測しにくいです。こういった料金体系を採用するサービスを使う場合は、あらかじめ見積もった予算に対し、どの程度料金が発生するリスクがあるか、という考え方をすべきです。

 実際にどんな項目に応じて料金が発生するのかは、サービスによって異なります。利用前にしっかりチェックしておくべきでしょう。

 意図しないコスト増大のリスクは他にもあります。例としては以下のようなケースが挙げられます。

  1. 仮想マシンへ過剰なスペックの割り当て
  2. 不要になったサービスの利用を停止せずに放置
  3. 想定を超えるアクセス/リクエストの発生
  4. 実装したアプリケーションの不備による無駄な処理の発生
  5. 悪意のある攻撃者による不正利用

 意図しない課金の発生を抑止するには、上記のような状況を回避することが必要です。万が一、高額化するような事象が発生してしまった場合にはできる限りの早期発見が重要になります。それでは、3大クラウドはコスト増大を防ぐ手段としてどんな機能やサービスを提供しているのか見てみましょう。

AWSのコスト管理機能

 AWSは請求内容を確認する機能として「AWS Billing Dashboard」を提供しています。Billing Dashboardでは、毎月の利用費と明細、当月の予想利用料が確認できます。さらに「AWS Cost Explorer」という機能を組み合わせることで、日次や利用サービスなど、さまざまな切り口でのコストの分析と可視化が可能です。

 意図しないコスト増大を防ぐ用途では、予算管理機能「AWS Budgets」を提供しています。この機能を使うことで、月単位で設定した予算に対し閾値を設定し、値を超えたときにアラームで通知することができます。

 「仮想マシンへ過剰なスペックの割り当て」によるコスト増大を防ぐ機能もあります。「Compute Optimizer」機能を使えば、過剰なスペックの仮想マシンを自動で検出し、推奨設定を確認することが可能です。

 他のクラウドであまり見られない特徴的な機能としては、機械学習によってコストの異常を検知する「AWS Cost Anomaly Detection」があります。Cost Explorerの画面でオプトインするだけで利用可能で、閾値の監視だけでは見つけられないような異常な変動をキャッチできます。

Google Cloudのコスト管理機能

 Google Cloudでは、「Cloud Billing」という機能で請求情報の確認と分析が可能です。AWSと同様に、日/月単位の変動やサービス、タグなどに基づく分析と可視化、予算に応じたアラーム通知の設定ができます。AWSとの違いとしては、請求明細データをエクスポートし、他のデータ分析ツールやBIツールでより高度な分析ができる点が挙げられます。

 Google Cloudで発生しやすいコスト増大を防ぐ機能もあります。Google Cloudでは、「プロジェクト」と呼ばれるグループの中に仮想マシンなどを作成して利用・管理します。これにより、オンプレミスなどと比べて気軽に仮想マシンを利用・作成できます。

 一方、物理的な環境がないことから、検証などで作ったプロジェクトが放置され忘れ去られてしまうこともあります。これを防ぐのが「Recommender」というサービスです。

 Recommenderには、スペックが過剰なVMや利用の少ないマシンリソースなどに加え、放置されたプロジェクトを検出。過去30日間の利用状況を分析し、推奨事項を表示する機能を備えています。

Azureのコスト管理機能

 Azureは「Azure Cost Management + Billing」というコスト管理機能を提供しています。AWS、Google Cloudと同様、サービスごとやタグによる料金の内訳表示や月内の利用料金の予測表示、設定した閾値による通知、コスト削減のための推奨事項の表示が可能です。予算枠と期間を設定しておくことで、予算の使用状況を管理することもできます。

 特徴としては、AzureだけではなくAWSのコスト管理にも対応していることが挙げられます。AWSを併用している場合であれば、AWSのアカウント情報を登録することで、AzureとAWSの利用料金を一元的に管理することができます。ただしAzure側のコストとして、管理対象となるAWSの利用料金の1%がかかります。

クラウドにおけるコスト管理のポイント

 いずれのクラウドサービスを利用する場合においても、まず重要なのはそのコスト構造を把握し、定期的にチェックすることです。利用しているサービスのうち、大きな割合を占めるのは何か、日・月・年といった単位でどのような変動があるかを認識する必要があります。紹介した3つのクラウドサービスはそれぞれ、日常的なコストの把握・分析に必要な機能を備えています。

 その上で、各クラウドの特徴的な機能はプラスアルファの対策として利用できるでしょう。

 想定外の事態を防ぐのであればAWSの機械学習を利用した異常なコスト変動の検出が活用できます。“うっかりミス”を防ぐのであれば、Google Cloudが提供する放置プロジェクトの検出機能が役立つでしょう。マルチクラウドを利用する場面ではAWSの利用料金も管理できるAzure Cost Management + Billingが有効です。

 初期投資を抑えつつ取り組みを始められるのはクラウドの強みです。この強みを最大限に活用し、ビジネスにより良い効果をもたらすためにも、コストのコントロールは不可欠といえるでしょう。

Copyright © ITmedia, Inc. All Rights Reserved.