Присоединение 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 для новых экземпляров.
Какой из вышеперечисленных должен быть выбран с учетом моих требований?
Дополнительный вопрос
При выборе подсетей при создании ASG я должен выбирать как открытые, так и частные подсети или только общедоступный SN или только частный SN? Моя догадка была только в частной подсети, так как я хотел разместить EC2 в частном SN.
Если EC2, созданные ASG, будут развернуты в Private SN, что еще должно присутствовать в общедоступной подсети?
Еще раз спасибо за ваше время и руководство.
Обновление от 6/13
На вопросы, которые я написал выше, я выбрал следующие варианты:
При создании конфигурации запуска для ASG тип IP-адреса: нет публичного IP-адреса для новых экземпляров.
При выборе подсетей при создании ASG: Only Private SN
Я поместил шлюз 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