aws:runCommand – マネージドインスタンスでコマンドを実行する - AWS Systems Manager

aws:runCommand – マネージドインスタンスでコマンドを実行する

指定されたコマンドを実行します。

注記

オートメーションは、1 つの AWS Systems Manager Run Command アクションの出力のみをサポートします。Runbook には、複数の Run Command アクションを含めることができますが、出力がサポートされるのは一度に 1 つのアクションに対してのみです。

入力

このアクションでは、ほとんどの Send Command パラメータがサポートされています。詳細については、「SendCommand」を参照してください。

YAML
- name: checkMembership action: 'aws:runCommand' inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - '{{InstanceIds}}' Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
DocumentName

コマンドタイプドキュメントの所有者が、お客様または AWS の場合は、ドキュメントの名前を指定します。別の AWS アカウント から共有されたドキュメントを使用している場合は、そのドキュメントの Amazon リソースネーム (ARN) を指定します。共有ドキュメントの使用方法については、「共有 SSM ドキュメントを使用する」を参照してください。

型: 文字列

必須: はい

InstanceIds

コマンドを実行するインスタンス ID です。最大 50 の ID を指定できます。

インスタンス ID の代わりに擬似パラメータ {{RESOURCE_ID}} を使用して、ターゲットグループ内のすべてのインスタンスでコマンドを実行することもできます。擬似パラメーターの詳細については、「メンテナンスウィンドウのタスクを登録する際の疑似パラメータの使用」を参照してください。

他に、Targets パラメータを使用して、コマンドをインスタンスのフリートに送信する方法もあります。Targets パラメータは、Amazon Elastic Compute Cloud (Amazon EC2) タグを受け入れます。Targets パラメータの使用方法の詳細については、「コマンドを大規模に実行する」を参照してください。

タイプ: StringList

必須: いいえ (InstanceId を指定しない場合、または {{RESOURCE_ID}} 擬似パラメータを使用する場合は、Targets パラメータを指定する必要があります)。

ターゲット

指定した Key、Value の組み合わせを使用してインスタンスを対象とする検索条件の配列です。呼び出しにインスタンス ID を 1 つも指定しない場合は、Targets が必要です。Targets パラメータの使用方法の詳細については、「コマンドを大規模に実行する」を参照してください。

タイプ: MapList (リスト内のマップのスキーマはオブジェクトと一致する必要があります)。詳細については、AWS Systems Manager API リファレンスの「ターゲット」を参照してください。

必須: いいえ (Targets を指定しない場合は、InstanceId を指定するか、{{RESOURCE_ID}} 擬似パラメータを使用する必要があります)。

次に例を示します。

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript Targets: - Key: tag:Stage Values: - Gamma - Beta - Key: tag-key Values: - Suite Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "Targets": [ { "Key": "tag:Stage", "Values": [ "Gamma", "Beta" ] }, { "Key": "tag:Application", "Values": [ "Suite" ] } ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
パラメータ

ドキュメントに指定されている必須およびオプションのパラメータ。

型: マップ

必須: いいえ

CloudWatchOutputConfig

Amazon CloudWatch Logs にコマンド出力を送信するための設定オプション。CloudWatch Logs へのコマンド出力送信の詳細については、「Run Command の Amazon CloudWatch Logs の設定」を参照してください。

タイプ: StringMap (マップのスキーマはオブジェクトと一致する必要があります。 詳細については、AWS Systems Manager API リファレンスの「CloudWatchOutputConfig」を参照してください)。

必須: いいえ

次に例を示します。

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - "{{InstanceIds}}" Parameters: commands: - "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" CloudWatchOutputConfig: CloudWatchLogGroupName: CloudWatchGroupForSSMAutomationService CloudWatchOutputEnabled: true
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] }, "CloudWatchOutputConfig" : { "CloudWatchLogGroupName": "CloudWatchGroupForSSMAutomationService", "CloudWatchOutputEnabled": true } } }
コメント

コマンドに関するユーザー定義情報。

型: 文字列

必須: いいえ

DocumentHash

ドキュメントのハッシュ。

型: 文字列

必須: いいえ

DocumentHashType

ハッシュの種類。

型: 文字列

有効な値: Sha256 | Sha1

必須: いいえ

NotificationConfig

通知を送信するための設定。

必須: いいえ

OutputS3BucketName

コマンド出力の応答を保存する S3 バケットの名前。

型: 文字列

必須: いいえ

OutputS3KeyPrefix

プレフィックス。

型: 文字列

必須: いいえ

ServiceRoleArn

AWS Identity and Access Management (IAM) ロールの ARN。

型: 文字列

必須: いいえ

TimeoutSeconds

インスタンスの AWS Systems Manager SSM Agent にコマンドが配信されるまで待機する時間 (秒単位)。指定した値に達する前にインスタンスで SSM Agent がコマンドを受信しなかった場合、コマンドのステータスは Delivery Timed Out に変わります。

タイプ: 整数

必須:いいえ

有効な値: 30~2592000

出力
CommandId

コマンドの ID。

ステータス

コマンドのステータス。

ResponseCode

コマンドのレスポンスコード。実行するドキュメントに複数のステップがある場合、この出力の値は返されません。

出力

コマンドの出力。コマンドでタグまたは複数のインスタンスをターゲットにした場合、出力値は返されません。GetCommandInvocation および ListCommandInvocations API オペレーションを使用して、個々のインスタンスの出力を取得できます。