Не могу установить aws-cli через CF - PullRequest
0 голосов
/ 28 октября 2019

Я не могу установить aws-cli через CF. Я попробовал набор кодов через CLI, и он работает. Но по какой-то причине он работает не так, как ожидалось. Когда я запускаю «aws --version» через ssh на EC2, он генерирует: "-bash: aws: command not found".

----- Код: NatInstanceAZA: Тип: AWS :: EC2 :: Экземпляр **** текстмежду


  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 голосов
/ 28 октября 2019

UserData выполняется как пользователь root, поэтому нет необходимости использовать sudo при выполнении команды yum -y install aws-cli. Когда вы подключаете SSH к экземпляру, скорее всего, вы подключаетесь как ec2-user, попробуйте переключиться на root с помощью sudo su - и снова запустите aws --version.

Проверьте этот похожий вопрос и его принятый ответ: Вызов AWS cli из файла пользовательских данных .

В качестве альтернативы вы можете посмотреть установку AWS cli с использованием Python и Pip с флагом --user, указывающим пользователя, для которого он должен быть установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...