複数の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを対象とする AWS Systems Manager のメンテナンスウィンドウに、オートメーションドキュメントタスクを登録したいと考えています。どうすればそれができますか?
簡単な説明
メンテナンスウィンドウにオートメーションタスクを登録するときは、タスクの実行時にタスクに渡す入力パラメータ値を指定する必要があります。必要な入力パラメータは、オートメーションドキュメントのコンテンツで定義されているパラメータと同じです。必須入力パラメータフィールドで擬似パラメータ値を使用して、メンテナンスウィンドウが対象とするリソース ID を動的に参照できます。{{RESOURCE_ID}} などの擬似パラメータを使用すると、各リソース ID を個別に入力しなくても、複数のリソースを対象にできます。
例えば、Amazon が提供する AWS Stopec2Instance ドキュメントでは、インスタンス ID をパラメータとして入力する必要があります。メンテナンスウィンドウで複数のインスタンスを対象とする場合、またはインスタンス ID がわからない場合は、擬似パラメータを使用することができます。
注意: ターゲットタイプ INSTANCE では、{{TARGET_ID}} と {{RESOURCE_ID}} の擬似パラメータはどちらもインスタンス ID のみを生成します。ただし、ターゲットタイプ RESOURCE_GROUP の場合、{{TARGET_ID}} と {{RESOURCE_ID}} は、異なる形式でIDを返します。詳細について、および使用可能な擬似パラメータのリストについては、「 擬似パラメータについて 」を参照してください。
Systems Manager コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用して、メンテナンスウィンドウのオートメーションタスクを擬似パラメータで登録できます。
解決方法
コンソールの使用
動的擬似パラメータを使用してメンテナンスウィンドウのオートメーションタスクを登録するには、以下の手順を実行します。
- Systems Manager コンソールを開き、ナビゲーションペインで [Maintenance Windows] を選択します。
- メンテナンスウィンドウを選択してから、[ 詳細の表示 ] を選択します。
- [タスク] タブで、[タスクの登録 ]、[オートメーションタスクの登録] の順に選択します。
- [ オートメーションドキュメント] で、タスクを実行するドキュメントを選択します。
- ターゲット、レートコントロール、および IAM サービスロールを指定します。
- [入力パラメータ] に、リソース ID を必要とするパラメータの擬似パラメータ値 (例、{{TARGET_ID}} または {{RESOURCE_ID}}) を入力します。
- [オートメーションタスクの登録] を選択します。
AWS CLI の使用
注意: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
次の例では、AWS CLI を使用して {{RESOURCE_ID}} パラメータを含むオートメーションタスクを登録します。
aws ssm register-task-with-maintenance-window --window-id mw-1234567890EXAMPLE --targets Key=WindowTargetIds,Values=6c226ea3-463a-4533-8a2d-EXAMPLE --task-arn AWS-StopEC2Instance --task-type AUTOMATION --name MyMaintenanceWindowTask --max-concurrency 10 --max-errors 5 --task-invocation-parameters={\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}} --service-role-arn YOUR_SERVICE_ROLE_ARN
メンテナンスウィンドウタスクが実行されると、各ターゲットの対応するリソース ID がシステムに渡されます。前の例で、instanceId パラメータは、ターゲットグループ内の各ターゲットに対応するインスタンス ID を受け取ります。
関連情報
サポートされている擬似パラメータ
register-task-with-maintenance-windows オプションについて