翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
キャパシティ予約でインスタンスを起動するように Auto Scaling グループを設定する
Amazon EC2 キャパシティ予約と Capacity Blocks for ML でインスタンスを起動するように Auto Scaling グループを設定するには、アプローチに一致する手順を選択します。
-
オンデマンドキャパシティ予約については、「」を参照してくださいキャパシティ予約の仕様を使用する。
-
Capacity Blocks または割り込み可能なキャパシティ予約については、「」を参照してください起動テンプレートからのターゲットCapacity Blocksまたは割り込み可能なキャパシティ予約。
-
同じ Auto Scaling グループに複数の予約タイプ (オンデマンドキャパシティ予約や などCapacity Blocks) を混在させる方法については、「」を参照してくださいディストリビューションセグメントを使用して複数のキャパシティ予約タイプをターゲットにする。
-
キャパシティ予約のターゲットオプションと動作の背景については、「」を参照してくださいAuto Scaling グループからのターゲットキャパシティ予約。
キャパシティ予約の仕様を使用する
新しい Auto Scaling グループを作成するときに、次のいずれかの方法を使用してキャパシティ予約の仕様を設定します。
既存の Auto Scaling グループを更新する
既存の Auto Scaling グループのキャパシティ予約の仕様を変更するには、次のいずれかの方法を使用します。
起動テンプレートからのターゲットCapacity Blocksまたは割り込み可能なキャパシティ予約
Launchlaunch-template-basedターゲティングを使用して、Auto Scaling グループからキャパシティ予約を消費Capacity Blocksまたは中断できます。このアプローチでは、起動テンプレートで市場タイプを設定し、Auto Scaling グループのターゲットとしてキャパシティ予約 ID を指定する必要があります。
Auto Scaling グループが混合インスタンスポリシーを使用している場合は、代わりに分散セグメントを使用することをお勧めします。これにより、Auto Scaling グループの 1 か所でキャパシティ予約を設定できます。Auto Scaling グループが単一のインスタンスタイプを使用する場合は、Launch-template-basedターゲティングが必要です。
起動テンプレートを設定する
起動テンプレートで、以下を設定します。
-
インスタンスマーケットタイプ (
InstanceMarketOptions.MarketType) をcapacity-block、割り込み可能なキャパシティ予約Capacity Blockinterruptible-capacity-reservationの場合は に設定します。 -
キャパシティ予約ターゲット (
CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationId) をキャパシティ予約 ID に設定します。
次の例では、create-launch-templateMarketType 値を に置き換えますinterruptible-capacity-reservation。
aws ec2 create-launch-template \ --launch-template-namemy-cr-launch-template\ --launch-template-data '{ "ImageId": "ami-0abcdef1234567890", "InstanceType": "p5.48xlarge", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-1234567890abcdef1" } } }'
起動テンプレートの作成の詳細については、Amazon EC2 ユーザーガイド」の「起動テンプレート」を参照してください。
Auto Scaling グループを作成する
起動テンプレートを使用する Auto Scaling グループを作成します。Auto Scaling グループは、キャパシティ予約と同じアベイラビリティーゾーンのサブネットで設定する必要があります。
次の例では、前のステップで作成した起動テンプレートを使用する Auto Scaling グループを作成します。
aws autoscaling create-auto-scaling-group \ --auto-scaling-group-namemy-cr-asg\ --launch-template LaunchTemplateName=my-cr-launch-template\ --min-size0--max-size4--desired-capacity4\ --vpc-zone-identifier "subnet-abc1234a"
詳細については、「起動テンプレートを使用して Auto Scaling グループを作成する」を参照してください。
操作のガイドライン
起動テンプレートベースのターゲティングを使用する場合は、次の運用ガイドラインを考慮してください。
-
起動テンプレートバージョン – Auto Scaling グループを、
$Defaultまたは バージョンではなく特定の起動テンプレート$Latestバージョンにポイントします。これにより、予約期間中の一貫性が確保されます。 -
インスタンスの置き換え – の有効期限Capacity Blockが切れるか、中断可能なキャパシティ予約が再利用されると、Amazon EC2 はそこで実行されているインスタンスを終了します。Auto Scaling ヘルスチェッカーは終了を検出し、ヘルスチェックに失敗したインスタンスと同じ方法で代替インスタンスを起動しようとします。これらの終了のスケーリングアクティビティは、終了または停止されたことを示す Amazon EC2 ヘルスチェックに応答してサービスが停止されたことを示します。
-
の場合 Capacity Blocks – Capacity Block 予約終了時刻の 30 分以上前に Auto Scaling グループをゼロにスケールします。Amazon EC2 は、終了時刻の 30 分前に残りのインスタンスの終了を開始します。スケジュールされたスケーリングを使用して、予約の開始時にスケールアウトし、終了前にスケールインします。必要に応じてライフサイクルフックを追加して、強制終了ウィンドウの前にアプリケーションを適切にシャットダウンします。
-
中断可能なキャパシティ予約の場合 – インスタンスは、キャパシティ所有者がキャパシティを再利用したときに 2 分間の通知で終了できます。正常なシャットダウンを処理するようにアプリケーションを設計します。Amazon EC2 は終了の 2 分前に通知を送信し、これらの通知に応答するようにカスタムオートメーションを設定できます。
Auto Scaling グループレベルでキャパシティ予約設定を上書きする
Auto Scaling グループでキャパシティ予約設定とターゲットを設定して、起動テンプレートの設定を上書きできます。キャパシティ予約の仕様の詳細については、「」を参照してくださいAuto Scaling グループからのターゲットキャパシティ予約。
考慮事項
-
混合インスタンスポリシー – Capacity Blocksまたは割り込み可能なキャパシティ予約のLaunch-template-basedターゲティングは、混合インスタンスポリシーではサポートされていません。これらの予約タイプを混合インスタンスポリシーで使用するには、「」を参照してくださいディストリビューションセグメントを使用して複数のキャパシティ予約タイプをターゲットにする。
-
ウォームプール – 起動テンプレートが Capacity Blockまたは割り込み可能なキャパシティ予約をターゲットとしている場合、ウォームプールはサポートされません。
-
起動テンプレートごとに 1 つのキャパシティ予約タイプ – 起動テンプレートは 1 つのキャパシティ予約タイプのみをターゲットにできます。1 つの Auto Scaling グループで複数のキャパシティ予約タイプをターゲットにするには、分散セグメントを使用します。