View a markdown version of this page

ディストリビューションセグメントを使用して複数のキャパシティ予約タイプをターゲットにする - Amazon EC2 Auto Scaling

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

ディストリビューションセグメントを使用して複数のキャパシティ予約タイプをターゲットにする

ディストリビューションセグメントを使用して、複数のキャパシティ予約タイプ - オンデマンドキャパシティ予約、ML Capacity Blocks用、割り込み可能なキャパシティ予約 - を優先順序で消費するように Auto Scaling グループを設定します。これらの予約タイプをターゲットにするには、Auto Scaling グループを、さまざまなキャパシティ予約が混在するキャパシティ予約リソースグループを指します。

ディストリビューションセグメントを設定すると、Auto Scaling は指定した優先順位で予約タイプ間でインスタンスを起動し、オプションでオンデマンド容量へのフォールバックを行います。

Auto Scaling が市場オプション間でインスタンスを分散する方法

Auto Scaling は、混合インスタンスポリシー設定に基づいて、起動したインスタンスをさまざまな市場オプションに分散します。

オンデマンドおよびスポットディストリビューション

混合インスタンスポリシーの OnDemandBaseCapacityおよび OnDemandPercentageAboveBaseCapacityフィールドを使用して、オンデマンドキャパシティとスポットキャパシティ間でインスタンスを分散できます。次の例では、最初の 2 つのインスタンスをオンデマンドとして起動し、残りのインスタンスの 25% をオンデマンドとして起動し、残りのインスタンスをスポットとして起動します。

{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }

ディストリビューションセグメントを使用したディストリビューション

ディストリビューションセグメントは、優先順位を付けるキャパシティタイプのリストを含む Auto Scaling グループの設定です。 ディストリビューションセグメントは、混合インスタンスポリシーの DistributionSegmentsフィールドに設定されます。

Auto Scaling は現在、Auto Scaling グループごとに 1 つのディストリビューションセグメントのみをサポートしています。すべての Auto Scaling グループのキャパシティは、そのセグメントのターゲットキャパシティタイプ (TargetCapacityTypes) 全体に分散されます。

の有効な値TargetCapacityTypesは次のとおりです。

  • on-demand-capacity-reservation – オンデマンドキャパシティ予約

  • capacity-block – ML Capacity Blocks用

  • interruptible-capacity-reservation – 割り込み可能なキャパシティ予約

  • on-demand – オンデマンド容量

リストの順序によって、Auto Scaling が起動したインスタンスを分散する方法が決まります。Auto Scaling は、タイプがリストされている順序で容量を消費しようとします。特定のキャパシティタイプが使用できない場合、Auto Scaling はそのタイプをスキップし、次のタイプに進みます。

次の例では、インスタンスをオンデマンドキャパシティ予約-backed として最初に起動し、次に Capacity Block-backed として起動し、次に割り込み可能なキャパシティ予約-backed として起動し、最後にリザーブドキャパシティが不十分な場合はオンデマンドとして起動します。

{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }

リストon-demandに を含めると、リザーブドキャパシティが利用できない場合、Auto Scaling はオンデマンドキャパシティにフォールバックします。を省略するとon-demand、リザーブドキャパシティーが利用できない場合、インスタンスは起動に失敗します。を含める場合はon-demand、リストの最後のエントリである必要があります。

注記

現時点では、スポット容量はターゲット容量タイプとしてサポートされていません。

前提条件

Auto Scaling グループでディストリビューションセグメントを設定する前に、使用するキャパシティ予約と、それらを含むキャパシティ予約リソースグループを作成する必要があります。

キャパシティ予約を作成するには、Amazon EC2 ユーザーガイド」の「次のいずれか」を参照してください。

複数の異なるキャパシティ予約を含むキャパシティ予約リソースグループを作成するには、Amazon EC2 ユーザーガイド」の「キャパシティ予約リソースグループ」を参照してください。

ディストリビューションセグメントを使用するように Auto Scaling グループを設定する

ディストリビューションセグメントを使用するように Auto Scaling グループを設定するには、それらを混合インスタンスポリシーに追加し、キャパシティ予約リソースグループ ARN をキャパシティ予約仕様のターゲットとして設定します。

Auto Scaling は、起動テンプレート にリストされているインスタンスタイプの順序で、各キャパシティタイプの優先順位でインスタンスを起動しようとしますOverrides

Console
新しいグループでディストリビューションセグメントを設定するには (コンソール)
  1. ステップ 2 までAmazon EC2 起動ウィザードを使用して Auto Scaling グループを作成する、「」のステップに従います。

  2. 「インスタンス起動オプションの選択」ページの「インスタンスタイプの要件」で、「起動テンプレートの上書き」を選択し、「ディストリビューションセグメントの起動テンプレートの上書き」を選択します。

  3. インスタンスディストリビューションオプションで、ディストリビューションセグメントを選択します。

  4. ターゲットキャパシティ予約タイプの選択 で、このディストリビューションセグメントに含めるキャパシティ予約タイプを選択します。キャパシティ予約リソースグループに、選択した予約タイプが含まれていることを確認します。

  5. 注文ターゲットのキャパシティ予約タイプで、タイプを目的の優先順位にドラッグします。Auto Scaling は、この順序でキャパシティ予約にインスタンスを起動します。オンデマンドインスタンスを選択した場合は、最後である必要があります。

  6. 追加キャパシティ設定キャパシティ予約ターゲットで、キャパシティ予約リソースグループの指定 (ARN によるターゲット) を選択し、キャパシティ予約リソースグループの ARN を選択します。

  7. ウィザードの残りのステップに進みます。

AWS CLI

create-auto-scaling-group コマンドを使用して、ディストリビューションセグメントを持つ新しい Auto Scaling グループを作成します。

次の例では、まずオンデマンドキャパシティ予約、次に 、Capacity Blocks次に割り込み可能なキャパシティ予約、次にオンデマンドの優先順位を使用します。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 0 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a" \ --mixed-instances-policy '{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template" }, "Overrides": [ {"InstanceType": "m5.24xlarge"}, {"InstanceType": "p5.48xlarge"} ] }, "InstancesDistribution": { "OnDemandAllocationStrategy": "prioritized", "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

ディストリビューションセグメントとの間で移行する

既存の Auto Scaling グループを移行してディストリビューションセグメントを使用し、必要に応じて標準設定に戻すことができます。すべての移行シナリオで、既存のインスタンスは引き続き実行されます。新しい起動は、更新された設定に従います。

混合インスタンスグループを移行して分散セグメントを使用する

既存の混合インスタンスグループを移行してディストリビューションセグメントを使用するには、次のいずれかの方法を使用します。Auto Scaling は、ディストリビューションセグメントを追加するOnDemandPercentageAboveBaseCapacityと、 OnDemandBaseCapacityと を自動的にクリアします。

Console
既存のグループをディストリビューションセグメントに移行するには (コンソール)
  1. で Amazon EC2 コンソールを開きhttps://console.aws.amazon.com/ec2/、ナビゲーションペインから Auto Scaling Groups を選択します。

  2. 上部のナビゲーションバーから、Auto Scaling グループが配置されている を選択します AWS リージョン 。

  3. Auto Scaling グループの名前を選択して、詳細ページを開きます。

  4. インスタンスタイプの要件セクションで、編集 を選択します。

  5. インスタンスタイプの要件で、起動テンプレートを上書きを選択し、次にディストリビューションセグメントの起動テンプレートを上書きを選択します。

  6. インスタンスディストリビューションオプションで、ディストリビューションセグメントを選択します。

  7. ターゲットキャパシティ予約タイプの選択 で、このディストリビューションセグメントに含めるキャパシティ予約タイプを選択します。キャパシティ予約リソースグループに、選択した予約タイプが含まれていることを確認します。

  8. 「注文ターゲットキャパシティ予約タイプ」で、タイプを目的の優先順位にドラッグします。オンデマンドインスタンスを選択した場合は、最後である必要があります。

  9. [更新] を選択します。

キャパシティ予約リソースグループを既存のグループのターゲットとして設定するには、「」を参照してください既存の Auto Scaling グループを更新する

AWS CLI

update-auto-scaling-group コマンドを使用して、混合インスタンスポリシーに分散セグメントを追加し、キャパシティ予約リソースグループ ARN をターゲットとして設定します。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "default", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

ディストリビューションセグメントから移行する

標準混合インスタンスグループに戻すには、次のいずれかの方法を使用します。

Console
グループからディストリビューションセグメントを削除するには (コンソール)
  1. で Amazon EC2 コンソールを開きhttps://console.aws.amazon.com/ec2/、ナビゲーションペインから Auto Scaling Groups を選択します。

  2. 上部のナビゲーションバーから、Auto Scaling グループが配置されている を選択します AWS リージョン 。

  3. Auto Scaling グループの名前を選択して、詳細ページを開きます。

  4. インスタンスタイプの要件セクションで、編集 を選択します。

  5. インスタンスタイプの要件で、リセットを選択してテンプレートを起動します。これにより、起動テンプレートのオーバーライドが削除され、混合インスタンスポリシーとそのディストリビューションセグメントがクリアされます。

  6. [更新] を選択します。

AWS CLI

updateupdate-auto-scaling-group コマンドを使用して、 OnDemandBaseCapacityまたは を設定しますOnDemandPercentageAboveBaseCapacity。Auto Scaling は、レガシーフィールドを設定すると、ディストリビューションセグメントを自動的にクリアします。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'

または、 を空のリストDistributionSegmentsに設定して、ディストリビューションセグメントを明示的にクリアすることもできます。

混合インスタンスポリシーなしで Auto Scaling グループで起動テンプレートの使用に切り替える場合は、最上位起動テンプレートで update-auto-scaling-group コマンドを使用します。Auto Scaling は、最上位起動テンプレートを指定すると、混合インスタンスポリシーをクリアします。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'
注記

--desired-configuration パラメータを使用したインスタンスの更新を使用して、ディストリビューションセグメントとの間で移行することもできます。

分散セグメントによるスケールイン動作

Auto Scaling グループがスケールインすると、Auto Scaling は の逆の順序でインスタンスを終了しますTargetCapacityTypes。オンデマンドインスタンスは最初に終了し、次に優先度の最も低いキャパシティタイプのインスタンスが続き、次に優先度の最も高いキャパシティタイプのインスタンスが続きます。

たとえば、 を TargetCapacityTypesに設定すると["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand"]、Auto Scaling はスケールイン中に次の順序でインスタンスを終了します。

  1. On-Demand

  2. 割り込み可能なキャパシティ予約サポート

  3. Capacity Block-Backed

  4. オンデマンドキャパシティ予約対応

ディストリビューションセグメントを更新して予約タイプを削除すると、削除されたタイプの既存のインスタンスは、タイプがまだリストにあるインスタンスの前に終了します。

考慮事項

  • キャパシティ予約設定 – ディストリビューションセグメントを設定する場合にのみサポートdefaultされます。詳細については、「キャパシティ予約の詳細設定」を参照してください。

  • オンデマンド配分戦略 – ディストリビューションセグメントを設定する場合にのみサポートprioritizedされます。

  • ウォームプール – ウォームプールはディストリビューションセグメントではサポートされていません。

  • スポットキャパシティ – スポットキャパシティは、ディストリビューションセグメントのターゲットキャパシティタイプとしてサポートされていません。