Назначение статического IP-адреса AWS Load Balancer

Как я могу назначить статический IP-адрес ELB. Кажется, я не могу.

некоторые статьи в интернете просят создать запись маршрута 53, но для этого требуется изменить CNAME домена, который также перенаправляет трафик электронной почты. Я просто хочу изменить запись, а не CNAME.

в некоторых статьях также упоминается, что я могу использовать экземпляр EC2 в качестве обратного прокси. Но сможет ли один прокси обрабатывать много трафика?

любое решение для этого?

4 ответов


балансировщик упругой нагрузки AWS на самом деле эластичен на двух уровнях, как описано здесь: http://shlomoswidler.com/2009/07/elastic-in-elastic-load-balancing-elb.html

первый уровень-это сам балансировщик нагрузки. Чтобы убедиться, что ELB может масштабироваться до любого Тома, который у вас есть, и разрываться на любой том, с которым вы внезапно столкнулись, AWS назначает "статическое" DNS-имя хоста (например, MyDomainELB-918273645.us-east-1.elb.amazonaws.com). Это имя хоста указывает на несколько IP адреса. Вы можете увидеть это (из командной строки), запустив

$ host MyDomainELB-918273645.us-east-1.elb.amazonaws.com
MyDomainELB-918273645.us-east-1.elb.amazonaws.com 172.31.7.2
MyDomainELB-918273645.us-east-1.elb.amazonaws.com 172.31.11.33

вторая форма эластичности внутри ELB, очевидно, тогда ELB направляет запрос к одному из ваших экземпляров EC2 в пуле.

таким образом, вы можете видеть, что попытка назначить статический IP-адрес балансировщику нагрузки была бы саморазрушительной.

использование экземпляра EC2 в качестве обратного прокси-сервера также казалось бы саморазрушительным, поскольку вы затем создали бы узкое место, даже не добравшись до ELB. Можно также просто создать свой собственный балансировщик нагрузки.

рекомендуемое решение (которое вы указали) - создать CNAME, который указывает на имя хоста ELB (которое не изменится).

т. е. my-app.mycompany.com - > MyDomainELB-918273645.us-east-1.elb.amazonaws.com

Это позволит вам интегрировать масштабируемое приложение за ELB в вашем домене.

Я не уверен, я полностью понимаю, почему вы не можете создайте CNAME в своем DNS или что это связано с направлением трафика электронной почты, можете ли вы объяснить?


новая функция в AWS (я считаю, что она была анонсирована на Re:Invent 2017) позволяет использовать статические IP-адреса с балансировщиками сетевой нагрузки (NLB). NLB может обрабатывать только Уровень 4 (TCP), а не спецификацию HTTP (Уровень 7).

можно назначить один эластичный IP-адрес для каждой зоны доступности.

Подробнее см. сообщение в блоге AWS или документация NLB.

"классический балансировщик нагрузки" и "балансировщик нагрузки приложения" не поддерживают статические IPs. Если вам нужна функция, предоставляемая только теми, вы должны вернуться к CNAME решение описано выше.


недавно поддержка AWS опубликовала блог по этой теме, используя NLB для предоставления статического IP-адреса классическому и балансировщику нагрузки приложений - https://aws.amazon.com/blogs/networking-and-content-delivery/using-static-ip-addresses-for-application-load-balancers/

резюме решения, как описано в посте

мы заканчиваем с прослушивателем TCP на NLB, который принимает трафик и перенаправляет его во внутренний ALB. ALB завершает TLS, проверяет заголовки HTTP и направляет запросы на основе настроенных правил в целевые группы с экземплярами, серверами или контейнерами. Функция AWS Lambda поддерживает синхронизацию, отслеживая изменения IP-адресов ALB и обновляя целевую группу NLB. В конце концов, у нас будет несколько статических IP-адресов, которые легко включить в белый список, и мы не потеряем ни одного из преимуществ ALB. Обратите внимание, что мы будем отправлять весь трафик через два балансировщика нагрузки


вы должны добавить запись CNAME в зону NDS, чтобы она работала:

yourhostname IN CNAME some-lb-XXXXX.elb.amazon.com.

Не забудьте точку в конце имени балансировщика нагрузки.