Присоединение ELB к ASG в частной подсети

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

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

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

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

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

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

(2) Всегда публичный IP для новых экземпляров

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

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

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

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

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

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

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

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

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

  2. При выборе подсетей при создании ASG: Only Private SN

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

Вещи работают сейчас!

1 ответ

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

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

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

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

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

  • На вкладке Сведения выберите Изменить.

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

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

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

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

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

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

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

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

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-balancers, чтобы отсоединить балансировщик нагрузки от группы автоматического масштабирования, если она вам больше не нужна:

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
Другие вопросы по тегам