如何使用AWS CLI在EC2内执行linux命令?



我有一些运行在AWS上的EC2实例。我能够使用AWS CLI命令获取实例详细信息并启动和停止实例。我正在寻找一种方法,使用CLI在AWS EC2实例中执行一些Linux命令。

实际上,我正在创建一个Jenkins管道,它使用AWS CLI停止和启动EC2实例。但是我还需要在EC2启动后执行一些命令。

我尝试使用aws ssm send-command,但似乎这个命令不适合我。我尝试了下面的示例命令,得到了错误。

aws ssm send-command 
--instance-ids "instance-ID" 
--document-name "AWS-RunShellScript" 
--comment "IP config" 
--parameters commands=ifconfig 
--output text

错误:

An error occurred (InvalidInstanceId) when calling the SendCommand operation: Instances [[i-xxxx]] not in a valid state for account XXXXXXXX

是否有其他方法可以使用AWS CLI执行命令?

您的EC2实例是否在系统管理器中可见?如果您的EC2实例不能与系统管理器通信,您将无法使用aws ssm send-command

确保您的EC2实例具有以下角色:

  • AmazonSSMManagedInstanceCore">

确保您的EC2可以访问以下internet域(或VPC端点):

  • 导弹。[地区].amazonaws.com
  • ec2messages。[地区].amazonaws.com
  • ssmmessages。[地区].amazonaws.com

相关内容

  • 没有找到相关文章

最新更新