Присоединение ELB к ASG в частной подсети - PullRequest
0 голосов
/ 11 июня 2018

Спасибо за ваше время заранее.Я новичок в AWS и пытаюсь настроить облачное приложение, обрабатывающее запросы HTTP / HTTPS.

У меня есть имя домена (example.com), подключенное к Elastic Load Balancer (ELB) , и мое требование - просто подключить ELB к группе автоматического масштабирования (ASG) , у которого минимальное-максимальное значение равно 2-5 EC2. Желательно, чтобы мои EC2, созданные ASG, были помещены в частную подсеть.

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

На данный момент я сосредоточился только на двух AZ и создал общедоступную и частную подсети, каждая в обоих AZ.После создания ELB и подключения его к двум общедоступным подсетям я приступил к Launch-Configuration & ASG.Я бы попросил дать некоторые пояснения относительно значения следующих параметров при настройке LC и ASG.

При создании конфигурации запуска для ASG на одном из шагов (тип IP-адреса) у меня есть три варианта , а именно:

(1) Присвойте Public IP новым экземплярам, ​​если они созданы в VPC / SubNet по умолчанию

(2) Always Public IP для новых экземпляров

(3) Нет общедоступного IP для новых экземпляров.

Какой из вышеперечисленных должен быть выбран с учетом моих требований?

Дополнительные вопросы

  1. При выборе подсетей при создании ASG я должен выбрать как общедоступные, так и частные подсети или только общедоступный SN или только частный SN?Я предположил, что частная подсеть только потому, что я хотел разместить EC2 в частном SN.

  2. Если EC2, созданные ASG, будут развернуты в Private SN, что еще должно присутствовать вобщедоступная подсеть?

Еще раз спасибо за ваше время и рекомендации.

Обновление 6/13

По вопросам, которые яопубликовав выше, я выбрал следующие варианты:

  1. При создании конфигурации запуска для ASG, тип IP-адреса: нет публичного IP для новых экземпляров.

  2. При выборе подсетей при создании ASG: только частный SN

  3. Я поместил шлюз NAT в общедоступную подсеть и обновил таблицу маршрутизации частной подсети, чтобы включить маршрутот 0.0.0.0/0 до NAT

Теперь все работает !!

1 Ответ

0 голосов
/ 11 июня 2018

Документ AWS о присоединении к группе автомасштабирования можно найти здесь .Вы присоединяете ELB к ASG или, если он является балансировщиком нагрузки приложения, вы присоединяете целевую группу для своего ALB к ASG:

Чтобы присоединить балансировщик нагрузки к группе

  • Откройте консоль Amazon EC2 по адресу https://console.aws.amazon.com/ec2/.

  • На панели навигации в разделе Автоматическое масштабирование выберите Группы автоматического масштабирования .

  • Выберите свою группу.

  • На вкладке Подробности выберите Изменить .

Выполните одно из следующих действий:

  • [Классические балансировщики нагрузки] Для Балансировщики нагрузки, выберите балансировщик нагрузки.

  • [Целевые группы] Для Целевые группы выберите целевую группу.

  • Выберите Сохранить .

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

. Из документов выше, вы также можете подключать и отключать с помощью CLI:

Чтобы присоединить классический балансировщик нагрузки

Используйте следующую команду attach-load-balrsrs, чтобы присоединить указанный балансировщик нагрузки к вашей группе автоматического масштабирования:

aws autoscaling attach-load-balancers --auto-scaling-group-name my-asg --load-balancer-names my-lb

Чтобы прикрепитьк целевой группе

Используйте следующую команду attach-load-balancer-target-groups, чтобы присоединить указанную целевую группу к вашей группе автоматического масштабирования:

aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-name my-asg --target-group-arns my-targetgroup-arn

Чтобы отсоединить классический балансировщик нагрузки

Используйте следующую команду detach-load-balrs, чтобы отсоединить балансировщик нагрузки от вашей группы автоматического масштабирования, если она вам больше не нужна:

aws autoscaling detach-load-balancers --auto-scaling-group-name my-asg --load-balancer-names my-lb

Чтобы отсоединить целевую группу

Используйте следующую команду detach-load-balancer-target-groups, чтобы отсоединить целевую группу от вашей группы автоматического масштабирования, если она вам больше не нужна:

aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-name my-asg --target-group-arns my-targetgroup-arn
...