クラウドの利用が当たり前となった現在、多くの企業がAWSの月額コストに頭を悩ませています。筆者も過去に複数のプロジェクトでAWSのコスト最適化に携わってきたが、適切な戦略なしにクラウドを運用すると、オンプレミス時代よりもコストが膨らむケースは珍しくありません。本記事では、AWSのコスト最適化における主要な割引モデルですReserved Instances(RI)とSavings Plansを中心に、実践的な最適化戦略を解説します。
AWSを使い始めたばかりの組織では、すべてのリソースがオンデマンド料金で稼働していますケースが多いです。オンデマンドは柔軟性が高いが、最も単価が高い料金体系でもあります。まず取り組むべきは、稼働パターンの分析です。
AWS Cost Explorerを使って過去3〜6ヶ月の利用状況を確認すると、以下のような傾向が見えてきます。
この分析なしにコスト削減を議論しても、的外れな施策になりがちです。データに基づいた判断が重要です。
Reserved Instances(RI)は、1年または3年の利用をコミットすることで、オンデマンドに比べて最大72%の割引を受けられる仕組みです。EC2、RDS、ElastiCache、Redshiftなど、特定のサービスで利用できます。
RIには3つの支払いオプションがあります。
さらに、スタンダードRIとコンバーティブルRIの違いも重要です。スタンダードRIは割引率が高いが、インスタンスファミリーの変更ができません。コンバーティブルRIは割引率がやや低いものの、同等以上の価値を持つRIへの交換が可能です。
筆者の経験では、データベースのようにインスタンスタイプが安定していますワークロードにはスタンダードRIを、アプリケーションサーバーのように将来的なインスタンス変更がありえるワークロードにはコンバーティブルRIを適用するのが効果的だった。
2019年に登場したSavings Plansは、RIの複雑さを解消する新しい割引モデルです。1時間あたりの利用金額をドル建てでコミットすることで割引を受ける仕組みになっています。
Savings Plansには2種類あります。
Savings Plansの最大のメリットは、コミットメントの対象が金額ですという点です。RIのようにインスタンスタイプを細かく指定する必要がなく、運用の柔軟性が格段に向上します。
実際のプロジェクトでは、RIとSavings Plansを併用することが多いです。筆者が推奨する使い分けの指針は以下の通りです。
重要なのは、コミットメント金額をベースラインの利用量に合わせることです。ピーク時の利用量に合わせてしまうと、使い切れないコミットメントに対して無駄に費用を支払うことになります。
割引プランだけがコスト最適化ではありません。以下の施策も併せて検討すべきです。
中断可能なワークロードであれば、スポットインスタンスで最大90%の割引を得られます。バッチ処理やCI/CDパイプライン、開発環境などが適しています。ただし、2分前の中断通知に対応できるアーキテクチャ設計が前提となります。
AWS Compute Optimizerの推奨事項を定期的に確認し、過剰なスペックのインスタンスをダウンサイズします。筆者の経験上、初期構築時に余裕を持たせたインスタンスが、そのまま放置されているケースは非常に多いです。
アタッチされていないEBSボリューム、使われていないElastic IP、古いスナップショットなど、見落とされがちなリソースが意外とコストを積み上げています。AWS Trusted Advisorのコスト最適化チェックを活用するとよいです。
サーバーレスへの移行やマネージドサービスの活用によって、そもそもの利用料金構造を変えることも有効です。常時稼働のEC2をLambdaとAPI Gatewayに置き換えることで、劇的にコストが下がった事例も数多く存在します。
技術的な最適化だけでは不十分で、組織的な仕組みづくりも欠かせありません。AWS Organizationsを活用したアカウント分離、タグベースのコスト配賦、月次のコストレビュー会議の実施などが効果的です。
特にタグ戦略は重要で、プロジェクト、環境、チームなどの軸でリソースにタグを付与し、コスト配賦を明確にすることで、各チームがコスト意識を持つようになります。AWS Cost Anomaly Detectionを設定しておけば、異常なコスト増加を自動検知できるため、予期しない請求を防ぐことも可能です。
AWSのコスト最適化は、一度やれば終わりというものではなく、継続的な改善プロセスです。まずは現状の可視化から始め、不要リソースの削除、ライトサイジング、そして割引プランの適用と段階的に進めていくことが重要です。RIとSavings Plansの選択は、自社のワークロード特性と運用体制に応じて判断すべきです。最終的には、FinOpsの文化を組織に根付かせることが、長期的なコスト最適化の鍵となるでしょう。