配分戦略 - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

配分戦略

複数のインスタンスタイプを使用する場合、Amazon EC2 Auto Scaling が可能なインスタンスタイプからオンデマンドおよびスポットキャパシティを満たす方法を管理します。これを実行するには、割り当て戦略を指定します。

混合インスタンスグループのベストプラクティスを確認するには、「」を参照してください設定の概要

スポットインスタンス

Amazon EC2 Auto Scaling では、スポットインスタンス用に、次の配分戦略を提供しています。

price-capacity-optimized (推奨)

価格とキャパシティで最適化された配分戦略では、価格とキャパシティの両方を考慮して、中断される可能性が最も低く、価格ができるだけ低いスポットインスタンスプールを選択します。

使用を開始する際には、この戦略をお勧めします。詳細については、 AWS ブログの「EC2 スポットインスタンスの price-capacity-optimized 配分戦略の紹介」を参照してください。

capacity-optimized

Amazon EC2 Auto Scaling は、起動するインスタンスの数に最適なキャパシティを持つプールからスポットインスタンスをリクエストします。

スポットインスタンスでは、料金は需要と供給の長期的な傾向に基づいて時間の経過とともに緩やかに変動します。ただし、キャパシティはリアルタイムで変動します。capacity-optimized戦略では、リアルタイムのキャパシティーデータを調べ、可用性の最も高いプールを予測することで、そのプールから スポットインスタンス を自動的に起動します。これにより、作業の再開とチェックポイントに伴う中断コストが高くなる可能性があるワークロードの中断を最小限に抑えることができます。最初に特定のインスタンスタイプを起動する可能性を高めるには、capacity-optimized-prioritized を使用します。

capacity-optimized-prioritized

起動テンプレートのオーバーライドのリスト内のインスタンスタイプの順序を、優先順位の高いものから順番に (リストの最初から最後まで) 設定することもできます。Amazon EC2 Auto Scaling は、ベストエフォートベースでインスタンスタイプの優先順位を尊重しますが、まずはキャパシティーに合わせて最適化します。これは、中断の可能性を最小限に抑える必要があるワークロードに適したオプションですが、適切なインスタンスタイプを設定することも重要です。オンデマンド配分戦略を prioritized に設定した場合、オンデマンドキャパシティを満たす際にも同じ優先順位が適用されます。

lowest-price

Amazon EC2 Auto Scaling は、[最低料金のプール] の設定で指定したスポットプールの N 個のプール全体で、アベイラビリティーゾーン内の最低料金のプールを使用してスポットインスタンスをリクエストします。例えば、4 つのインスタンスタイプと 4 つのアベイラビリティーゾーンを指定した場合、Auto Scaling グループは最大 16 個のスポットプールにアクセスできます。(各アベイラビリティーゾーンに 4 個ずつ)。配分戦略で 2 つのスポットプール (N=2) を指定した場合、Auto Scaling グループは、アベイラビリティゾーンあたり 2 つの最低価格のプールを引き出し、スポットキャパシティを満たすことができます。

この戦略では、インスタンスの価格のみが考慮され、キャパシティの可用性は考慮されないため、中断率が高くなる可能性があります。

Amazon EC2 Auto Scaling は、指定された N 個のプールからスポットインスタンスを取得しようとします。ただし、希望するキャパシティを満たす前にプールにスポットキャパシティの残量がなくなった場合、Amazon EC2 Auto Scaling は次に料金の低いプールのキャパシティを利用して引き続きリクエストを満たします。希望するキャパシティを満たすために、指定した N 個を超えるプールからスポットインスタンスが割り当てられることがあります。同様に、ほとんどのプールにスポットキャパシティーがない場合には、指定した N 個より少ないプールから希望するキャパシティのすべてが割り当てられることがあります。

注記

AMD SEV-SNP を有効にして 起動するようにスポットインスタンスを設定すると、選択したインスタンスタイプのオンデマンド時間料金の 10%  に相当する追加の時間単位使用料が請求されます。配分戦略で料金を入力として使用する場合、Amazon EC2 Auto Scaling にはこの追加料金は含まれず、スポット料金のみが使用されます。

オンデマンドインスタンス

Amazon EC2 Auto Scaling では、オンデマンドインスタンスに使用できる、以下の配分戦略を提供しています。

lowest-price

Amazon EC2 Auto Scaling は、現在のオンデマンド価格に基づき、各アベイラビリティーゾーンで最も最低価格のインスタンスタイプを自動的にデプロイします。

希望するキャパシティを満たすために、各アベイラビリティーゾーンで複数のタイプのオンデマンドインスタンスを受け取る場合があります。これは、リクエストするキャパシティの大きさによって異なります。

prioritized

オンデマンドキャパシティを満たすとき、Amazon EC2 Auto Scaling は、起動テンプレートのオーバーライドのリスト内のインスタンスタイプの順序に基づき、最初に使用するインスタンスタイプを決定します。例えば、3 つの起動テンプレートの優先度を c5.largec4.largec3.large と指定するとします。オンデマンドインスタンスが起動すると、Auto Scaling グループは、c5.largec4.largec3.large の順にオンデマンドキャパシティを満たします。

オンデマンドインスタンスの優先順位を管理する場合は、次の点を考慮してください。

  • Savings Plans またはリザーブドインスタンスを利用して使用料を前払いすることで、オンデマンドインスタンスの大幅な割引を受けることができます。詳細については、「Amazon EC2 料金」ページを参照してください。

  • リザーブドインスタンスでは、Amazon EC2 Auto Scaling が一致するインスタンスタイプを起動すると、通常のオンデマンドインスタンス コストの割引料金が適用されます。したがって、c4.large の未使用のリザーブドインスタンスがある場合、インスタンスタイプの優先順位を設定して、リザーブドインスタンスの最も高い優先順位を c4.large インスタンスタイプに付与できます。c4.large インスタンスが起動すると、リザーブドインスタンスの料金が発生します。

  • Savings Plans では、Amazon EC2 Instance Savings Plans または Compute Savings Plans を使用する場合、通常のオンデマンドインスタンス コストの割引料金が適用されます。Savings Plans では、インスタンスタイプの優先順位をより柔軟に設定することができます。Savings Plans の対象となるインスタンスタイプであれば、任意の順序で優先順位を設定できます。また、インスタンスタイプの全体の順序を変えることも可能で、その場合でも Savings Plans の割引料金が適用されます。Savings Plans の詳細については、Savings Plans ユーザーガイドを参照してください。

配分戦略が重みとどのように連携するか

オーバーライド (またはグループレベルで "DesiredCapacityType": "vcpu"または ) "DesiredCapacityType": "memory-mib"WeightedCapacityパラメータを指定すると、割り当て戦略は他の Auto Scaling グループの場合とまったく同じように機能します。

唯一の違いは、 lowest-priceまたは price-capacity-optimized戦略を選択すると、各アベイラビリティーゾーンのユニットあたりの料金が最も低いインスタンスプールからインスタンスが取得されることです。詳細については、「インスタンスの重みを使用するように Auto Scaling グループを設定する」を参照してください。

例えば、vCPU の量が異なる複数のインスタンスタイプを含む Auto Scaling グループがあるとします。スポットとオンデマンドの配分戦略として lowest-price を使うとします。各インスタンスタイプの vCPU 数に基づいた重みの割り当てを選択する場合、Amazon EC2 Auto Scaling は、フルフィルメントの時点で割り当てられた重みの値 (vCPU など) あたりの料金が最も低いインスタンスタイプを起動します。スポットインスタンスの場合、これは vCPU あたりの最低スポット料金であることを意味します。オンデマンドインスタンスの場合、これは vCPU あたりの最低オンデマンド料金であることを意味します。