AWS System Manager RunCommand 提供了一种在远程实例上运行脚本的方式。以下是一个使用 AWS SDK for Python (Boto3) 来执行 AWS System Manager RunCommand 的示例代码:
import boto3
ssm_client = boto3.client('ssm')
def execute_command(instance_id, command):
response = ssm_client.send_command(
DocumentName="AWS-RunShellScript",
Parameters={
'commands': [
command,
]
},
Targets=[
{
'Key': 'InstanceIds',
'Values': [instance_id]
}
]
)
command_id = response['Command']['CommandId']
return command_id
# 示例使用
instance_id = 'i-0123456789abcdef0'
command = 'echo "Hello, World!"'
command_id = execute_command(instance_id, command)
print(f'Command ID: {command_id}')
这段代码使用 AWS-RunShellScript 文档类型来运行一个简单的 shell 脚本,示例中的脚本是在远程实例上打印 "Hello, World!"。你需要将 instance_id 替换为你要在其上执行脚本的实例的实例 ID,将 command 替换为你要执行的实际脚本。
此代码将返回一个 command_id,可以用于后续检查命令的执行状态。你可以使用 describe_command API 来获取命令的执行结果。
注意:在使用此代码之前,请确保已经配置了 AWS CLI,并且配置文件中包含了正确的凭证信息。