チュートリアル: AWS CLI で SSM Agent を自動的に更新する
以下の手順では、AWS Command Line Interface を使用して State Manager の関連付けを作成するプロセスを説明します。関連付けにより、ユーザーが指定したスケジュールに従って SSM Agent エージェントを自動的に更新できます。SSM Agent の詳細については、「SSM Agent の使用」を参照してください。コンソールを使用して SSM Agent の更新スケジュールをカスタマイズするには、「SSM Agent の自動更新」を参照してください。
SSM Agent の更新に関する通知を受け取るには、GitHub の「SSM Agent リリースノート
[開始する前に]
次の手順を完了する前に、Systems Manager 用に設定されている実行中の Amazon Elastic Compute Cloud (Amazon EC2) インスタンス (Linux、macOS または Windows Server) が少なくとも 1 つあることを確認します。詳細については、「AWS Systems Manager のマネージドノードのセットアップ」を参照してください。
AWS CLI または AWS Tools for Windows PowerShell を使用して関連付けを作成する場合は、次の例に示すように --Targets
パラメータを使用してインスタンスをターゲットにします。--InstanceID
パラメータは使用しないでください。--InstanceID
パラメータはレガシーパラメータです。
SSM Agent を自動的に更新するための関連付けを作成するには
まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。
詳細については、「AWS CLI の最新バージョンをインストールまたは更新します。」を参照してください。
-
Amazon Elastic Compute Cloud (Amazon EC2) タグを使用してインスタンスをターゲットにして関連付けを作成するには、以下のコマンドを実行します。各
リソースプレースホルダーの例
をユーザー自身の情報に置き換えます。Schedule
パラメータは、毎週日曜日の午前 2:00 に関連付けを実行するようスケジュールを設定します。(UTC)State Manager の関連付けは、すべての cron および rate 式をサポートしていません。関連付けの cron および rate 式の作成の詳細については、「リファレンス: Systems Manager の Cron 式および rate 式」を参照してください。
インスタンス ID をカンマ区切りのリストで指定すると、複数のインスタンスを対象にすることができます。
更新したい SSM Agent のバージョンを指定できます。
システムが以下のような情報を返します。
{ "AssociationDescription": { "ScheduleExpression": "cron(0 2 ? * SUN *)", "Name": "AWS-UpdateSSMAgent", "Overview": { "Status": "Pending", "DetailedStatus": "Creating" }, "AssociationId": "123..............", "DocumentVersion": "$DEFAULT", "LastUpdateAssociationDate": 1504034257.98, "Date": 1504034257.98, "AssociationVersion": "1", "Targets": [ { "Values": [ "
TagValue
" ], "Key": "tag:TagKey
" } ] } }システムは、インスタンス上で関連付けを作成し、作成後に状態を適用することを試みます。関連付けのステータスは
Pending
と表示されます。 -
作成した関連付けの最新のステータスを表示するには、次のコマンドを実行します。
aws ssm list-associations
インスタンスで最新バージョンの SSM Agent が実行されていない場合、ステータスは
Failed
になります。新しいバージョンの SSM Agent が公開されると、関連付けによって自動的に新しいエージェントがインストールされ、ステータスがSuccess
と表示されます。