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. Возможно, вам придется отфильтровать его по региону, а затем найти тот, который работает. В худшем случае это пробный подход.