Elastic Beanstalk и подключение экземпляра EC2: не удается подключиться

Я создал среду Elastic Beanstalk из Visual Studio, и мне нужно войти в систему для обслуживания базовой виртуальной машины ec2.

У меня нет учетных данных для сервера, поэтому я хотел использовать EC2Instance Connect.

Когда я нажимаю кнопку подключения, я получаю сообщение об ошибке:

Нам не удалось подключиться к вашему экземпляру. Убедитесь, что сетевые параметры вашего экземпляра правильно настроены для EC2Instance Connect. Дополнительные сведения см. В разделе Задача 1. Настройка сетевого доступа к экземпляру.

По ссылке нашла инструкцию:

  • Убедитесь, что группа безопасности, связанная с вашим экземпляром, разрешает входящий трафик SSH на порт 22 с вашего IP-адреса или из вашей сети.
  • (Клиент консоли Amazon EC2 на основе браузера) Мы рекомендуем, чтобы ваш экземпляр разрешал входящий трафик SSH из . Использовать EC2_INSTANCE_CONNECT фильтр для параметра службы, чтобы получить диапазоны IP-адресов в подмножестве EC2Instance Connect.

Как подключиться к Elastic Beanstalk, лежащему в основе EC2, через EC2Instance Connect?

Что я пробовал:

Я создал новую группу безопасности, которая содержит IP-адрес моего клиента, но это не сработало. Это имеет смысл, поскольку приложение EC2Instance Connect, работающее в консоли, устанавливает соединение SSH, а не мой локальный компьютер.

Также посмотрел json-файл диапазонов ip (рекомендованного блока IP, опубликованного для службыhttps://ip-ranges.amazonaws.com/ip-ranges.json ), но не уверен, что с этим делать.

2 ответа

Решение

Я неправильно понял инструкции по настройке подключения экземпляра EC2 . В этой статье поддержки были более четкие инструкции: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-connect-troubleshooting/

Для подключений SSH на основе браузера необходимо, чтобы правила для входящих подключений группы безопасности вашего экземпляра разрешали доступ EC2 Instance Connect к SSH через TCP-порт 22.

Ключ состоял в том, чтобы найти IP-адрес для EC2 Instance Connect, а затем создать группу безопасности для внесения этого IP-адреса в белый список.

EC2 Instance Connect IP можно получить через PowerShell с помощью Get-AWSPublicIpAddressRange(или завиток). Для нас-запад-2:

      > Get-AWSPublicIpAddressRange -Region us-west-2 -ServiceKey EC2_INSTANCE_CONNECT | select IpPrefix


IpPrefix
--------
18.237.140.160/29

Как только я настроил свою группу безопасности для использования этого источника, я смог подключиться.

Как правило, лучше использовать EC2 Instance Connect через SSM System Manager . Она не требует открытия любых входящих портов. Вместо этого вам следует добавить / изменить свою роль установки, чтобы SSM мог работать. Более того, вы можете контролировать доступ к своему экземпляру, используя обычные разрешения IAM, в отличие от EC2 Instance Connect.

Подключение через SSM находится в том же меню консоли AWS, что и EC2 Instance Connect. Таким образом, после настройки роли экземпляра подождите несколько минут, пока экземпляр не зарегистрируется в SSM, и как только это произойдет, вы сможете использовать SSM System Manager для подключения к своему экземпляру с консоли.

Что касается диапазона IP-адресов EC2 Instance Connect. Я не знаю, какой опубликованный диапазон применим только к EC2 Instance Connect. Возможно, вам придется отфильтровать его по региону, а затем найти тот, который работает. В худшем случае это пробный подход.