переключить локальный терминал на экземпляр aws EC2 в скрипте Bash - PullRequest
0 голосов
/ 31 января 2019

Мне нужно автоматизировать aws configure , подключиться к ec2 и запускать команды внутри экземпляра EC2 с использованием сценариев оболочки .

echo "Do you need to configre AWS configure [y/n]?"
read -r aws_configure


if [ y = $aws_configure ]; then
    echo "######################################"
    echo "             AWS Configure            "
    echo "######################################"
    aws configure
else 
    echo "Skipped AWS Configuration !"
    echo "---------------------------"
fi

echo "######################################"
echo "     Connecting to EC2 Instance       "
echo "######################################"

echo "Which swarm that you need to create [private(a) or public(b)]?"
read -r swarm 

ssh -i ~/Documents/AWS/eu_instance_key.pem ec2-user@<EC2 Instance IP address>
**docker image ls ==> I need to run this command on EC2 instance**

Я могу подключиться к EC2 экземпляру, отправив ssh запрос к экземпляру.Но я не могу переключить EC2 экземпляр на другие мои команды.

Я хочу выполнить некоторые команды на EC2 сервере после подключения к экземпляру с помощью bash-скрипта.

Я не мог найти способ сделать это, и я новичок в сценариях оболочки.

Любая помощь будет оценена!Спасибо.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Я должен был создать еще один скрипт bash для этого.когда я посылаю ssh-запрос к экземпляру EC2, чтобы подключиться, а также передать и извинить мой недавно созданный bash-файл локально.

ssh -i $Path_to_PemFile_Private ec2-user@$Private_Instance_IP 'bash -s' < ./private_instance.sh 2> /tmp/Error

поэтому второй bash, который является private_instance.sh , используется для запуска запятых, которые мне нужно запустить внутри экземпляра EC2.

0 голосов
/ 31 января 2019

Если вы должны использовать для этого SSH, попробуйте использовать aws configure set для настройки учетных данных, региона и других свойств без чтения из стандартного ввода и усложнения вашего сценария.Подробнее здесь https://docs.aws.amazon.com/cli/latest/reference/configure/set.html

Кроме того, вместо явной установки учетных данных, вы можете связать роль IAM с вашим экземпляром EC2, и он будет автоматически генерировать и вращать временные учетные данные, поэтому вам не нужно создавать сценарии для этого.Подробнее здесь: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html

Или, что еще лучше, используйте AWS Systems Manager для управления серверами и выполнения сценариев.Подробнее здесь: https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html

Ознакомьтесь с этим руководством, чтобы начать с этого: https://aws.amazon.com/getting-started/tutorials/remotely-run-commands-ec2-instance-systems-manager/

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