无法通过CF安装aws-cli

时间:2019-10-28 03:44:56

标签: amazon-ec2 amazon-cloudformation

我无法通过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

1 个答案:

答案 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标志,用于指定应为其安装的用户。