下面是我从 python 运行以在 aws ec2 实例中执行命令的代码
import boto3
ec2 = boto3.client('ssm',region_name='us-east-1',aws_access_key_id='xxxxxxxxxxxxxxx',aws_secret_access_key='xxxxxxxxx')
a = ec2.send_command(InstanceIds=ids, DocumentName='AWS-RunShellScript', Comment='abcdabcd', Parameters={"commands":["ifconfig"]})
但它给出了以下错误
InvalidInstanceId: An error occurred (InvalidInstanceId) when calling the SendCommand operation:
原文由 Teja 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下情况可能会导致出现此错误消息:
您需要登录到 AWS EC2/SSM 控制台并确保您尝试管理的实例显示在 SYSTEMS MANAGER SHARED RESOURCES - Managed Instances 列表中,并且它们显示 Ping 状态 为 Online 。如果不是,您需要在尝试向相关实例发送命令之前修复它。
您应该使用以下两个策略之一来确保您的 aws ec2 实例 可以向 ssm 注册: