aws:executeAutomation – 別のオートメーションを実行する - AWS Systems Manager

aws:executeAutomation – 別のオートメーションを実行する

セカンダリの Runbook を呼び出して、セカンダリのオートメーションを実行します。このアクションを使用すると、最も一般的な操作のための Runbook を作成でき、オートメーションを実行するときにこれらの Runbook を参照できます。このアクションでは、同じような Runbook で重複したステップが不要になり、 Runbook を簡素化できます。

セカンダリのオートメーションは、プライマリのオートメーションを開始したユーザーのコンテキストで実行されます。つまり、セカンダリオートメーションでは、最初のオートメーションを開始したユーザーと同じ AWS Identity and Access Management (IAM) ロールまたはユーザーが使用されます。

重要

継承ロール (iam:passRole ポリシーを使用するロール) を使用するセカンダリオートメーションでパラメータを指定する場合、プライマリオートメーションを開始したユーザーまたはロールには、セカンダリオートメーションで指定されたロールの継承を渡すアクセス許可が必要です。自動化のロールの継承のセットアップについては、「方法 2: IAM を使用して、オートメーションのロールを設定する」を参照してください。

Input (入力)

YAML
name: Secondary_Automation action: aws:executeAutomation maxAttempts: 3 timeoutSeconds: 3600 onFailure: Abort inputs: DocumentName: secondaryAutomation RuntimeParameters: instanceIds: - i-1234567890abcdef0
JSON
{ "name":"Secondary_Automation", "action":"aws:executeAutomation", "maxAttempts":3, "timeoutSeconds":3600, "onFailure":"Abort", "inputs":{ "DocumentName":"secondaryAutomation", "RuntimeParameters":{ "instanceIds":[ "i-1234567890abcdef0" ] } } }
DocumentName

ステップ中に実行するセカンダリ Runbook の名前。同じ AWS アカウント 内のランブックの場合は、ランブック名を指定します。別の AWS アカウント により共有されたランブックの場合は、ランブックの Amazon リソースネーム (ARN) を指定します。共有ランブックの使用については、「共有 SSM ドキュメントを使用する」を参照してください。

型: 文字列

必須: はい

DocumentVersion

実行するセカンダリ Runbook のバージョン。指定しない場合、Automation はデフォルトの Runbook バージョンで実行されます。

型: 文字列

必須: いいえ

MaxConcurrency

並列してこのタスクを実行できるターゲットの最大数。10 などの数値や、10% などの割合を指定できます。

タイプ: 文字列。

必須: いいえ

MaxErrors

追加のターゲットでオートメーションの実行を停止するまでに許容されるエラー数。エラーの絶対数 (10 など) またはターゲットセットのパーセント数 (10% など) を指定できます。たとえば、3 を指定すると、4 番目のエラーを受信した際に、システムはオートメーションの実行を停止します。値として 0 を指定した場合、最初のエラー結果が返されると、システムから他のターゲットでオートメーションが実行されなくなります。50 のリソースでオートメーションを実行し、MaxErrors を 10% に設定した場合、6 番目のエラーを受信すると、システムは追加ターゲットでオートメーションの実行を停止します。

MaxErrors のしきい値に達した時点で既に実行中のオートメーションについては完了を許可されますが、一部のオートメーションは失敗する可能性があります。失敗したオートメーションが指定された MaxErrors を上回っていないことを確認する必要がある場合は、MaxConcurrency を 1 に設定し、オートメーションが一度に 1 つずつ行われるようにします。

タイプ: 文字列。

必須: いいえ

RuntimeParameters

セカンダ Runbook の実行に必要なパラメータ。マッピングでは次の形式を使用します: {"parameter1" : "value1", "parameter2" : "value2" }

型: マップ

必須: いいえ

タグ

リソースに割り当てるオプションのメタデータ。オートメーション用に最大 5 つのタグを指定できます。

タイプ: MapList

必須: いいえ

TargetLocations

ロケーションとは、オートメーションを実行する AWS リージョン や AWS アカウント の組み合わせです。1 つ以上の項目を指定する必要があります。指定可能な最大数は 100 個です。

タイプ: MapList

必須: いいえ

TargetMaps

ターゲットリソースに対するドキュメントパラメータのキー値マッピングのリスト。TargetsTargetMaps の両方を一緒に指定することはできません。

タイプ: MapList

必須: いいえ

TargetParameterName

レート制御されたオートメーションのターゲットリソースとして使用されるパラメータの名前。Targets を指定する場合は必須です。

タイプ: 文字列。

必須: いいえ

ターゲット

ターゲットリソースへのキー値マッピングのリスト。TargetParameterName を指定する場合は必須です。

タイプ: MapList

必須: いいえ

出力
出力

セカンダリオートメーションによって生成される出力。この出力は、次の形式を使って参照できます: セカンダリ自動化ステップ名.Output

タイプ: StringList

以下はその例です。

- name: launchNewWindowsInstance action: 'aws:executeAutomation' onFailure: Abort inputs: DocumentName: launchWindowsInstance nextStep: getNewInstanceRootVolume - name: getNewInstanceRootVolume action: 'aws:executeAwsApi' onFailure: Abort inputs: Service: ec2 Api: DescribeVolumes Filters: - Name: attachment.device Values: - /dev/sda1 - Name: attachment.instance-id Values: - '{{launchNewWindowsInstance.Output}}' outputs: - Name: rootVolumeId Selector: '$.Volumes[0].VolumeId' Type: String nextStep: snapshotRootVolume - name: snapshotRootVolume action: 'aws:executeAutomation' onFailure: Abort inputs: DocumentName: AWS-CreateSnapshot RuntimeParameters: VolumeId: - '{{getNewInstanceRootVolume.rootVolumeId}}' Description: - 'Initial root snapshot for {{launchNewWindowsInstance.Output}}'
ExecutionId

セカンダリオートメーションの ID。

型: 文字列

ステータス

セカンダリオートメーションのステータス。

型: 文字列