Назначение статического 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.
Не забудьте точку в конце имени балансировщика нагрузки.