AWS Systems Manager を使用して Amazon ECS コンテナインスタンスをリモートで管理する
AWS Systems Manager (Systems Manager) で Run Command 機能を使用すると、Amazon ECS コンテナインスタンスの設定を安全にリモートで管理できます。Run Command を使用すると、インスタンスにローカルにログオンしなくても一般的な管理タスクを簡単に実行することができます。複数のコンテナインスタンスでコマンドを同時に実行することで、クラスター全体の設定の変更を管理できます。Run Command は各コマンドのステータスと結果をレポートします。
ここでは、Run Command を使用して実行できるタスクのタイプについていくつか例を示します。
-
パッケージをインストールまたはアンインストールする。
-
セキュリティ更新プログラムを実行する。
-
Docker イメージをクリーンアップする。
-
サービスを停止または起動する。
-
システムリソースを表示する。
-
ログファイルを表示する。
-
ファイルオペレーションを実行する。
Run Command の詳細については、の「AWS Systems Managerユーザーガイド」の「AWS Systems ManagerRun Command」を参照してください。
Amazon ECS で Systems Manager を使用するには、以下の前提条件があります。
コンテナインスタンスロール (ecsInstanceRole) に、Systems Manager API にアクセスするためのアクセス許可を付与する必要があります。これを行うには、AmazonSSMManagedInstanceCore を
ecsInstanceRole
ロールに割り当てます。ポリシーをロールにアタッチする方法については、「AWS Identity and Access Management ユーザーガイド」の「ロールに対するアクセス許可を更新する」を参照してください。-
SSM Agent がコンテナインスタンスにインストールされていることを確認します。詳細については、「Linux 用 EC2 インスタンスに SSM Agent を手動でインストールおよびアンインストールする」を参照してください。
Systems Manager 管理ポリシーを ecsInstanceRole
にアタッチして、AWS Systems Manager エージェント (SSM Agent) がコンテナインスタンスにインストールされていることを確認したら、Run Command を使用してコマンドをコンテナインスタンスに送信することができます。インスタンスでのコマンドおよびシェルスクリプトの実行と、その結果の出力の表示については、AWS Systems Managerユーザーガイド の「Systems Manager Run Command を使用したコマンドの実行」および「Run Command のチュートリアル」を参照してください。
一般的なユースケースは、Run Command でコンテナインスタンスソフトウェアを更新することです。「AWS Systems Manager ユーザーガイド」の手順を実行し、以下のパラメータを指定します。
パラメータ | 値 |
---|---|
コマンドのドキュメント |
AWS-RunShellScript |
コマンド |
|
ターゲットインスタンス | コンテナインスタンス |