Amazon ECS 対応 AMI での Amazon ECS コンテナエージェントのアップデート - Amazon Elastic Container Service

Amazon ECS 対応 AMI での Amazon ECS コンテナエージェントのアップデート

Amazon ECS対応AMI を使用している場合は、いくつかの方法で最新バージョンの Amazon ECS コンテナエージェントを取得できます (推奨される順に示します)。

  • 現在のコンテナインスタンスを終了してAmazon ECS 対応 Amazon Linux 2 AMI最新バージョンの を起動します (手動で起動するか、最新の AMIで Auto Scaling 起動設定を更新して起動します)。これにより、最新のテスト済みおよび検証済みバージョンの 、Docker、ecs-init、および Amazon ECS コンテナエージェントの新しいコンテナインスタンスが提供されます。詳細については、「Amazon ECS に最適化された AMI」を参照してください。

  • インスタンスに SSH で接続し、ecs-init パッケージ (および依存関係) を最新バージョンに更新します。このオペレーション により、Dockerの最新のテスト済みおよび検証済みバージョンを提供し、ecs-init Amazon LinuxリポジトリーおよびAmazon ECSコンテナーエージェントの最新バージョンで利用できます。詳細については、「Amazon ECS対応 &AMI; の ecs-init パッケージを更新するには」を参照してください。

  • コンソールまたは AWS CLI や AWS SDK 経由で UpdateContainerAgent API オペレーションを使用し、コンテナエージェントを更新します。詳細については、「UpdateContainerAgent API オペレーションで Amazon ECS コンテナエージェントを更新する」を参照してください。

注記

エージェント更新は Windows コンテナインスタンスに適用されません。Windows クラスター内のエージェントバージョンを更新するには、新しいコンテナインスタンスを起動することをお勧めします。

Amazon ECS対応 &AMI; の ecs-init パッケージを更新するには

  1. SSH 経由でコンテナインスタンスにログインします。詳細については、「クラシックコンソールを使用してコンテナインスタンスに接続します」を参照してください。

  2. 次のコマンドを使用して、ecs-init パッケージを更新します。

    sudo yum update -y ecs-init
    注記

    ecs-init パッケージと Amazon ECSコンテナエージェントが即座に更新されます。ただし、新しいバージョンの Docker は、Docker デーモンを再起動するまでロードされません。インスタンスを再起動するか、インスタンスで次のコマンドを実行して、再起動します。

    • Amazon ECS 対応 Amazon Linux AMI

      sudo systemctl restart docker
    • Amazon ECS に最適化された Amazon Linux AMI

      sudo service docker restart && sudo start ecs

UpdateContainerAgent API オペレーションで Amazon ECS コンテナエージェントを更新する

重要

-UpdateContainerAgentAPI は、Amazon ECS に最適化された AMI の Linux バリアントでのみサポートされます。ただし、Amazon ECS に最適化された Amazon Linux 2 (arm64) AMI は例外です。Amazon ECS に最適化された Amazon Linux 2 (arm64) AMI を使用するコンテナインスタンスの場合、ecs-initパッケージを使用してエージェントを更新します。他のオペレーティングシステムを実行しているコンテナインスタンスについては、「Amazon ECS コンテナエージェントの手動更新(Amazon ECS 最適化以外の AMI の場合)」を参照してください。Windows コンテナインスタンスを使用している場合は、新しいコンテナインスタンスを起動して、Windows クラスター内のエージェントバージョンを更新することをお勧めします。

UpdateContainerAgentAPI 処理は、コンソールまたは AWS CLI または AWS SDKを使ってエージェントのアップデートを要求したときに始まります。Amazon ECS は、現行のエージェントバージョンが最新の利用可能なバージョンに対して確認され、更新が可能であれば、次のフローチャートに示すように更新プロセスが進行します。更新が利用できない場合 (たとえばすでに最新バージョンがエージェントで実行されている場合) は、NoUpdateAvailableException が返されます。


                        エージェントの更新フロー

上に示した更新プロセスのステージは、次のとおりです。

PENDING

エージェントを更新できます。更新プロセスが開始されました。

STAGING

エージェントで、エージェントの更新のダウンロードが開始されています。エージェントで更新をダウンロードできない場合や、更新の内容が正しくないか破損している場合、エージェントは失敗通知を送信し、更新は FAILED 状態に遷移します。

STAGED

エージェントのダウンロードが完了し、エージェントの内容が確認されました。

UPDATING

ecs-init サービスが再起動され、新しいエージェントバージョンが取得されます。エージェントが何らかの理由で再起動できない場合、更新は FAILED 状態に遷移します。それ以外の場合は、エージェントから Amazon ECS に更新完了のシグナルが送信されます。

注記

エージェント更新は Windows コンテナインスタンスに適用されません。Windows クラスター内のエージェントバージョンを更新するには、新しいコンテナインスタンスを起動することをお勧めします。

New AWS Management Console

Amazon ECSに最適化されたAMIのAmazon ECS コンテナエージェントをコンソールでアップデートするには

  1. 新しいコンソールを「https://console.aws.amazon.com/ecs/v2」で開きます。

  2. ナビゲーションバーから、外部インスタンスが存在するリージョンを選択します。

  3. ナビゲーションペインで [Clusters] (クラスター) を選択し、外部インスタンスをホストするクラスターを選択します。

  4. [Cluster : name] (クラスター: 名前) のページで、[Infrastructure] (インフラストラクチャ) タブを選択します。

  5. [Container instances] (コンテナインスタンス) で、更新するインスタンスを選択し、[Update agent] (エージェントの更新) を選択します。

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

  2. [Clusters] (クラスター) ページで、確認するコンテナインスタンスをホストするクラスターを選択します。

  3. [Cluster: cluster_name] (クラスター: クラスター名) ページで、[ECS Instances] (ECS インスタンス) を選択します。

  4. 更新するコンテナインスタンスを選択します。

  5. [Container Instance] ページで、[Update agent] を選択します。

AWS CLI

Amazon ECSに最適化されたAMIのAmazon ECS コンテナエージェントを AWS CLI でアップデートするには

注記

UpdateContainerAgent API オペレーションを使用したエージェント更新は、Windows コンテナインスタンスに適用されません。Windows クラスター内のエージェントバージョンを更新するには、新しいコンテナインスタンスを起動することをお勧めします。

  • 次のコマンドを使用して、Amazon ECSコンテナインスタンスの コンテナエージェントを更新します。

    aws ecs update-container-agent --cluster cluster_name --container-instance container_instance_id