Amazon Elastic Container Service
開発者ガイド (API バージョン 2014-11-13)

Amazon ECS コンテナエージェントの Amazon ECS-optimized AMI での更新

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

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

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

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

注記

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

Amazon ECS-optimized AMI の ecs-init パッケージを更新するには

  1. SSH 経由でコンテナインスタンスにログインします。詳細については、「コンテナインスタンスへの接続」を参照してください。

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

    [ec2-user ~]$ sudo yum update -y ecs-init

    注記

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

    • Amazon ECS-optimized Amazon Linux 2 AMI:

      sudo systemctl restart docker
    • Amazon ECS-optimized Amazon Linux AMI:

      sudo service docker restart && sudo start ecs

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

重要

この更新プロセスは Amazon ECS-optimized AMI の Linux バリアントでのみサポートされています。他のオペレーティングシステムを実行しているコンテナインスタンスについては、「Amazon ECS コンテナエージェントの手動更新 (Amazon ECS-Optimized AMI 以外の場合)」を参照してください。

注記

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

Amazon ECS-optimized AMI で Amazon ECS エージェントバージョンを v1.0.0 より古いバージョンから更新するには、現行のコンテナインスタンスを終了し、最新バージョンの AMI で新しいインスタンスを起動することをお勧めします。プレビューバージョンを使用しているコンテナインスタンスは削除し、最新バージョンの AMI に置き換える必要があります。詳細については、「Amazon ECS コンテナインスタンスの起動」を参照してください。

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


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

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

PENDING

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

STAGING

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

STAGED

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

UPDATING

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

コンソールで Amazon ECS-optimized AMI の Amazon ECS コンテナエージェントを更新するには

注記

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

  1. https://console.aws.amazon.com/ecs/ にある Amazon ECS コンソールを開きます。

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

  3. [Cluster : cluster_name] ページで、[ECS Instances] を選択します。

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

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

AWS CLI を使用して Amazon ECS-optimized AMI の Amazon ECS コンテナエージェントを更新するには

注記

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

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

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