Как мне прикрепить Elastic IP к приложению Elastic Beanstalk?
Я могу дать один экземпляр Эластичный IP. Нет проблем.
Но у меня есть приложение Elastic Beanstalk. Он может создавать и удалять экземпляры по мере необходимости. Имеет балансировщик нагрузки. Как я могу заставить эти функции (Elastic IP и Elastic Beanstalk) работать вместе?
В конечном счете, все, что я хочу сделать, - это звонить на мой сервер через мой домен, например так: mydomain.com/someApiCall, и я не хочу беспокоиться о том, что мой Elastic IP станет "отключенным".
3 ответа
В настоящее время это невозможно и фактически является ограничением используемой Elastic Load Balancing (ELB), см., Например, Почему Amazon не позволяет назначать Elastic IP для Elastic Load Balancer?:
Эластичный балансировщик нагрузки - это просто набор отдельных программных балансировщиков нагрузки, размещенных в EC2, с трафиком балансировки нагрузки DNS. Пул может содержать много IP-адресов, по крайней мере, один на зону доступности и в зависимости от уровня трафика.
Ответ Д. Сванлунда на балансировщики нагрузки и эластичные IP дает хорошее резюме того, почему ELB спроектирован таким образом, и "Эластичность" в "Упругой балансировке нагрузки" Шломо Свидлера: "Эластичность ELB и как ее тестировать" обеспечивает раннюю, но углубленную оценку. анализ архитектуры ELB и последствия для тестирования веб-приложения в этом контексте.
Обновить
Что касается вашего комментария: вы общаетесь с приложением AWS Elastic Beanstalk через DNS-имя, сопоставленное с Elastic Load Balancer, с которым вы, как обычно, можете сопоставить запись CNAME, см. Обзор Elastic Load Balancing:
Elastic Load Balancing автоматически генерирует DNS-имя для каждого балансировщика нагрузки. Вы можете сопоставить любое другое доменное имя (например, www.example.com) с автоматически сгенерированным DNS-именем, используя CNAME, или использовать псевдоним Amazon Route 53 для DNS-имени балансировщика нагрузки.
Дополнительную информацию можно найти в разделе Использование доменных имен с Elastic Load Balancing, в котором описано, как связать ваш экземпляр Elastic Load Balancing с настраиваемым именем домена, включая имена поддоменов и верхушку зоны.
Но у меня есть приложение Elastic Beanstalk. Он может создавать и удалять экземпляры по мере необходимости. Имеет балансировщик нагрузки. Как я могу заставить эти функции (Elastic IP и Elastic Beanstalk) работать вместе?
Начиная с сентября 2017 года вы можете использовать балансировщик сетевой нагрузки в beanstalk. Он поддерживает статические IP-адреса для балансировщика нагрузки. Вы также можете назначить один Elastic IP-адрес для каждой подсети, включенной для балансировщика нагрузки.
Если вы получаете доступ к своему приложению через mydomain.com/someApiCall, Elastic IP даже не отображается. ElasticBeanstalk дает вам URL, который выглядит следующим образом:
http://myapp.elasticbeanstalk.com/
вы можете просто перенести свой домен на myapp.elasticbeanstalk.com