我正在使用AWS CLI启动实例,命令是: aws ec2 run-instances
我期待的是将脚本作为用户数据传递。
所以我做了:
DATA = base64 ./my_script
在我的Mac OSX上,然后通过以下方式传递DATA:
aws ec2 run-instances --user-data $ DATA
但是,实例启动后没有发生任何事情
那么,我该怎么做?
谢谢!
答案 0 :(得分:17)
无需自己对数据进行base64编码。
您可以使用file://
为文件名/路径添加前缀所以,
aws ec2 run-instances --user-data file://my_script
或
aws ec2 run-instances --user-data file:///full/path/to/my_script
答案 1 :(得分:4)
要将脚本作为字符串传递,请确保在命令之前指定解释器。点击输入打开的字符串可以添加新行。例:
$ aws ec2 run-instances --image-id ami-16d4986e --user-data '#!/bin/bash
> poweroff'