繁体   English   中英

使用 aws-cli 在 ec2 上远程运行命令

[英]Run a command remotely on ec2 using aws-cli

我想使用 aws cli 创建一个 bash 脚本

  • 启动一个 ec2 映像
  • 克隆一个 github 存储库
  • 构建 docker 映像
  • 停止 ec2 图像。

我设法使用 aws ec2 start-instances 和 aws ec2 stop-instances 启动和停止但我正在努力运行其他 bash 命令。 我看到了这个: 在 ec2 上远程运行命令这解释了如何运行 bash 命令。

所以我尝试了:

aws ssm send-command \
--instance-ids "i-02ae********" \
--region "us-east-2"\
--document-name "AWS-RunShellScript" \
--parameters commands="git clone https://myrepo.git" \
--output text

但我得到 output

COMMAND 77821510-9094-4d3d-b7c0-99a9d0c46716            0       0       AWS-RunShellScript      $DEFAULT        0       2022-08-07T01:04:19.705000+02:00        50      0                       us-east-2       2022-08-06T23:04:19.705000+02:00                Pending Pending 1       3600
CLOUDWATCHOUTPUTCONFIG          False
INSTANCEIDS     i-02aef7e********
NOTIFICATIONCONFIG              
COMMANDS        git clone https://github.com/myrepo.git

如果我 ssh 进入 ec2 实例,我看不到该命令的任何效果。 有人可以给我一些关于如何进行的提示吗?

对于开始和停止部分...

如果您想在每次Amazon EC2 实例启动时运行脚本,只需将脚本放入:

/var/lib/cloud/scripts/per-boot/

每次实例启动时,该目录中的任何脚本都会运行。

脚本完成处理后,运行:

sudo shutdown now -h

这将从实例内部关闭实例,而不必调用 AWS API。

有关更多详细信息,请参阅: EC2 实例完成任务时自动停止 - DEV 社区

我建议你这样做: https://aws.amazon.com/blogs/mt/creating-packer-images-using-system-manager-automation/

我假设您需要创建一个 ec2 映像。 这比使用 bash 和 cli 编写脚本更有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM