将用户数据作为字符串传递给 aws cli ec2 运行-instance 命令
passing user-data as a string to aws cli ec2 run-instance command
我正在尝试提供 bash 命令以在创建期间以下列方式引导我的 ec2 实例
aws ec2 run-instances --image-id ami-0000025f7c02a13b2 --count 1 --instance-type t2.micro --user-data '#!/bin/bash\nyum install git -y'
我可以启动 ec2,但我无法使 bash 脚本运行。在日志中,我看到以下内容
/bin/bash\nyum: bad interpreter: No such file or directory
这让我觉得字符串格式错误。
尝试在您的用户数据字符串前添加一个 $
。
aws ec2 run-instances --image-id ami-0000025f7c02a13b2 --count 1 --instance-type t2.micro --user-data $'#!/bin/bash\nyum install git -y'
如果您打算加载一个长脚本,最好从这样的文件中加载脚本:
aws ec2 run-instances --image-id ami-abcd1234 --count 1 --instance-type m3.medium \
--key-name my-key-pair --subnet-id subnet-abcd1234 --security-group-ids sg-abcd1234 \
--user-data file://my_script.txt
你的文件应该是这样的:
#!/bin/bash
yum update -y
service httpd start
chkconfig httpd on
查看有关在使用来自 this link
的 aws cli
时从文件加载数据的更多详细信息
我正在尝试提供 bash 命令以在创建期间以下列方式引导我的 ec2 实例
aws ec2 run-instances --image-id ami-0000025f7c02a13b2 --count 1 --instance-type t2.micro --user-data '#!/bin/bash\nyum install git -y'
我可以启动 ec2,但我无法使 bash 脚本运行。在日志中,我看到以下内容
/bin/bash\nyum: bad interpreter: No such file or directory
这让我觉得字符串格式错误。
尝试在您的用户数据字符串前添加一个 $
。
aws ec2 run-instances --image-id ami-0000025f7c02a13b2 --count 1 --instance-type t2.micro --user-data $'#!/bin/bash\nyum install git -y'
如果您打算加载一个长脚本,最好从这样的文件中加载脚本:
aws ec2 run-instances --image-id ami-abcd1234 --count 1 --instance-type m3.medium \
--key-name my-key-pair --subnet-id subnet-abcd1234 --security-group-ids sg-abcd1234 \
--user-data file://my_script.txt
你的文件应该是这样的:
#!/bin/bash
yum update -y
service httpd start
chkconfig httpd on
查看有关在使用来自 this link
的aws cli
时从文件加载数据的更多详细信息