Как мне прикрепить Elastic IP к приложению Elastic Beanstalk?

9

Я могу дать один экземпляр Эластичный IP. Нет проблем.

Но у меня есть приложение Elastic Beanstalk. Он может создавать и удалять экземпляры по мере необходимости. Имеет балансировщик нагрузки. Как я могу заставить эти функции (Elastic IP и Elastic Beanstalk) работать вместе?

В конечном счете, все, что я хочу сделать, - это звонить на мой сервер через мой домен, например так: mydomain.com/someApiCall, и я не хочу беспокоиться о том, что мой Elastic IP станет «отключенным».

Джефф Нобл
источник

Ответы:

8

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

Штеффен Опель
источник
Как я могу создать API с Beanstalk, если я не могу направлять запросы через балансировщик нагрузки? Как правильно общаться с моим приложением Beanstalk?
Джефф Нобл
1
@GeoffNoble: я не уверен, что могу следовать, почему вызов example.com/resource, предоставляемый API, размещенным на Elastic Beanstalk, не будет работать должным образом? Я расширил свой ответ, касающийся использования доменных имен с эластичной балансировкой нагрузки, чтобы, надеюсь, прояснить основную концепцию - удачи!
Штеффен Опель
1

Но у меня есть приложение Elastic Beanstalk. Он может создавать и удалять экземпляры по мере необходимости. Имеет балансировщик нагрузки. Как я могу заставить эти функции (Elastic IP и Elastic Beanstalk) работать вместе?

Начиная с сентября 2017 года, вы можете использовать балансировщик сетевой нагрузки в beanstalk. Он поддерживает статические IP-адреса для балансировщика нагрузки. Вы также можете назначить один Elastic IP-адрес для каждой подсети, включенной для балансировщика нагрузки.

ALex_hha
источник
0

Если вы получаете доступ к своему приложению через mydomain.com/someApiCall, Elastic IP даже не отображается. ElasticBeanstalk дает вам URL, который выглядит следующим образом:

http://myapp.elasticbeanstalk.com

вы можете просто перенести свой домен на myapp.elasticbeanstalk.com

Дексин Ван
источник