翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECS サービススケーリング実行ブロック
ECS サービススケーリング実行ブロックを使用すると、マルチリージョンリカバリプロセスの一環として、送信先リージョンで ECS サービスをスケーリングできます。キャパシティの割合は、リージョン切り替えがフェイルオーバーまたは非アクティブ化するリージョンを基準として定義できます。
設定
ECS サービススケーリング実行ブロックを設定するには、次の値を入力します。
重要
実行ブロックを設定する前に、プランの実行ロールに正しい IAM ポリシーが設定されていることを確認してください。詳細については、「Amazon ECS サービススケーリング実行ブロックのサンプルポリシー」を参照してください。
ステップ名: 名前を入力します。
ステップの説明 (オプション): ステップの説明を入力します。
リージョンのリソース: リージョンごとに、ECS クラスター ARN と ECS サービス ARN を入力します。
ソースリージョンのタスク数と一致する割合: アクティブ化されたリージョンで一致するソースリージョンで実行中のタスクの望ましい割合を入力します。
キャパシティモニタリングアプローチ: Amazon ECS のキャパシティをモニタリングするための次のいずれかのアプローチを選択します。
24 時間にわたってサンプリングされた最大実行キャパシティ: Amazon ECS サービスで実行中のタスク数の値を使用するには、このオプションを選択します。このオプションは追加コストを発生させませんが、他のオプションである CloudWatch メトリクスを使用するよりも精度が低い可能性があります。
リージョン切り替え API では、このオプションは
sampledMaxInLast24Hoursの指定に対応します。詳細については、「Amazon Elastic Container Service 開発者ガイド」の「Amazon ECS サービスを自動的にスケールする」を参照してください。
コンテナインサイトを介して 24 時間にわたってサンプリングされた最大実行キャパシティ: Amazon ECS Container Insights メトリクスを使用するには、このオプションを選択します。オプションを使用すると、より正確になりますが、コンテナインサイトを使用するための追加コストが発生します。
リージョン切り替え API では、このオプションは
autoscalingMaxInLast24Hoursの指定に対応します。このオプションを使用するには、まずコンテナインサイトを有効にする必要があります。詳細については、「Amazon CloudWatch ユーザーガイド」の「コンテナインサイトの設定」を参照してください。
ターゲットグループのヘルスを待機する: リージョンスイッチが、ステップを完了する前に、関連する Elastic Load Balancing ターゲットグループで ECS サービスのタスクが正常になるまで待機するかどうかを選択します。
有効にすると、リージョンスイッチは容量をスケーリングした後にターゲットグループのヘルスをチェックします。リージョンスイッチは、関連するすべてのターゲットグループが、必要な数のタスクを として報告するまで、次のステップに進みません
healthy。必要なタスク数は、リージョンスイッチがステップに対して計算する必要数であり、スケーリング時に待機するのと同じ数です。無効にすると、ターゲットグループのヘルスをチェックすることなく、ターゲットサービスが目的の実行中のタスク数に達するとすぐにステップが完了します。
リージョンスイッチ API では、このオプションは を
enabledまたはwaitELBTargetGroupHealthyとして指定することに対応しますdisabled。タイムアウト: タイムアウト値を入力します。
次に、[ステップを保存] を選択します。
仕組み
ブロックが実行されると、リージョンスイッチは、選択したキャパシティモニタリングアプローチによって測定され、過去 24 時間におけるソースリージョンの最大実行タスク数を読み取ります。数式 を使用してターゲットを計算します。ここでceil(percentToMatch * source task count)、ceil() はサービスの必要数を容量として使用して、小数結果を切り上げます。次に、この数に合わせて送信先サービスをスケールアップします。リージョンスイッチは、現在の必要数が計算されたターゲットよりも少ない場合にのみ、送信先サービスをスケールアップします。現在の希望するカウントがすでにターゲット以上である場合、実行はスケーリングなしで続行されます (リージョンスイッチがスケールダウンすることはありません)。サービスで Application Auto Scaling が有効になっている場合、リージョンスイッチは Application Auto Scaling の最小容量と必要な数を更新します。この計算は、アクティブ/パッシブプランとアクティブ/アクティブプランの両方に適用されます。
ソース容量は常に他のリージョンの容量です。アクティブ/アクティブプランでは、リージョンスイッチは、アクティブ化ワークフローと非アクティブ化ワークフローの両方で、他の設定済みリージョンをソースとして使用します。
リージョンスイッチは、送信先サービスの必要数が満たされるまで待ってから、次のステップに進みます。ターゲットグループのヘルスを待機を有効にすると、リージョンスイッチは、送信先サービスが目的の数に達した後にターゲットグループのヘルスをチェックします。サービスにアタッチされた Elastic Load Balancing ターゲットグループを読み取り、アタッチされたすべてのターゲットグループがタスクの必要数を として報告するまで、そのヘルスをポーリングしますhealthy。このチェックはスケーリングが発生したかどうかを実行するため、サービスがすでに必要な数を持っていても、リージョンスイッチはステップを完了する前にターゲットグループのヘルスを検証します。不正な実行の場合、代わりにタスク数の最小パーセンテージが になるまで待機しますhealthy。
タスクは、このサービスに属し、一致するターゲットグループエントリが である場合にのみ、正常な合計にカウントされますhealthy。リージョンスイッチがサービスのタスクを識別する方法は、ネットワークモードによって異なります。
awsvpcモードでは、Amazon ECS はタスク ENI IP アドレスで各タスクを登録します。リージョンスイッチは、ターゲットグループのアドレスタイプに従って、各タスクを IPv4 または IPv6 アドレスで照合します。bridgeまたはhostモードでは、Amazon ECS はコンテナインスタンスとコンテナにマッピングされたホストポートによって各タスクを登録します。リージョンスイッチは、コンテナインスタンスの EC2 インスタンス ID とそのホストポートと一致します。
ステップは、関連するすべてのターゲットグループで必要なすべてのタスクが正常になった後にのみ完了します。サービスにロードバランサーがない場合、リージョンスイッチはチェックをスキップしてステップを完了します。タイムアウト前に必要なタスクが正常にならない場合、ステップは失敗します。
注記
ターゲットグループのヘルス待機オプションは、Application Load Balancer (ALB) および Network Load Balancer (NLB) ターゲットグループのみをサポートします。Classic Load Balancer はサポートされていません。ECS サービスが Classic Load Balancer のみを使用している場合、このオプションを有効にしても効果はありません。
ブロックは、正常な実行と不正な実行の両方をサポートします。不正な実行の場合は、リージョンの切り替えが進む前に、送信先リージョンで一致する送信元リージョンのタスク数の最小パーセンテージを指定します。実行ブロックで指定したパーセンテージ、または不正な実行の最小パーセンテージは、ターゲットグループのヘルスのスケーリングと待機の両方に適用されます。