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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обновление от 13.06

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

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

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

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

Сейчас все работает !!


person Sujith    schedule 11.06.2018    source источник


Ответы (1)


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

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

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

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

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

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

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

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

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

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

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

Из документов выше вы также можете присоединяться и отсоединяться с помощью интерфейса командной строки:

Присоединение классического балансировщика нагрузки

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

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

Присоединиться к целевой группе

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

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

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

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

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

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

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

aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-name my-asg --target-group-arns my-targetgroup-arn
person Brandon Miller    schedule 11.06.2018
comment
Привет @Brandon, Спасибо за ответ. Извините, если мой вопрос был недостаточно ясным. Я хорошо разбираюсь в этапах прикрепления ASG к ELB. Мое замешательство было больше связано с выбором типа IP при настройке LC и выбором подсетей для ASG. Как упоминалось в приведенном выше обновлении, я завершил настройку. Но экземпляры частного IP в частной подсети были недоступны, даже когда ELB находился в общедоступном SN. Затем я добавил шлюз NAT в одну из общедоступных подсетей и обновил таблицу маршрутизации частной подсети, включив в нее маршрут для 0.0.0.0/0 к NAT. УСПЕХ - person Sujith; 13.06.2018