使用CLI启动AWS实例时如何传递用户数据

时间:2014-03-10 03:46:55

标签: amazon-web-services command-line-interface

我正在使用AWS CLI启动实例,命令是: aws ec2 run-instances

我期待的是将脚本作为用户数据传递。 所以我做了: DATA = base64 ./my_script 在我的Mac OSX上,然后通过以下方式传递DATA: aws ec2 run-instances --user-data $ DATA

但是,实例启动后没有发生任何事情

那么,我该怎么做?

谢谢!

2 个答案:

答案 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'