AWS Systems Managerを使用してコンテナインスタンスをリモート管理する - Amazon Elastic Container Service

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

AWS Systems Managerを使用してコンテナインスタンスをリモート管理する

AWS Systems Manager (Systems Manager) の Run Command 機能を使用して、Amazon ECS コンテナインスタンスの設定を安全かつリモートで管理できます。Run Command を使用すると、インスタンスにローカルにログオンしなくても一般的な管理タスクを簡単に実行することができます。複数のコンテナインスタンスでコマンドを同時に実行することで、クラスター全体の設定の変更を管理できます。Run Command は各コマンドのステータスと結果をレポートします。

ここでは、Run Command を使用して実行できるタスクのタイプについていくつか例を示します。

  • パッケージをインストールまたはアンインストールする。

  • セキュリティ更新プログラムを実行する。

  • Docker イメージをクリーンアップする。

  • サービスを停止または起動する。

  • システムリソースを表示する。

  • ログファイルを表示する。

  • ファイルオペレーションを実行する。

Run Command の詳細については、の「AWS Systems Manager ユーザーガイド」の「AWS Systems Manager Run Command」を参照してください。

Run Command IAM ポリシー

Run Command を使用してコンテナインスタンスにコマンドを送信する前に、ecsInstanceRole による Systems Manager API へのアクセスを許可する IAM ポリシーをアタッチする必要があります。以下の手順では、コンテナインスタンスロールに Systems Manager 管理ポリシーをアタッチして、このロールにより起動したインスタンスで Run Command を使用できるようにする方法について説明します。

Systems Manager ポリシーをecsInstanceRole にアタッチするには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで Roles] (ロール) を選択します。

  3. [ecsInstanceRole] を選択します。ロールが存在しない場合は、「Amazon ECS コンテナインスタンスの IAM ロール」の手順に従ってロールを作成します。

  4. [Permissions] (許可) タブを選択します。

  5. [ポリシーのアタッチ] を選択します。

  6. アタッチする利用可能なポリシーを絞り込むには、[フィルター] に SSM と入力します。

  7. ポリシーのリストで、AmazonSSMManagedInstanceCore の次のボックスを選択します。このポリシーは、Systems Manager の使用に必要な最小限のアクセス許可を付与するために使用します。

    Systems Manager の操作用に付与できるその他のポリシーについては、AWS Systems Manager ユーザーガイドの「Systems Manager 用 IAM インスタンスプロファイルの作成」を参照してください。

  8. [Attach Policy] (ポリシーのアタッチ) を選択します。

Run Command の使用

Systems Manager 管理ポリシーを にアタッチecsInstanceRoleし、 AWS Systems Manager エージェント (SSM Agent) がコンテナインスタンスにインストールされたことを確認したら、Run Command を使用してコンテナインスタンスにコマンドを送信できます。インスタンスでのコマンドおよびシェルスクリプトの実行と、その結果の出力の表示については、AWS Systems Manager ユーザーガイド の「Systems Manager Run Command を使用したコマンドの実行」および「Run Command のチュートリアル」を参照してください。

例: Run Command を使用してコンテナインスタンスソフトウェアを更新するには

Run Command の一般的ユースケースは、コンテナインスタンスのフリート全体でインスタンスソフトウェアを一度に更新することです。

  1. Systems Manager 管理ポリシーを ecsInstanceRoleにアタッチします。

  2. SSM Agent がコンテナインスタンスにインストールされていることを確認します。詳細については、「Linux 用 EC2 インスタンスに SSM Agent を手動でインストールする」を参照してください。

  3. https://console.aws.amazon.com/ Systems Manager で Systems Manager コンソールを開きます。

  4. 左ナビゲーションペインで [Run Command] を選択後、[Run command] を選択します。

  5. [Command document] (コマンドのドキュメント) で、AWS-RunShellScript を選択します。

  6. [Commands] (コマンド) セクションで、コンテナインスタンスに送信するコマンドを入力します。この例では、以下のコマンドはインスタンスソフトウェアを更新します。

    $ yum update -y
  7. [Target instances] (ターゲットインスタンス) セクションで、更新コマンドを実行するコンテナインスタンスの横にあるチェックボックスをオンにします。

  8. [Run] (実行) を選択して、指定したインスタンスにコマンドを送信します。

  9. (オプション) 更新アイコンを選択して、コマンドのステータスをモニタリングします。

  10. (オプション) [Targets and output] (ターゲットと出力) で、インスタンス ID の横にあるボタンを選択し、[View output] (出力を表示) を選択します。