パブリッククラウド各社は、一定期間のリソース利用をコミットすることで割引を提供しています。本ガイドでその仕組みを詳しく解説します。

クラウドのコンピュートコストを最大限に削減するために知っておきたいポイント
主要なパブリッククラウドはいずれも、一定期間のリソース利用をコミットすることで割引が受けられるオプションを用意しています。コンピュートコストはクラウド請求額の最大80%を占めることもあるため、これは見逃せないメリットです。一方で、各プランの違いを理解し、自社のユースケースに最適な選択肢を見極めるのは決して簡単ではありません。
選択を誤ると、使い切れなかったキャパシティに無駄な費用を払ったり、commitmentsの対象外となるオンデマンドインスタンスに割高な料金を支払うことにもなりかねません。本記事では、AWSとGCPのコンピュート割引オプションの違いと、最適なバランスを取るためのポイントを解説します。
AWSの割引プラン
AWSが2006年にElastic Cloud Compute(EC2)を提供開始した当時、支払いオプションはオンデマンドのみでした。リージョンもサイズもひとつしかなく、料金体系はシンプルかつ実用的でしたが、Amazonがインスタンスファミリーやリージョンを拡充するにつれ、新たな料金モデルが必要になりました。そして2009年に登場したのがAmazon EC2 Reserved Instancesです。
Reserved Instances(RI)は、購入時に利用条件をコミットすることで時間単価を引き下げられる仕組みです。ただし、1年または3年にわたって固定料金のリソースをコミットする必要があるため、AWSユーザーが本来期待する柔軟性や弾力性が損なわれていました。そこで2019年、新たな支払いモデルとして登場したのがAWS Savings Plansです。
Savings PlansはRIよりも柔軟ですが、割引管理の悩みをすべて解決する万能薬ではありません。RIとSavings Plansの違いと、両者を効果的に使い分けるポイントを見ていきましょう。
Reserved Instances(RI)
AWSのRIは、1年または3年のコミットメントに対してコンピュートコストの割引を適用します。リージョンスコープのRIを購入すれば、特定のリージョン内のあらゆるアベイラビリティーゾーン(AZ)におけるインスタンス利用、および同じファミリー内のあらゆるサイズのインスタンスに割引が適用されます。一方、ゾーンスコープのRIは特定のAZ内の利用にのみ適用され、インスタンスのサイズとタイプは固定されます。ゾーンRIでは指定したAZでキャパシティが予約されますが、リージョンRIではキャパシティ予約は行われません。
RIはStandardとConvertibleにも分類されます。米国の銀行口座を持つ顧客は、Standard RIをAWS RI Marketplaceで再販できますが、別のインスタンスファミリーへの交換はできません。Convertible RIは再販できないものの、価値が同等以上であればRI自体を変更することでインスタンスタイプやサイズを変更できます。Standard RIはConvertible RIに比べて柔軟性は劣りますが、その分割引率は高く設定されています(最大72%。Convertible RIは最大66%)。
AWSは、全額前払い、一部前払い、前払いなしの3つの支払いオプションを用意しています。割引率はプランや支払額によって変わり、一般に前払い額が大きいほど割引率も大きくなります。
従来のオンデマンドモデルと比較して、RIはユーザーに数十億ドル規模のコスト削減をもたらしました。しかしその硬直性は、リソースの柔軟性と弾力性というAWSの基本理念と相反するものでした。長期間にわたって固定料金リソースに縛られると、弾力的な調整を前提とするサービスを十分に活用できません。そこで登場したのがSavings Plansです。
Savings Plans
AWSがRIを開始した当時、EC2のインスタンスサイズは5種類、リージョンは3つ(米国2、欧州1)でした。RIの普及と顧客ニーズの変化に伴って選択肢は増え、複雑化していきました。新たなリージョンやインスタンスファミリーが追加され、Convertible RIの登場により、全額前払いでRIを購入した顧客もEC2の値下げの恩恵を受けられるようになりました。
RIの組み合わせが膨大になる中、顧客はAWS利用料金をよりシンプルかつ柔軟に節約できる方法を求めるようになりました。その答えとして2019年に登場したのがAWS Savings Plansです。RIと同様に1年または3年のコミットメントが基本ですが、特定の利用量ではなく1時間あたりの支出額をコミットする点が大きく異なります。
AWSは3種類のSavings Plansを提供しています。
- Compute Savings Plansは、Amazon EC2、AWS Lambda、AWS Fargateに対して最大66%の割引を適用します。最も柔軟なAWS Savings Planで、インスタンスファミリー、サイズ、AZ、リージョン、OS、テナンシーを問わず自動的に割引が適用されます(割引率は同等のConvertible RIと同じです)。
- EC2 Instance Savings Plansは、EC2の利用に対して最大72%の割引を適用します。Compute Savings Plansよりも割引率は高い反面、柔軟性は劣ります。リージョン内の特定インスタンスファミリーの利用をコミットする必要があり、その代わりに対象リージョンで選択したインスタンスファミリーのコストが、AZ、サイズ、OS、テナンシーを問わず自動的に割引されます。
- SageMaker Savings PlansはSageMakerの利用に適用されます。
Savings PlansはRIよりも柔軟で、購入も容易です。RIの価格は8つの要素で決まりますが、Savings Plansは3〜5つの要素で構成されます。
- タイプ — Compute Savings、EC2 Instance、SageMaker
- 期間 — 1年または3年
- 支払い — 全額前払い、一部前払い、前払いなし
- リージョン(EC2 Instance Savings Plansのみ)
- インスタンスファミリー(EC2 Instance Savings Plansのみ)
コミット額は自由に設定でき(最低1時間あたり0.001ドル)、Savings Plansを重ねて購入することも可能です。たとえば1時間あたり10ドルのSavings Planを購入し、消費が増えたりRIが期限切れになったりした際に、カバレッジとコストを最適化するため追加で購入するといった使い方ができます。
Savings Plansでは、StandardとConvertibleのRIと同様に、最大限のコスト削減と最大限の柔軟性のどちらを優先するかを選べます。Savings Plansの最大割引率もRIの最高水準と同等ですが、Savings Plansは任意のリージョンに適用でき、EC2、EKS、Fargate、Lambdaなど複数のコンピュートサービスをまたいで共有できる点が強みです。
RIの購入はもうやめるべきか?
Savings Plansには明確なメリットがありますが、RIを併用する意義もあります。ひとつは、未使用のRIをAWS Marketplaceで売却できる点です。これによりインスタンスの割り当てに柔軟性が生まれます。たとえば、ビジネスに季節的な需要のピークがある場合、残り数か月のConvertible RIを交換してシーズン中のカバレッジを高めることで、大きなコミットメントなしに大幅な節約につなげられます。
さらに、Compute Savings PlansはRedshift、Elasticache、Relational Database Services(RDS)には適用されません。仮に適用対象だったとしても、DBサーバーは中断なくスケーリングできるよう最大トラフィックに合わせてサイジングするのが一般的なため、RDSにはRIが適しています。
ベースラインの利用にはSavings Plans、変動が懸念される部分にはRIというように、両者を組み合わせるのが最も賢明な選択といえるでしょう。
RIやSP以外の選択肢はあるか?
AWS Savings PlansやRIがすべてのケースに適しているわけではありません。workloadsによっては、Spot Instancesのほうが適している場合もあります。Spot Instancesは、EC2の余剰キャパシティをオンデマンド価格より最大90%安く利用でき、ビッグデータ処理など一時的で柔軟性のあるworkloadsに最適です。ただし、RIやSavings Plansと同様、Spot Instancesも適切に運用してこそ最大の節約効果が得られます。
GCP Committed Use Discounts(CUDs)
Google Cloudは、Committed Use Discounts(CUDs)というかたちでクラウドの節約ニーズに応えています。リソース需要が予測しやすいworkloadsを対象としたGCPのCUDsでは、vCPU、メモリ、GPU、ローカルSSD、単一テナントノードなどのCompute Engineリソースを、1年または3年の支払いコミットを条件に割引価格で利用できます。
割引率は、マシンタイプやGPUなどで最大57%、メモリ最適化マシンタイプでは最大70%に達します。選択した期間(1年または3年)中は、サービスを使用していなくても購入したリソースに対して毎月課金されるため、予測可能なworkloadsに適しています。
Googleでは、CUD契約の有無によるVM支出のトレンドを比較分析することで、CUDによる毎月の節約見込み額を確認できます。CUDsは単一プロジェクトで利用できるほか、複数の契約を購入して割引共有を有効にすれば、複数プロジェクト間で共有することも可能です。
CUDsには支出ベースとリソースベースの2種類があります。支出ベースのCUDsは、1時間あたりの最低コミット金額に基づいて利用料金に割引を適用します。コミット額を超える利用分はオンデマンド料金で課金されます。支出ベースのCUDsはCloud Billingアカウントから購入でき、そのCloud Billingアカウントで支払うすべてのプロジェクトの対象利用に適用されます。対象は以下のGoogle Cloudサービスに限られます。
- Cloud SQL
- Google Cloud VMware Engine
- Cloud Run
- Google Kubernetes Engine
リソースベースのCUDsは、特定のリージョンで一定量のCompute Engineリソースの利用をコミットすることで割引価格が適用される仕組みです。vCPU、メモリ、GPU、ローカルSSDで利用できます。Compute Engineリソースの需要が予測できる場合、組織全体で多様なマシンインスタンスを使い分けながら割引を活用できます。
Sustained Use Discounts
請求月の大部分にわたりインスタンスを稼働させる場合は、Sustained Use Discountsも利用できます。終了日が設定されないため、予約の要件には該当しません。なお、Sustained Use DiscountsとCUDsを併用することはできません。
AWSとGCPの割引プラン比較
AWSとGoogle Cloudはいずれも1年・3年のコミットメントに対する割引を提供していますが、共通点はそれくらいです。両者の比較は以下のとおりです。
AWSとGCPのコンピュート割引プラン比較表
節約効果を最大化するには
RI、SP、CUDsの購入はコンピュートコストを削減する有効な手段ですが、コンピュートのcommitmentsを的確に判断・管理するのはリスクを伴い、煩雑で時間もかかります。最大のコスト削減を実現する割引オプションを見極めるには、マルチクラウド環境の高い可視性、インスタンスの利用状況に対する深い理解、そして今後1〜3年のクラウドコンピュート需要を正確に見通す力が欠かせません。コンピュートのcommitmentsを過剰に確保すれば未使用インスタンスに無駄な費用がかかり、過少に確保すれば本来得られたはずの節約機会を逃してしまいます。
こうした課題の多くを回避する方法のひとつが、Flexsaveのような自動節約ツールの活用です。FlexsaveはAWSとGoogle Cloud両方の利用状況を分析し、既存のSP、RI、CUDsでカバーされていないオンデマンドworkloadsに対して、自動的にコンピュート割引を適用します。これにより、将来のコンピュート需要を予測してプロビジョニングする際のリスクや、複数チーム・クラウド環境にまたがって割引プランを管理する手間を解消できます。
どのクラウドを使い、どのツールを導入するにせよ、コンピュートのcommitmentsを正しく理解して選択することこそ、クラウド支出最適化の鍵となります。
最新情報は DoiT Engineering Blog 、 DoiT Linkedin Channel 、 DoiT Twitter Channel でご確認いただけます。採用情報は https://careers.doit.com をご覧ください。