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

AWS活用支援コラム

AWSのコストと最適化ポイント

AWSにおけるコスト管理の考え方

AWS(Amazon Web Services)などのパブリッククラウドでは、従来のITインフラとはコスト管理の考え方が異なります。従来であれば、事前にリソースやソフトウェアのライセンス数に関して見積もりを行い、事前に購入するため、資産として積み上げて減価償却などの考え方でコスト管理を行っていたかと思います。

AWSでは、基本的に初期投資が不要になり、使った分だけ課金される、という料金体系になっています。そのため場合によっては、サーバなどのリソースの思わぬ使い過ぎや、サービスの使い過ぎにより、大量の課金が発生してしまう、ということも考えられます。

つまり、AWSにおけるコスト管理の考え方は、継続的な最適化と課金状態のチェックが必要になる、ということになります。AWSの特徴を最大限に生かしてITシステムを運用していくためには、設計段階の概算見積もりを行った後、継続的なリソースの最適化と、コストの監視が必要になるのです。どのような考え方や手法があるのか、本記事で具体的に記載していきます。

AWSの料金体系

AWSの料金は基本的には「従量制料金」となっています。先述のように、サーバなどのリソースを使った分だけ課金する、ということになります。したがって、固定料金ではなく、月ごとに利用料金が変動します。具体的な例を挙げてみると、AWSにおいて、仮想サーバを構築できる『Amazon EC2』の利用料金は、サーバを起動している時間に応じて1秒単位で料金が計算されます。

つまり、24時間365日起動していればその分コストがかかってしまう一方で、休日や夜間など、サーバを使わない時間帯がある場合はサーバを停止しておくと料金が発生しません。このように、使い方や要件によって、同じサービスでもコストが大幅に変わってきてしまう場合があります。

AWSの料金を見積もる際のポイント

AWSの料金を見積もる際には、どのようなポイントを押さえておけばいいのでしょうか。具体的なポイントについて記載していきます。

構成を把握しておく

詳細は後述しますが、見積もりには、AWSの「簡易見積もりツール」を使うことになります。こちらのツールには、どのサービスを、どれくらい使うか、といった内容を入力すれば、1か月あたりの料金が算出されるようになります。つまり、構築したいITシステムの構成について、ざっくりでいいので把握しておく必要があります。

AWSによる構成をうまく書けない、作成した構成に不安がある、という場合は、AWSのノウハウをもったベンダーへの相談や、AWSが実施している個別相談会に参加してみるといいでしょう。

一部、初期投資がかかるものも抑えておく

AWSには、一部初期投資がかかるサービスもあります。例えば、CloudHSMとよばれる、高度な暗号化カギ管理ツールや、EC2のリザーブドインスタンスといったサービスが該当します。見積もりを行う際には、留意しておくようにしましょう。

概算でおさえる

AWSの見積もりにおいて、細い費用を見積もるのは無駄になることが多いです。例えば、アクセス量や、AWSからアウトするデータ量など、正確に把握できないことも多くあります。したがって、予算をとる目的で見積もりを行う場合には多めに見積もりをする、といった、目的に応じた見積もりを行うといいでしょう。

最適コストでAWS導入を実現するスタイルズのAWS導入・移行サービスはこちら→

AWSの「簡易見積もりツール」の概要

AWSでは公式で簡易見積もりツールが用意されています。こちら(https://calculator.aws/#/)にアクセスすると、起動できます。見積もりはサービスごとに行います。複数のサービスは最終的に合算することもできます。

また、作成した見積もりについてURLを発行して、見積もり結果を第三者と共有することも可能です。

意外と簡単なAWSの金額算出方法

簡易見積もりツールを利用すると、画面遷移に従って、利用したいサービスの規模を入力していくだけで、簡単に見積もりを作成することが可能です、見積もりの方法は各サービスによって異なるため、ここではAWSの基本的なサービスであるEC2にて、どのように見積もりを行えばいいのか具体的に見ていきましょう。

  1.  簡易見積もりツール(https://calculator.aws/#/)にアクセスし、右上の『見積もりを作成』をクリックする
  2.  Amazon EC2を選択する(必要に応じて検索バーで検索してください)
  3. リージョンと、見積もり方法を選択する(ここでは、クイック見積もりの場合を記載します。)
  4.  EC2インスタンスを実行するOS(例えばLinux)を選択する
  5.  必要なvCPUの数、メモリ容量、インスタンス台数(例えば1台)を記入する
  6.  使用率に、大体の起動時間の割合で入力する
  7.  価格戦略(例えばオンデマンドインスタンス)を選択する
  8.  ストレージタイプと、量(GB)を入力する
  9.  見積もり結果の金額が表示される

算出された料金を確認し、”見積りに追加”ボタンを選択すると、EC2に関する見積もりは完了します。

AWS Trusted Advisorとは?

つぎに、AWSの利用料金を最適化するための方法を記載していきます。コスト最適化を行うためには、AWS Trusted Advisorとよばれるサービスを利用します。AWS Trusted Advisorは、ワンクリックで「コスト最適化」、「パフォーマンス」、「セキュリティ」、「フォールトトレーランス」の4つの観点から利用者のAWS環境をAWSが自動で精査し、推奨設定を表示してくれます。

なお、「コスト最適化」の診断を利用するにはサポートプラン(Basic,Developerなど)を、「ビジネス」以上にする必要があります。

最適コストでAWS導入を実現するスタイルズのAWS導入・移行サービスはこちら→

AWSの料金を削減するベストプラクティス

AWSの利用料金を削減するためには、以下のようなベストプラクティスを実践していくといいでしょう。

リザーブドインスタンスとSavings Plans

EC2やRDS、ECSなどのサービスを利用する場合は、オンデマンドよりもリザーブドインスタンスやSavingプランという事前予約制のサービスを利用すると、利用料の削減が可能です。

予算アラートの設定

Athenaなど、高額化の可能性があるサービスを利用する際には、予算アラートを設定しておくといいでしょう。そうすることで、事前に決められた予算を大幅に上回ってしまうことを防ぐことができます。

AWS環境上の不要なリソースの停止・削除

Lambdaなどで定時にリソースを停止する、Cloudformationを利用して、使いたいときに環境をビルド&利用が終わったらスクラップする、といったことをおこなうなど、自動で行えるようにしておくといいでしょう。

ストレージサービスの最適化

S3やEBSなどのストレージサービスは、アクセス数やI/O数で料金が変動するものがあります。たとえば、めったにアクセスする必要がないデータ(ログデータや監査用データなど)は、S3のGlacierというオプションを利用することで、保存にかかる料金を抑えることができます。このように、要件に応じて適切なサービスを選択するといいでしょう。

データ転送量の最適化

EC2からのデータ転送などは、ボリュームディスカウントといって、利用料に応じて割引が適用されます。AWS Organizationといったアカウント統合管理サービスなどを利用することで、ボリュームディスカウントを受けられるようになる場合があるので、検討してみてください。

できる限り新サービスを利用する

EC2など、新しいインスタンスタイプは料金が安いうえに高性能である場合があります。また、AWSがリリースしたマネージドサービスを利用することで、サードパーティの製品よりも安価に機能を付与することができます。このように、できる限り新しいサービスを利用していくことで高性能化と利用料の低減を実現できます。

まとめ

AWSのコスト管理については、最適化や定期的なチェックなど、継続的な改善が必要です。コストを最適化することによって、AWSのメリットを十分に活かすことができます。AWSコスト最適化を行うには、様々な手法や、サービスに対する深い理解が必要です。場合によっては、豊富なノウハウを持つベンダーと一緒にコスト最適化を行っていくと