Как указать IP-адрес балансировщику нагрузки?

У меня есть служба ECS, работающая в AWS, и я собираюсь создать балансировщик нагрузки приложений для этой службы. Я прочитал этот документ: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html, но я не совсем понимаю, как я могу указать IP-адрес конечной точки входа для моего балансировщика нагрузки. Этот IP-адрес будет использоваться клиентом для отправки запросов в мою службу. Насколько я понимаю, IP-адрес должен быть настроен в балансировщике нагрузки, а не в задаче моей службы ECS.


person Joey Yi Zhao    schedule 23.09.2019    source источник
comment
вы хотите разрешить трафик с определенных IP-адресов?   -  person Adiii    schedule 23.09.2019


Ответы (2)


Как упоминалось в ответе, IP-это плохая идея, но не в том случае, если это статический IP-адрес. Поскольку NLB поддерживает статический IP-адрес, в то время как приложение LB не поддерживает статический IP-адрес.

Если вы ищете статический IP-адрес, вам нужно разместить сетевую LB в верхней части LB приложения, LB приложения будет связываться с внутренними службами ECS, а NLB будет для клиента. Клиент сможет обмениваться данными, используя статический IP-адрес NLB, который не изменится.

введите здесь описание изображения

Против каждой зоны доступности у вас есть статический IP для NLB, вы можете проверить дальнейшую интеграцию здесь.

Если вы хотите разрешить определенному IP-адресу использовать вашу конечную точку, вам нужно Брандмауэр приложений AWS.

введите здесь описание изображения

person Adiii    schedule 23.09.2019
comment
Я не использую статический IP-адрес, поэтому мне нужно перейти к решению hostname. Нужно ли обновлять имя хоста в DNS? Как я могу назначить его своему балансировщику нагрузки? - person Joey Yi Zhao; 23.09.2019
comment
Используйте копию конечной точки вашего LB и добавьте запись в свою запись DNS. - person Adiii; 23.09.2019
comment
Если указать какой-либо DNS, например yousite.example.com на enpoint.lb.com, он станет независимым, если вы по какой-то причине измените конечную точку LB или перейдете на NLB, поэтому вам не нужно будет изменять свой код, все, что вам нужно, чтобы обновить запись DNS - person Adiii; 23.09.2019

Использование IP-адреса для подключения к эластичному балансировщику нагрузки — плохая идея. ELB являются эластичными, что означает наличие нескольких экземпляров за одним балансировщиком нагрузки для обеспечения отказоустойчивости. По этой причине AWS рекомендует использовать имя хоста вместо IP-адреса.

Если вы все еще хотите проверить подключение с помощью IP-адреса балансировщика нагрузки, вы можете попробовать команду nslookup

nslookup yourELBPublicDNS

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

person Juned Ahsan    schedule 23.09.2019
comment
Имя хоста автоматически назначается балансировщику нагрузки или мне нужно настроить его через DNS? - person Joey Yi Zhao; 23.09.2019
comment
Он назначается автоматически при создании ELB, просто проверьте конфигурацию ELB, чтобы получить его. Если вы хотите использовать свое собственное имя хоста, вы можете создать псевдоним в маршруте № 53. - person Juned Ahsan; 23.09.2019