【问题标题】:Can't install aws-cli via CF无法通过 CF 安装 aws-cli
【发布时间】:2019-10-28 03:44:56
【问题描述】:

我无法通过 CF 安装 aws-cli。我通过 CLI 尝试了这组代码,它可以工作。但由于某种原因,它没有按预期运行。当我在 EC2 上通过 ssh 运行“aws --version”时,它会生成:"-bash: aws: command not found".

----- 代码: NatInstanceAZA: 类型:AWS::EC2::Instance **** text in between


  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

【问题讨论】:

  • 我目前使用的 AMI 是 ami-ba7538e8
  • 在 ap-southeast-1

标签: amazon-ec2 amazon-cloudformation


【解决方案1】:

UserData 以 root 身份执行,因此在执行 yum -y install aws-cli 命令时无需使用 sudo。当您通过 SSH 连接到实例时,您很可能以 ec2-user 身份连接,请尝试使用 sudo su - 切换到 root 并再次运行 aws --version

查看这个类似的问题及其接受的答案:Calling AWS cli from user-data file

或者,您可以查看使用 Python 和 Pip 安装 AWS cli,它有一个 --user 标志指定应该为其安装它的用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2022-06-27
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多