Amazon EC2 での Windows の支出を最適化する - AWS 規範ガイダンス

Amazon EC2 での Windows の支出を最適化する

概要

サーバーを AWS に移行することに関する最大の懸念事項の 1 つは、インフラストラクチャコストです。確かにクラウドの利点の 1 つはリソースに対してオンデマンドで料金を支払うことですが、24 時間 365 日利用可能である必要がある本番ワークロードも存在します。Savings Plans は、EC2 インスタンス、AWS Lambda、および AWS Fargate 全体での定常状態の AWS 使用コストを削減するように設計されています。

Savings Plans は柔軟な料金モデルを提供し、Amazon EC2、Fargate、Lambda、Amazon SageMaker AI の使用料を、一定の使用量 (1 時間あたり 10 USD など) のコミットメントと引き換えに割引するのに役立ちます。1 年または 3 年間にわたって一定量の時間単位のコンピューティング支出をコミットし、引き換えにその使用量に対して割引を受けます。

Savings Plans では、3 つの異なる支払いオプションから選択できます。

  • [前払いなし] オプションでは、前払いを必要とせず、コミットメントは純粋に月単位で請求されます。

  • [一部前払い] オプションでは、Savings Plans の料金が安くなります。コミットメントの少なくとも半分が前払いで請求され、残りは毎月請求されます。

  • [すべて前払い] オプションでは、最低価格が提供され、コミットメント全体が 1 回の支払いで請求されます。

AWS Cost Explorer では、現在アクティブな Savings Plans の有効期限と、キューに登録されている開始予定の Savings Plans を追跡することができます。Savings Plans アラートを使用すると、Savings Plan の有効期限の 1 日前、7 日前、30 日前、60 日前、またはコミットメントが購入用にキューに登録されているときに、事前のメールアラートを受け取ることができます。これらの通知は、有効期限についても警告します。最大 10 人の E メール受信者に通知を送信できます。

Savings Plans について

すべてのタイプのコンピューティング使用量には、オンデマンド料金と Savings Plans 料金があります。1 時間あたり 10 USD のコンピューティング使用量をコミットすると、Savings Plans 料金で最大 10 USD までのすべての使用量に対して Savings Plans 料金が適用されます。コンピューティング支出コミットメントを超えた使用については、通常のオンデマンド料金で請求されます。Savings Plans の使用を開始するには、AWS マネジメントコンソール の Cost Explorer を使用します。

Cost Explorer で提供されている推奨事項を使用して最大のコスト削減を実現することで、Savings Plans へのコミットメントを簡単に行うことができます。推奨される時間単位のコミットメントは、過去のオンデマンド使用量と、プランタイプ、期間、支払いオプションの選択に基づいています。Savings Plans は、最初に、プランを購入したアカウントに適用され、次に一括請求ファミリー内の他のアカウントと共有されます。

注記

AWS Organizations の Savings Plans 共有オプションはデフォルトで有効になっています。このオプションは、支払者アカウントの AWS Billing コンソールで拒否できます。[推奨事項] ページにアクセスして、対象となる使用量に応じた削減に役立つ AWS が推奨する Savings Plans を確認できます。これらの推奨事項はいつでも更新できるため、最適な Savings Plans を簡単に購入できます。

Compute Savings Plans

Compute Savings Plans は、柔軟性が最も高く、コストの削減に役立ちます。これらのプランは、インスタンスファミリー、サイズ、アベイラビリティーゾーン、リージョン、オペレーティングシステム、またはテナンシーに関係なく、EC2 インスタンスの使用に自動的に適用されます。Fargate または Lambda の使用にも適用されます。例えば、Compute Savings Plans では、C4 インスタンスから M5 インスタンスへの変更、EU (アイルランド) から EU (ロンドン) へのワークロードの移行、EC2 から Fargate または Lambda へのワークロードの移動をいつでも行うことができます。Savings Plans の料金の支払いは自動的に引き続き行われます。

EC2 Instance Savings Plans

EC2 Instance Savings Plans は、リージョン内の個々のインスタンスファミリーの使用量に対するコミットメント (例えば、バージニア北部で一定のレベルの M5 使用量をコミットするなど) と引き換えに、最も大きい割引を提供します。これにより、アベイラビリティーゾーン、サイズ、オペレーティングシステム、テナンシーに関係なく、そのリージョンで選択したインスタンスファミリーのオンデマンド料金が自動的に割引されます。EC2 Instance Savings Plans では、そのリージョンのファミリー内のインスタンス間で使用量を変更できます。例えば、Windows を実行している c5.xlarge から、Linux を実行している c5.2xlarge に移行でき、自動的に Savings Plans 価格のメリットを受けることができます。

Compute Savings Plans と EC2 Instance Savings Plans はどちらも、Amazon EMR、Amazon Elastic Kubernetes Service (Amazon EKS)、および Amazon Elastic Container Service (Amazon ECS) クラスターの一部である EC2 インスタンスに適用されます。Amazon EMR、Amazon EKS、および Amazon ECS の料金は Savings Plans の対象ではありませんが、基盤となる EC2 インスタンスは対象です。Compute Savings Plans の方が適用範囲が広いため、EC2 Instance Savings Plans は Compute Savings Plans よりも優先して適用されます。

注記

Savings Plans は、コミット完了後に簡単に変更することはできません。いずれかの Savings Plans オプションをコミットする前に、慎重に計画することをお勧めします。Savings Plans は、コミットメントと引き換えにオンデマンド価格よりも低価格で提供されるもので、期間中にキャンセルできません。

時間単位のコミットメントの例

Savings Plans を購入する場合は、プランの期間に対して時間単位の金額的コミットメントを行います。1 時間あたり 10 USD のコンピューティング使用量をコミットすると、Savings Plans の料金は、1 時間あたり 10 USD までのすべての使用量に自動的に適用されます。コミット額を超えた使用については、通常のオンデマンド料金で請求されます。Cost Explorer の Savings Plans 購入推奨事項ツールを使用して、削減額を最大化できる推奨コミットメントを取得できます。特定のプランの時間単位の金額的コミットメントは、プランの期間中は変更できません。使用量の分析後にコミットメントを増やす場合は、超過使用量をカバーするために追加の Savings Plans を購入することができます。

Savings Plans の利点

リザーブドインスタンスと比較して、Savings Plans は、Savings Plans が提供する幅広いコンピューティングオプションを利用しながらコストを削減できる、より柔軟な料金モデルを提供します。Savings Plans は、コンピューティングのニーズが変化しても割引を提供します。これにより、追加の管理オーバーヘッドを発生させることなく、絶えず変化する動的環境に対応することができます。Savings Plans を使用するその他の利点は次のとおりです。

注記

EC2 Instance Savings Plans は、柔軟性が低いため、Compute Savings Plans よりも大きな割引を提供します。割引料金の使用量をコミットします。

すべてのタイプのコンピューティング使用量には、Savings Plans 料金とオンデマンド料金があります。次の表は、オペレーティングシステムタイプごとの Savings Plans 料金とオンデマンド料金を示しています。コミットされた使用量に対しては Savings Plans 料金で請求され、コミットメントを超えた使用量に対しては通常のオンデマンド料金で請求されます。

Instance name Savings Plans 料金 オンデマンドの節約 オンデマンド料金 オペレーティングシステム リージョン お支払い方法 期間
x2iedn.xlarge 0.32 USD 61% 0.83 USD リナックス 米国東部 (バージニア北部) 前払いなし 3
x2iedn.xlarge 2.01 USD 50% 1.02 USD Windows 米国東部 (バージニア北部) 前払いなし 3
x2iedn.xlarge 1.02 USD 20% 2.52 USD Windows ライセンス込み + SQL Server Enterprise Edition 米国東部 (バージニア北部) 前払いなし 3
x2iedn.xlarge 0.32 USD 61% 0.83 USD BYOL 米国東部 (バージニア北部) 前払いなし 3

Savings Plans にはオペレーティングシステムが含まれており、BYOL には別の割引が適用されます。これらはすべて Compute Savings Plans 計算ツールで内訳が示されています。

リザーブドインスタンス料金モデル

AWS には、リザーブドインスタンスと呼ばれるコミットメントに基づく別の料金モデルがあります。このモデルは、既にコミットメントを行った後にコンピューティングが変更され、リザーブドインスタンスが使用できなくなると、問題が発生する可能性があります。Savings Plans は、スタンダードリザーブドインスタンスやコンバーティブルリザーブドインスタンスと同様のコスト削減を実現するように設計されていますが、柔軟性ははるかに高くなります。Compute Savings Plans では、インスタンスファミリー、サイズ、オペレーティングシステム、テナンシー、 リージョンに関係なく、EC2 インスタンスの使用料金を削減できます。また、最大限の柔軟性も実現します。

次の表は、Savings Plans またはリザーブドインスタンスの選択に役立ちます。

  Reserved Instance EC2 Instance Savings Plans Compute Savings Plans
1 年間の平均割引 最大 38% 最大 29% 最大 29%
3 年間の平均割引 最大 58% 最大 73% 最大 60%
インスタンスファミリー Fixed Fixed フレキシブル
インスタンスサイズ 固定 (Linux 以外) フレキシブル フレキシブル
地域別 1 リージョン 1 リージョン フレキシブル
オペレーティングシステム Fixed フレキシブル フレキシブル
サービス Amazon EC2 または Amazon RDS Amazon EC2 Amazon EC2、Fargate、Lambda
支払いオプション すべて前払い、一部前払い、前払いなし すべて前払い、一部前払い、前払いなし すべて前払い、一部前払い、前払いなし
インスタンス制限 アベイラビリティーゾーンあたり 20 無制限 無制限
注記

Savings Plans は、時間単位の金額的コミットメントに基づいて割引を提供することで機能します。時間単位の金額的コミットメントは、プランの期間中はキャンセルも変更もできませんが、追加の使用量をカバーするために追加の Savings Plans を購入できます。これにより、フリートの増加に合わせて一定の時間単位のコミットメントを維持できます。

AWS Cost ExplorerAWS クラウドインテリジェンスダッシュボードなどのツールを使用して、コミットメントを追跡できます。Cost Explorer は、組織が Savings Plans カバレッジ戦略を計画するのに役立つカバレッジターゲット線を提供します。ワークロードの 75% が定常状態の場合は、75% が適切なターゲットです。これにより、支出の 25% が、動的ワークロードに基づいてオンデマンド/可変となります。これを 85% のカバレッジまで増やす必要がある場合は、Savings Plans のコミットメントをもう 1 つ購入して、時間単位の金額的コミットメントを増やすことができます。

注記

リザーブドインスタンスの代わりに Savings Plans を購入することをお勧めしますが、リザーブドインスタンスを既に購入している場合は、2 つのコミットメントモデルを連携させることができます。

リザーブドインスタンスを購入したが、Savings Plans オプションの試用を開始する例について考えてみましょう。この組み合わせを最終請求に適用するロジックがあります。AWS アカウント に適用できる階層を次に示します。

  1. ゾーンリザーブドインスタンスは、それを所有するアカウントに適用されます。リザーブドインスタンスに残り時間がある場合は、組織の残りの部分に適用されます。

  2. Windows 用のサイズ柔軟ではないリージョンリザーブドインスタンスは、それを所有するアカウントの対応する使用量に適用されます。残っているものは、組織の残りの部分にロールアウトされます。

  3. サイズ柔軟なリージョンリザーブドインスタンスは、それを所有するアカウントに適用されてから (ファミリー内の最小インスタンスから順に大きいインスタンスへ)、組織の残りの部分に適用されます。

  4. リージョンリザーブドインスタンスは、未使用のオンデマンドキャパシティ予約に適用されます。

  5. EC2 Instance Savings Plans は、それを購入したアカウント内に適用されます。

  6. Compute Savings Plans は、それを購入したアカウント内に適用されます。

注記

割引は、最も大きい割引が適用される使用量から始まり、最も小さい割引へと進んでいきます。Windows インスタンスは、従来、最も一般的なインスタンスタイプ (T3、M6、C5 など) では Linux よりも割引の可能性が低くなっています。つまり、ほとんどの場合、Linux インスタンスは Windows インスタンスよりも多くの利点があります。

次の図は、リザーブドインスタンスを Savings Plans から分けた後の料金を示しています。Compute Savings Plans と EC2 Instance Savings Plans の両方が、まず実行中のインスタンスに適用され、次に未使用のオンデマンドキャパシティ予約に適用されます。

リザーブドインスタンスを Savings Plans から分けた後の料金

コスト最適化シナリオ

このセクションでは、ライセンス込み請求モデルを使用する Amazon EC2 専有ホストおよび Amazon EC2 インスタンスのコスト最適化シナリオについて説明します。

Amazon EC2 専有ホスト

オンプレミスの Windows ワークロードを AWS に移行するシナリオを考えてみましょう。データセンターには次のサーバーがあります。

  • 16 個の vCPU と 128 GB RAM を搭載した 2 台のサーバー

  • 32 個の vCPU と 164 GB RAM を搭載した 2 台のサーバー

  • 8 個の vCPU と 64 GB RAM を搭載した 1 台のサーバー

  • vCPU と 32 GB RAM を搭載した 16 台のサーバー

さらに、持ち込むのに十分なライセンスがあるため、独自のライセンスを AWS に持ち込むことができると仮定します。次の表は、AWS で使用できるサーバーインスタンスを示しています。

インスタンスタイプ CPU RAM
r5.4xlarge 16 128 2
r5.8xlarge 32 256 2
r5.2xlarge 8 64 1
r5.xlarge 4 32 16
      21

分析では、これらの 21 台の仮想マシンを、R5 インスタンスファミリーホストを持つ 2 つの専有ホストに分散できることが示されています。次の表は、これら 2 つの専有ホストのコストを示しています。

専有ホストオンデマンドシナリオ 前払い 1 か月 1 年 3 年 AWS 料金見積りツール
オンデマンド なし 10,123 USD 121,475 USD 364,392 USD AWS 料金見積りツール 見積もり
1 年間の Savings Plans なし 7,447 USD 89,362 USD AWS 料金見積りツール 見積もり
3 年間の Savings Plans なし 5,476 USD 65,712 USD 197,128 USD AWS 料金見積りツール 見積もり
前払いによる 3 年間の Savings Plans 84,438 USD 2,755 USD 117,499 USD 183,618 USD AWS 料金見積りツール 見積もり

AWS に移行するサーバーがある場合、1 年間の Savings Plans の最終料金は、オンデマンド料金で 121,475 USD ではなく、89,362 USD です。これは、1 年後には 26.5% の割引となるということです。より長期間の AWS の利用を検討している場合は、3 年間の Savings Plans を選択すれば、より大きなコスト削減を実現できます。3 年後には、364,392 USD ではなく 197,128 USD を支払います。これにより、3 年後には総額の 46% を節約できます。

ライセンス込みの Amazon EC2 インスタンス

単一の 3 層アプリケーションを AWS に移行し、AWS が提供するライセンスを使用するシナリオを考えてみましょう。さらに、アプリケーションが次のサーバーで動作すると仮定します。

  • 2 個の vCPU と 4 GB RAM を備えた 2 台のウェブサーバー

  • 8 個の vCPU と 16 GB RAM を搭載した 2 台のアプリケーションサーバー

  • 16 個の vCPU と 64 GB RAM を搭載した 2 台のデータベースサーバー (SQL Server Standard Edition を使用)

次の表は、AWS で使用できるサーバーインスタンスを示しています。

インスタンスタイプ CPU RAM
c5.large 2 4 2
c5.2xlarge 8 16 2
r5.2xlarge 8 64 2
      6 サーバー

次の表は、AWS でのこれらのサーバーのコストを示しています。

AWS で含まれるライセンス 前払い 1 か月 1 年 3 年 AWS 料金見積りツール
オンデマンド なし 3,912 USD 46,950 USD 140,849 USD AWS 料金見積りツール 見積もり
1 年間の Savings Plans なし 3,466 USD 41,952 USD   AWS 料金見積りツール 見積もり
前払いなしの 3 年間の Savings Plans なし 3,189 USD 38,264 USD 114,804 USD AWS 料金見積りツール 見積もり
前払いによる 3 年間の Savings Plans 112,110 USD なし なし なし AWS 料金見積りツール 見積もり

オンデマンド料金で、本番環境 (24 時間 365 日) でこれらのサーバーを実行する場合は、月額 3,912 USD を支払います。この月額コストの支払いは、1 年後には 46,950 USD、3 年後には合計 140,849 USD になります。

前払いなしで 1 年間の Savings Plans を選択した場合、月額コストは 3,466 USD に減少します。最初の年の終了時に、41,952 USD を支払います。これは合計 11% の割引です。前払いなしで 3 年間の Savings Plans を選択した場合、月額コストは 3,189 USD に減少します。3 年後には、114,804 USD を支払います。これにより、18.5% の節約になります。

コスト最適化の推奨事項

どちらのシナリオも、AWS でワークロードを計画および予測するときにコストを削減するのに役立ちます。2 番目のシナリオの割引は、1 番目のシナリオと比較して少ないことを認識することが重要です。2 番目のシナリオでは、ライセンス料金はクラウドサーバーの料金に含まれています。AWS はライセンス料金の割引を提供しませんが、常にライセンスを持ち込むことができ (特定のシナリオの場合)、AWS は常に最適なコンピューティング/インスタンス料金を保証できます。

コンピューティングリソースとインスタンスリソースへの AWS の支出を制御するには、以下を実行することをお勧めします。

  • 推奨事項にアクセスする

  • 必要に応じて推奨事項をカスタマイズする

  • 時間単位のコミットメントを確認する

推奨事項にアクセスする

Amazon EC2 コンソールを使用して、Savings Plans の推奨事項にアクセスできます。推奨事項は CSV 形式でダウンロードして、後で確認することもできます。詳細については、Savings Plans ドキュメントの「Monitoring your Savings Plans」を参照してください。

必要に応じて推奨事項をカスタマイズする

Amazon EC2 コンソールを開き、[インスタンス] セクションを展開して、[Savings Plans] を選択します。このページには、推奨事項を行う前後のインスタンスとコンピューティングの料金が表示されます。推奨事項では、次の要素を調整することもできます。

  • 期間 – 1~3 年など

  • 支払いオプション前払い一部前払い前払いなしなど

  • 履歴 – 過去 7 日間、30 日間、60 日間など

時間単位のコミットメントを確認する

同じ例を使用して、24 時間 365 日稼働しているインスタンスがあるとします。推奨事項は、Savings Plans を使用することです。サイズに応じて、オンデマンド料金は 1 時間あたり 120 USD です。1 時間あたり 90 USD をコミットすることもできますが、これはリージョン、インスタンス、購入オプションによって異なる場合があります。この例では、オンデマンドコストと比較して 25% を節約できます。また、使用率とカバレッジが定義したしきい値を下回っているかどうかを追跡し、予算の終了が近づいた際のアラートを設定することもできます。

推奨事項を確認する

Savings Plans の推奨事項を慎重に確認することをお勧めします。AWS はアクセス許可なしでは何も変更しません。これらは推奨事項のみであり、適用するかどうかはユーザーが決定します。

プランを購入する

Amazon EC2 コンソールを開き、[インスタンス] セクションを展開して、[Savings Plans] を選択します。次に、[Savings Plans の購入] を選択します。要件に基づいて、期間、リージョン、インスタンスファミリー、時間単位のコミットメント、支払いオプション、さらには開始日まで選択できます。Compute Savings Plans、EC2 Instance Savings Plans、SageMaker AI Savings Plans から選択できます。詳細については、Savings Plans ドキュメントの「Purchasing Savings Plans」を参照してください。

使用率レポートを取得する

Savings Plans を購入すると、使用率レポートを取得できます。このレポートは、使用率を確認し、購入したプランが割引をカバーして最大化するのに十分かどうかを確認し、新しい割引をキャンセルまたは追加するのに役立ちます。このレポートは、CSV などの他の形式にエクスポートできます。詳細については、Savings Plans ドキュメントの「Using the utilization report」を参照してください。

購入のベストプラクティスに従う

Savings Plans を購入する前に、次のベストプラクティスに従うことをお勧めします。

  • AWS Trusted Advisor を使用して、アイドル状態の EC2 リソースを削除します。

  • Savings Plans の購入前に適切なサイズ設定を行います。

  • 30~60 日間一貫して維持する時間単位の料金を設定します。

  • 組織が許容できる範囲の、一貫した時間単位の料金をカバーするコミットメントを購入します。需要や季節の変動を考慮します。

  • Savings Plans の予算を四半期ごとに見直して、一貫したレート (Savings Plans カバレッジの 70% のカバレッジターゲットなど) を維持します。レートが希望するカバレッジを下回った場合は、カバレッジ目標を達成するための調整として追加の Savings Plans を購入します。

その他のリソース