Я только что подписался на новое предложение Amazon Elastic Beanstalk. То, что я не могу понять, это как SSH к экземпляру Beanstalk. У меня нет личного ключа, потому что Beanstalk сгенерировал экземпляр от моего имени.
eb ssh
Я только что подписался на новое предложение Amazon Elastic Beanstalk. То, что я не могу понять, это как SSH к экземпляру Beanstalk. У меня нет личного ключа, потому что Beanstalk сгенерировал экземпляр от моего имени.
eb ssh
Ответы:
Я обнаружил, что это двухэтапный процесс. Это предполагает, что вы уже настроили пару ключей для доступа к экземплярам EC2 в соответствующем регионе.
elasticbeanstalk-default
группа безопасности, если вы запустили экземпляр Elastic Beanstalk в этом регионе.Отредактируйте группу безопасности, чтобы добавить правило для доступа SSH. Ниже будет заблокировано, чтобы разрешить вход только с определенного IP-адреса.
SSH | tcp | 22 | 22 | 192.168.1.1/32
Existing Key Pair
поле. После повторного запуска экземпляра необходимо получить имя хоста на вкладке экземпляров AWS Console EC2 или через API. После этого вы сможете использовать ssh на сервере.
$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com
Примечание. Для добавления пары ключей в конфигурацию среды защита от прерывания экземпляров должна быть отключена, так как Beanstalk попытается завершить текущие экземпляры и запустить новые экземпляры с помощью KeyPair.
Примечание. Если что-то не работает, откройте вкладку «События» в приложении / среде Beanstalk и выясните, что пошло не так.
Elastic beanstalk CLI v3 теперь поддерживает прямой SSH с помощью команды eb ssh
. Например
eb ssh your-environment-name
Нет необходимости создавать группы безопасности для определения адреса экземпляра EC2.
Есть также этот крутой трюк:
eb ssh --force
Это временно заставит порт 22 открыться до 0.0.0.0 и будет держать его открытым до вас exit
. Это сочетает в себе немного преимуществ топ-ответа, без хлопот. Вы можете временно предоставить кому-то, кроме вас, доступ для отладки и еще много чего. Конечно, вам все равно нужно загрузить их открытый ключ на хост, чтобы у них был доступ. Как только вы это сделаете (и пока вы внутри eb ssh
), другой человек может
ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
eb ssh production
. Вы также можете настроить определенную среду с помощью параметра настройки:eb ssh production --setup
Мой опыт работы в августе 2013 года с клиентом linux и простой установкой AWS Beanstalk (один экземпляр EC2) выглядит следующим образом (на основе Вики сообщества выше)
awsweb...
безопасности и детали должны отображаться в нижней части страницы.Удачи
Я тоже играл с этим.
Услуга будет возобновлена, так что приготовьте кофе за 5 минут
На вашей вкладке ec2 для того же региона вы увидите новый запущенный экземпляр. SSH к общему DNS-имени пользователя ec2, используя ключ, добавленный в 3, например, ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
Выше ответы немного староваты.
Сначала создайте пару ключей, а затем присоедините ее к среде Elastic Beanstalk.
Шаги для создания пары ключей
Шаги для присоединения созданной пары ключей к среде Elastic Beanstalk
AWS -> Услуги -> Эластичный бобовый стебель
Выберите вашу среду и нажмите на конфигурацию слева.
В обзоре конфигурации выберите «Изменить» в разделе «Безопасность».
В разделе Разрешения виртуальной машины выберите созданную нами пару ключей.
Нажмите на сохранить, а затем сохранить конфигурацию.
Это займет некоторое время, чтобы отразить ваш экземпляр EC2.
Если вы используете эластичный бин и EB CLI, просто используйте eb ssh
для входа в экземпляр. Вы можете использовать параметры, указанные в следующей ссылке
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html.
Вам необходимо подключиться к экземпляру ec2 напрямую, используя его публичный IP-адрес. Вы не можете подключиться с помощью эластичного URL-адреса стебля.
Вы можете найти IP-адрес экземпляра, посмотрев его в консоли ec2.
Вы также должны убедиться, что порт 22 открыт. По умолчанию EB CLI закрывает порт 22 после завершения соединения ssh. Вы можете вызвать eb ssh -o, чтобы оставить порт открытым после завершения сеанса ssh.
Предупреждение: вы должны знать, что эластичный бобовый стебель может заменить ваш экземпляр в любое время. Состояние не гарантируется ни в одном из ваших случаев эластичного бобового стебля. Вероятно, лучше использовать ssh только для тестирования и отладки, поскольку все, что вы изменяете, может исчезнуть в любое время.
Направление установки пары ключей для экземпляра ElasticBeanstalk ec2 с текущим пользовательским интерфейсом: Предупреждение: для этого потребуется обновить экземпляры EC2 в приложении ElasticBeanstalk. Примечание. Перед этим вам необходимо создать пару ключей на панели инструментов EC2.
1) В AWS Dashboard выберите сервис ElasticBeanstalk. 2) Выберите приложение, которое вы хотите использовать. 3) Выберите «Конфигурация». 4) Выберите значок шестеренки (настройки) в окне конфигурации «Экземпляры». 5) Откроется страница «Сервер», где вы можете обновить раскрывающееся поле «Пара ключей EC2», указав нужную пару ключей, и выбрать «Сохранить».
Следует отметить, что это может не работать для приложений с несколькими экземплярами (но я полагаю, что, скорее всего, они все находятся в одном регионе с парой ключей).
Я пришел сюда в поисках способа добавить ключ к экземпляру, который Beanstalk создает во время предоставления (мы используем Terraform). Вы можете сделать следующее в Terraform:
resource "aws_elastic_beanstalk_environment" "your-beanstalk" {
...
setting {
namespace = "aws:autoscaling:launchconfiguration"
name = "EC2KeyName"
value = "${aws_key_pair.your-ssh-key.key_name}"
}
...
}
Затем вы можете использовать этот ключ для SSH в поле.
Если вы настроили использование CLI eb init
в своей среде, то это должно быть так же просто, как
eb ssh --setup
что позволит вам создать новую пару ключей или использовать существующую, если она существует.
Вы также можете просто подключиться к существующей среде, eb use
хотя я этого еще не сделал.
Подробнее об установке интерфейса командной строки - https://docs.aws.amazon.com/console/elasticbeanstalk/eb-cli-install.
В зависимости от конфигурации среды у вас может не быть общедоступного IP-адреса в экземпляре EC2, который был создан для вашей среды. Вы можете проверить по:
Наконец, выберите ваш новый EIP и выберите Связать адрес из меню действий. Свяжите этот IP с вашим экземпляром EC2. Вы должны быть в состоянии подключиться с помощьюeb ssh
сейчас.
Вы можете сбросить детали подключения, запустив eb ssh --setup
.
Я также столкнулся с той же проблемой некоторое время назад. Я хотел использовать файл ключей, но Amazon где-то говорит, что вы не можете добавить файл ключей на существующий сервер EC2. Для первого приложения Beanstalk Amazon предварительно настроил приложение для вас. Вам нужно создать новое приложение, и вы можете настроить сервер EC2, который запускает приложение Beanstalk, на использование старого файла pem (ppk, если используется Putty), или вы можете создать новое. Теперь вы должны быть в состоянии SSH.
Затем настройте, затем удалите старое приложение.