COLUMN誰でもわかる!お役立ちコラム

AWS活用支援コラム

AWSのコストを見える化する方法

見えにくいAWSのコスト管理

DX(デジタルトランスフォーメーション)において、適切なAWSなどのパブリッククラウド利用はDX成功のカギといえます。パブリッククラウドは、オンプレミスのサーバーと異なり、企業のIT環境におけるQCD(Quality:品質、Cost:費用、Delivery:調達速度)の大幅な改善につながります。

これにより、変化が大きいビジネス環境でも競争力を維持し続けることができます。一方で、AWSなどのパブリッククラウドはコスト管理を適切に行わないと思わぬ利用料金がかかってしまい、クラウド利用料がビジネスに大きく影響を及ぼしてしまう可能性があります。

本記事では、適切にクラウドを活用するための、AWSのコストを見える化する方法について記載していきます。

AWSのコスト管理が”見えにくい”理由

そもそも、AWSのコスト管理が”見えにくい”、つまり、全容を把握することが難しくなってしまっているのには、どのような理由があるのでしょうか。また、なぜ『見える化』を行う必要があるのでしょうか。その理由について具体的に記載していきます。

コスト構造

AWSのコストが”見えにくい”理由の一つとして、AWSのコスト構造が関連します。AWSの利用料金は、従量課金であり、初期費用がなく、利用した分だけ課金が行われます。例えば、仮想サーバーを利用するサービスであるEC2の課金体系は、「インスタンスタイプの起動時間+利用するストレージの容量」となっています。

サーバーが1台であればいいのですが、AutoScalingと呼ばれる、サーバーの台数が負荷に応じて自動的に増減するサービスを利用していたり、増加するデータに対応してストレージ容量が増えてしまったり、といったことによって、知らぬうちに利用料金が増加していたというようなことが発生してきます。

また、中にはIaaSだけでなくSaaSのように利用できるいわゆるマネージドサービスもあり、それぞれ料金体系が異なっている場合があります。具体的なサービスと料金体系を挙げていくと、

  • DynamoDB…キャパシティーユニット、ストレージ容量、データ転送量
  • Lambda…リクエスト数+実行時間

といった料金体系となっています。このように、サービスごとに料金体系が異なっており、料金体系を全量、正確に把握しておくことは困難になっています。

簡単に環境が作成できる

AWSの環境は、ほとんどの環境が数クリックで簡単に作成可能です。したがって、PoCや検証環境として簡単にサーバー環境を構築し、ITシステム構築前の検証を行うことができ、サービス導入までのリードタイム短縮に貢献しています。しかしながら、このような自由かつ簡単に検証環境を構築可能になっていることで、利用料をきちんと管理することが難しくなるという実状があります。

加えて、Amazon Athenaのような、知識が乏しいユーザーが利用すると思わぬ高額課金を招くようなサービスも中にはあるため、ちょっとした検証でも料金が高額化してしまう可能性があります。

アカウントやリージョンが分かれている

AWSはセキュリティやサービスの高い可用性を担保する為に、下記の2点を推奨しています。

  • サービスごとのアカウント分割
  • 高可用性サービスにおける複数リージョンの利用

しかし、デフォルトの設定では、ほかのアカウントの利用料金を見ることができないため、企業におけるAWSの全アカウントの利用料を把握することは難しくなっています。また、リージョンを切り替えないと利用しているサービスが把握できないという仕様も存在します。したがって、このようなAWSの仕様も、料金の見える化が難しくなっている原因の1つです。

AWSのコストを見える化する必要性

このように、AWSのコストは事前に全容を把握することが非常に難しい、という特徴があります。しかしながら、AWSのコストは経営上の観点から、見える化しておく必要があります。理由としては、下記2点が挙げられます。

  • 経営層の理解を得る
    大半の経営層は、ITに関する理解はあまりありません。また、IT部門は全社的に見て、コストがかかる部門となっている場合が多いです。したがって、AWSを利用すると高額なコストを請求されるのではないか、とクラウドの利用が経営上のリスクになることを恐れています。このような状況下で、実際に高額なコストが発生してしまうと、経営層の理解が得られなくなり、AWSなどのパブリッククラウドの利用が制限される可能性があります。このような状況を回避する為に、AWSのコストは常に見える化しておく必要があります。
  • 予算を確保する
    オンプレミスの場合、サーバを買う場合にしても何にしても、必ず事前にベンダーから見積書が来ます。そのような見積書をもとに、次年度や四半期ごとに予算を策定し、承認を得る、といったプロセスを大半の企業が踏んでいます。先述の通り、一方でクラウドは従量課金制であるため、事前に見積りを出すのが本質的に難しいという特徴があります。したがって、事前に承認を得るためにも、利用中のクラウドに関するコストは把握しておき、基準として提示できる状態にしておく必要があります。当然、承認を得た予算をオーバーしないためにも、コストは常に監視しておかないといけません。

AWS運用コストの削減のご相談も可能 運用コストを引き下げるスタイルズのAWS導入・移行サービスはこちら→

AWSのコストを見える化する方法とは?

AWSのコストについて見える化を行う必要性について述べてきましたが、実際どのように見える化をしていけばいいのでしょうか。AWSにおけるコスト管理は、情報収集と改善を繰り返していく必要があります。現状を可視化して監視するとともに、利用が多いサービスや利用状況を監視、分析し、適切なサービスを利用して環境の最適化を行っていく必要があります。つまり、監視→分析→最適化のPDCAを回し続ける必要があります。本記事では、AWSではコストを見える化するためのサービスや、複数のAWS環境をまとめてコスト管理できる方法が提供されています。これらの方法について、具体的に記載していきます。

AWS Cost Explorerでコストを見える化する

Cost Explorerというサービスを使うことで、どのサービスにどのくらいのコストがかかっているか、という情報を把握することが可能です。Cost Explorerは、AWSにログインした画面の上部メニューのユーザー名の中にリンクがある請求ダッシュボードからアクセスすることができます。

Cost Explorerでは、期間を指定して日別や月別のコストを見ることができるほか、1か月のコスト予測も確認することができます。また、どのサービスがどれくらい使われてるかを円グラフや棒グラフで確認することも可能になっており、課金額が多いサービスの割り出しが可能になっています。

AWS Organizationsで複数のアカウントを一括管理

先述の通り。セキュリティの観点からAWSではアカウントを分割することが推奨される一方、アカウントを分割するとコスト管理が難しくなる、という事情があります。その欠点を解消するためには、AWS Organizationsを利用することでAWS社からの請求をひとまとめ束ねることや、課金情報の一元管理が可能になります。

最も権限が強い管理アカウントからは、文字通りすべてのメンバーアカウントを管理することができます。したがって、 管理アカウントのCost Explorerからは全てのメンバーアカウントの課金情報を閲覧することができます。

AWS運用コストの削減のご相談も可能 運用コストを引き下げるスタイルズのAWS導入・移行サービスはこちら→

コスト配分タグを使う

AWSの利用においては、どの部署やプロジェクトがどのくらい予算を使っているか、などの把握をする必要がある場合もあります。そのような場合に活用できる機能が、「コスト配分タグ」です。AWSリソースには、Key-Value形式でユーザ独自のタグを複数付与することができます。

このタグを利用して、コスト管理を行う機能が「コスト配分タグ」です。例えば、Ownerという名前のKeyをリソースにアタッチし、Valueに部署名を記載しておいた場合、マネジメントコンソールのBillingのページにおける「コスト配分タグ」 から『Owner』のタグをアクティブにすることで、OwnerのValueに応じたAWSの使用状況がグラフ等で確認できるようになります。

なお、支払い用のマスターアカウントでタグキーを有効化する必要がある点と、アクティブにしたいタグはアクティブ化前にAWSリソースで設定をする必要があります。

まとめ

AWSのコストを見える化することで、クラウド破産を防ぎ、クラウドの利活用を大幅に促進することができます。より具体的な方法や各企業にあった運用方法については、専門の知識を持つベンダーといっしょに検討してみるといいでしょう。