Sam*_*uez 2 shell amazon-web-services
我正在尝试执行一个简单的 AWS CLI 命令,该命令可以对多个实例运行 shell 命令。
我知道首先我需要获取实例 ID 列表:
aws ec2 describe-instances --filter "Name=tag:Group,Values=Development" --query 'Reservations[].Instances[].[InstanceId]' --output text
Run Code Online (Sandbox Code Playgroud)
然后我将不得不将它们分配给一个数组。然后遍历每个实例 ID 并发送命令。
我们是否可以选择让 aws 将 shell 命令发送到具有特定 ID 的实例?
像这样的东西:
aws ssm send-command --instance-ids "i-xxxxxxxxxxxxxxxx" --document-name "shellscript"
Run Code Online (Sandbox Code Playgroud)
我不断收到此错误:
调用 SendCommand 操作时发生错误 (InvalidInstanceId):
我已确保 SSM 代理在该特定实例上运行,并根据这些文档页面确保一切正确。
您可以使用ssm send-command.
查看实例 IP 地址的示例命令:
aws ssm send-command --instance-ids "your id's" --document-name "AWS-RunShellScript" --comment "IP config" --parameters "commands=ifconfig" --output text
Run Code Online (Sandbox Code Playgroud)
根据您的需要修改命令。
如果您遇到错误,当您在尝试访问的实例上没有设置 SSM 时,可能会发生这种情况。有关可以运行 SSM 命令的实例列表,请运行:
aws ssm describe-instance-information --output text
Run Code Online (Sandbox Code Playgroud)
请参阅:InvalidInstanceId:调用 SendCommand 操作时发生错误 (InvalidInstanceId)。
| 归档时间: |
|
| 查看次数: |
3564 次 |
| 最近记录: |