aws:runCommand – Run a command on a managed instance - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

aws:runCommand – Run a command on a managed instance

运行指定的命令。

注意

自动化仅支持 output 一个 Run Command 操作。一个文档可以包括多个 Run Command 操作,但一次仅支持对一个操作输出。

Input (输入)

此操作支持大多数 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

Run Command 文档的名称。

Type :字符串

必填 是

InstanceIds

要在其中运行命令的实例 ID。您可以指定最多 50 个 ID。

您还可以使用伪参数 {{RESOURCE_ID}} 代替实例 ID,以便在目标组中的所有实例上更轻松地运行命令。有关伪参数的更多信息,请参阅关于假 参数

另一种替代方法是使用 Targets 参数向一组实例发送命令。Targets 参数接受 Amazon EC2 标签。有关如何使用 Targets 参数的更多信息,请参阅使用目标和速率控制发送 命令发送到机队

Type StringList

必填 否(如果您没有指定InstancEids或使用 {{RESOURCE_ID}} 假参数,然后您必须指定目标参数。)

目标

一组搜索条件,使用您指定的 Key、Value 组合来设置实例目标。如果未在调用中提供一个或多个实例 ID,则 Targets 是必需的。有关如何使用 Targets 参数的更多信息,请参阅使用目标和速率控制发送 命令发送到机队

Type Maplist(列表中地图的框架必须与对象匹配。有关信息,请参阅 目标AWS Systems Manager API 参考.

必填 否(如果没有指定目标,则必须指定InstancEids或使用 {{RESOURCE_ID}} Pseudo参数。)

以下是 示例。

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" ] } } }
Parameters

文档中指定的必需参数和可选参数。

Type Map

必填 否

CloudWatchOutputConfig

用于将命令输出发送到 Amazon CloudWatch Logs 的配置选项。有关将命令输出发送到 CloudWatch Logs 的更多信息,请参阅Configuring Amazon CloudWatch Logs for Run Command

Type StringMap(地图的框架必须匹配对象。有关详细信息,请参阅 CloudWatchOutputconfigAWS Systems Manager API 参考)。

必填 否

以下是 示例。

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 } } }
Comment (注释)

有关此命令的用户定义的信息。

Type :字符串

必填 否

DocumentHash

文档的哈希。

Type :字符串

必填 否

DocumentHashType

哈希的类型。

Type :字符串

有效值:{、} Sha256 || Sha1

必填 否

:NotificationConfig

用于发送通知的配置。

必填 否

OutputS3BucketName

命令执行响应的 S3 存储桶的名称。

Type :字符串

必填 否

OutputS3KeyPrefix

前缀。

Type :字符串

必填 否

ServiceRoleArn

IAM 角色的 ARN。

Type :字符串

必填 否

TimeoutSeconds

run-command 超时值 (以秒为单位)。

Type :整数

必填 否

输出。

CommandId

命令的 ID。

Status (状态)

命令的状态。

ResponseCode

命令的响应代码。

输出。

命令的输出。