コンテナインスタンスのドレイン - Amazon Elastic Container Service

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

コンテナインスタンスのドレイン

クラスターからコンテナインスタンスを削除する必要がある場合があります。例えば、システム更新を実行する、Docker デーモンを更新する、またはクラスターサイズを縮小する場合などです。Amazon ECS では、コンテナインスタンスをDRAINING ステータスに遷移する能力を提供します。これは、コンテナインスタンスのドレインと呼ばれます。コンテナインスタンスを DRAINING に設定すると、Amazon ECS によって新規タスクがそのコンテナインスタンスに配置されなくなります。

サービスのドレイニング動作

PENDING 状態にあるサービスの一部であるタスクは、直ちに停止されます。クラスター内に利用可能なコンテナインスタンス容量がある場合、サービススケジューラによって置き換えタスクが開始されます。十分なコンテナインスタンス容量がない場合、問題を示すサービスイベントメッセージが送信されます。

RUNNING 状態にあるコンテナインスタンス上のサービスの一部であるタスクは、STOPPED 状態に移行します。サービススケジューラは、サービスのデプロイタイプ、デプロイ設定パラメータ、minimumHealthyPercent および maximumPercent に従って、タスクを置き換えようとします。詳細については、Amazon ECS デプロイタイプおよびサービス定義パラメータを参照してください。

  • minimumHealthyPercent が 100% を下回っている場合、タスクの代替中、スケジューラは一時的に desiredCount を無視できます。例えば、desiredCount が 4 つのタスクの場合、最小値 50% でスケジューラは 2 つの既存タスクを停止してから 2 つの新規タスクを開始できます。最小が 100% の場合、サービススケジューラは、代替タスクが正常な状態と見なされるまで既存タスクを削除できません。ロードバランサーを使用しないサービスのタスクが RUNNING 状態にある場合、正常な状態と見なされます。ロードバランサーを使用するサービスのタスクは、RUNNING 状態にあり、そのタスクをホストするコンテナインスタンスがロードバランサーによって正常と報告された場合に、正常であると見なされます。

    重要

    スポットインスタンスを使用していて、minimumHealthyPercent が 100% 以上の場合、サービスには、スポットインスタンスが終了する前にタスクを置き換えるための十分な時間がありません。

  • maximumPercent パラメータは、タスクの置き換え中に実行できるタスク数の上限を表します。これは、置き換えのバッチサイズを定義するために使用できます。例えば、desiredCount が 4 つのタスクで、最大が 200% であればドレインされる 4 つのタスクを停止する前に 4 つの新規タスクを開始できます (これを行うために必要なクラスターリソースを使用できる場合)。最大が 100% の場合、代替タスクは、ドレインするタスクが停止するまで開始できません。

    重要

    minimumHealthyPercentmaximumPercent の両方が 100% の場合、サービスは既存のタスクを削除できず、代替タスクを開始することもできません。これにより、コンテナインスタンスのドレインの成功を防止し、新たなデプロイが防止されます。

スタンドアロンタスクのドレイニング動作

PENDING または RUNNING 状態のスタンドアロンタスクは影響を受けません。自分で停止するか、手動で停止するまで待つ必要があります。コンテナインスタンスは DRAINING ステータスのままです。

インスタンスで実行されているすべてのタスクが STOPPED 状態に移行すると、コンテナインスタンスのドレインが完了します。コンテナインスタンスは、再びアクティブ化または削除されるまで、DRAINING 状態のままです。コンテナインスタンスのタスクの状態を確認するには、 containerInstanceパラメータを指定して ListTasksオペレーションを使用し、インスタンス上のタスクのリストを取得し、その後に各タスクの Amazon リソースネーム (ARN) または ID DescribeTasksを指定してタスクの状態を確認します。

コンテナインスタンスがタスクのホスティングを再開する準備ができたら、コンテナインスタンスの状態を DRAINING から ACTIVE に変更します。Amazon ECS サービススケジューラは、コンテナインスタンスを再度検討してタスクを配置します。

コンテナインスタンスのドレイン

次の手順に従って、新しい AWS Management Consoleを使用してコンテナインスタンスをドレインする設定ができます。

UpdateContainerInstancesState API アクションまたは update-container-instances-state コマンドを使用して、コンテナインスタンスのステータスを に変更することもできますDRAINING

AWS Management Console
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションペインで [クラスター] を選択します。

  3. [Clusters] (クラスター) ページで、インスタンスをホストするクラスターを選択します。

  4. [Cluster : name] (クラスター: 名前) のページで、[Infrastructure] (インフラストラクチャ) タブを選択します。次に、[Container instances] (コンテナインスタンス) タブを選択し、ドレインしたい各コンテナインスタンスのチェックボックスをオンにします。

  5. [アクション][ドレイン] の順に選択します。