我无法通过CF安装aws-cli。我通过CLI尝试了一组代码,它可以工作。但是由于某种原因,它没有按预期运行。当我在EC2上通过ssh运行“ aws --version”时,它将生成:"-bash: aws: command not found".
-----代码: NatInstanceAZA: 类型:AWS :: EC2 :: Instance ****文本之间
UserData:
!Base64
Fn::Sub: |
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE
/sbin/iptables-save > /etc/sysconfig/iptables
mkdir -p /etc/sysctl.d/
cat <<EOF > /etc/sysctl.d/nat.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.send_redirects = 0
sudo yum -y install aws-cli #supposed to install aws-cli
EOF
答案 0 :(得分:0)
UserData是作为root用户执行的,因此在执行{"aBCFeexxxx":10.0}
命令时无需使用sudo
。 SSH进入实例时,可能您以yum -y install aws-cli
的身份连接,请尝试使用ec2-user
切换到root用户,然后再次运行sudo su -
。
查看这个类似的问题及其可接受的答案:Calling AWS cli from user-data file。
或者,您可以查看使用Python和Pip安装AWS cli的情况,该工具具有aws --version
标志,用于指定应为其安装的用户。