AWSの利用費用を下げるときの思考フロー&テクニックを紹介!運用コストを見直しましょう

AWSの利用費用を下げるときの思考フロー&テクニックを紹介!運用コストを見直しましょう

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。


こんにちは!

今回は、私たちが普段から意識している AWS の利用費用を下げるときの思考フローとテクニックについて紹介します!

AWS の料金体系は従量課金と固定費用が混在したりと複雑な部分がありますが、本記事の AWS のコストカットのテクニックを身に着けて、手早く・賢く利用料金を最適化しましょう。

想定する読者

  • AWS の運用コストを見直したいヒト
  • AWS の利用費用を下げる方法を知りたいヒト

はじめに

AWS の料金体系の概要

AWS の料金体系には、大きく分けて2タイプの料金体系が用意されています。

  • EC2 をはじめとしたプロビジョニングしたコンピューティングリソースに対する「オンデマンド課金」
  • Lambda や CloudFront 等(サーバーレス製品)の使用した分に対する「従量課金」があります。

上記に加えて、AWS では利用費用の下がる料金体系がいくつか用意されていますので、気になる方はこちらのブログをご覧ください。

本記事で紹介する AWS コストカットの観点

EC2 などのオンデマンド課金のサーバーをプロビジョニングした場合、使用量に関わらずサーバーリソースのサイズなどに応じて料金が発生します。よって、未使用・使用頻度の低いリソースにをそのままにしておくと、いつの間にかコストがかかってしまう場合があります。

本記事では、未使用・使用頻度の低いリソースを対象としたコストカットの方法として、次の3つの観点から説明します。

  • リソースのサイズ・スケジュールを変更
  • アクセス頻度の低いデータを移動
  • リザーブドインスタンスを利用

比較的すぐに導入できるものばかりですので、ぜひ参考にしてみてください。

リリース前に AWS 利用費用を把握しましょう

最近の開発案件で、お客様より以下のような要望をいただくケースが多数あります。

  • サーバー利用費用をシステム予算に計上したいので事前に教えて欲しい
  • 補助金を利用したいので概算料金を事前に知りたい、見積もりが欲しい

私たちは、事前に AWS の利用料金を把握するためのツール「AWS Pricing Calculator」を使用し、事前にお客様へAWS の利用料金をご提示しています。

リソースのサイズ・スケジュールを変更

リソースの過剰なプロビジョニングや、未使用状態のリソースをそのままにしておくことで、リソースに対して過剰に費用を払っている可能性があります。ツールを使用して EC2 などのリソースの稼働時間やサイズを調整することで、コストをカットできます

EC2 インスタンスのコストカットテクニック

稼働スケジュールの調整は AWS Instance Schedule を、リソースサイズの最適化は Cost Explorer を用います。

AWS Instance Schedule

AWS Instance Scheduler は、Amazon EC2 と Amazon RDS インスタンスのカスタム起動および停止スケジュールを設定できるソリューションです。

深夜や休日等、時間帯によってインスタンスが未使用状態になる場合、Amazon Instance Scheduler で稼働スケジュールを調整し、コストカットしましょう。

AWS Instance Scheduler のページからクラウドフォーメーションテンプレートをダウンロードし、使用を開始してください。

引用:https://aws.amazon.com/jp/solutions/implementations/instance-scheduler/

AWS Cost Explorer

AWS のコストの可視化ツール AWS Cost Explorer を使用し、削除・サイズダウンすべきインスタンスを確認します。

まず、Cost Explorer の設定から、「EC2 リソースの推奨事項を受け取る」をチェックすることで有効にします。

次に、推奨事項をもとにサイズダウンをすべきインスタンスを決定し、ダウンサイジングや削除を選択します。

引用:https://aws.amazon.com/jp/blogs/news/9ways-to-optimize-aws-cost-part2/

Amazon Redshift クラスターのコストカットテクニック

Amazon Redshift クラスターの場合、AWS マネジメントコンソールにて、クラスターの一時停止・再開スケジュールの作成が可能です。

未使用状態のクラスターを一時停止することで、オンデマンド課金が中断され、ストレージのみの課金となります。使用していないクラスターに関しては、ぜひ一時停止の対応を行いましょう。

クラスターの一時停止は、Amazon Redshift のコンソール画面から行うことができます。左メニューの「cluster(クラスター)」を選択し、該当のクラスターにチェックを入れたら「Action(アクション)」>「Pause(一時停止)」を選択します。

引用:https://aws.amazon.com/jp/blogs/big-data/lower-your-costs-with-the-new-pause-and-resume-actions-on-amazon-redshift/

最後に次の画面で一時停止のタイミングを選び、実行すれば一時停止は完了です。

引用:https://aws.amazon.com/jp/blogs/big-data/lower-your-costs-with-the-new-pause-and-resume-actions-on-amazon-redshift/

ネットワークリソース

AWSのコスト削減・自動的なリソースモニタリング・パフォーマンス向上等に役立つ、AWS Trusted Advisor

AWS Trusted Advisor は、以下のAWS のベストプラクティスに基づく 5 つのカテゴリにわたるチェックと推奨事項を自動で提供します。

  • コストの最適化
  • セキュリティ
  • 耐障害性
  • パフォーマンス
  • サービスの制限

では、AWS Trusted Advisor を使用して実際に削除対象のリソースを特定しましょう。

AWS マネジメントコンソール>Trusted Advisor>コスト最適化より、コスト最適化チェックを実行・更新します。結果をもとに、リソース削除の是非を決めます。

アクセス頻度の低いデータを移動

AWS では、データアクセス頻度に応じたストレージ層が提供されています。層によって価格帯も異なりますので、アクセス頻度の低いデータを低コストの階層に移動することでコスト削減につながります。

S3のライフサイクルポリシー設定

Amazon S3 標準ストレージクラスを使用している場合は、一定期間アクセスされていないオブジェクトを自動で低コストのクラスに移行させる「ライフサイクルポリシー」を設定しましょう。

ライフサイクルポリシーの設定によって、データを自動的に別のストレージに移動させるルールを定めることができます。この方法はアクセスパターンが決まっているデータに対して有効で、そうでないデータについては次に説明する S3 Intelligent-Tiering の使用がおすすめです。

なお、移動元・移動先のストレージは下記のように定義されており、ストレージ料金が低くなる方向にのみ移行可能です。(関連記事:Amazon S3 ライフサイクルを使用したオブジェクトの移行 | Amazon Simple Storage Service

引用:https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-general-considerations-transition-sc

S3 Intelligent-Tiering

ストレージコストを自動的に最適化するストレージクラス「S3 Intelligent-Tiering」の使用も効果的です。

高頻度・低頻度の2つのアクセス階層が組み込まれており、アクセスパターンに応じて自動でデータを移動させることができます。アクセスの頻度が低いデータを低頻度階層に移動させることで、コストをカットできます。

S3 Intelligent-Tieringのユースケース

  • ライフサイクルポリシーを設定をする時間が取れない場合
  • アクセスパターンが変化するデータを扱う場合
  • アクセスパターンが未知のデータを扱う場合

リザーブドインスタンスを利用

Amazon リザーブドインスタンス (RI) は、Amazon EC2 の使用コストを節約できる割引料金プランです。リザーブドインスタンスを使えば、アカウント内の既存または新規のオンデマンドインスタンスに対し、割引料金を自動的に適用できます。(引用:EC2 リザーブドインスタンスの詳細

リザーブドインスタンスは、AWSマネジメントコンソール>EC2>リザーブドインスタンスから購入可能です。

まとめ

以上、AWS の利用費用を下げるときの思考フローとテクニックについて紹介しました。今日から実行したい方法ばかりですので、ご自身に合った方法を積極的に導入していきましょう。

AWS の料金最適化・コストカットは、私たちにお気軽にお問い合わせください。