Подтвердить что ты не робот

Amazon ELB для экземпляров EC2 в частной подсети в VPC

Я использую Amazon EC2, и я хочу поставить ELB (балансировщик нагрузки) на Интернет в 2 экземпляра в частной подсети. Я использую VPC с общедоступными и частными подсетями.

  • Если я просто добавлю приватную подсеть в ELB, он не получит никаких подключений.
  • Если я присоединяю обе подсети к ELB, тогда он может получить доступ к экземплярам, ​​но часто получает тайм-ауты. (См. Снимок экрана 1)
  • Если я присоединяюсь только к публичной подсети, то мой экземпляр, прикрепленный к ELB, получает OutOfService, потому что у меня нет экземпляра в Public Subnet, количество экземпляров показывает 0. (Обратитесь к скриншоту 2)

Снимок экрана 1: Обе подсетей прилагаются Both subnets attached

Снимок экрана 2: Подключена только общедоступная подсеть Only public subnet attached

Мой вопрос на самом деле является расширением этого вопроса. После выполнения всех 6 шагов, упомянутых в принятом ответе, я все еще получаю удар, мой экземпляр, прикрепленный к ELB, получает OutOfService. Я даже попытался разрешить порты в группах безопасности для экземпляров EC2 и ELB, но это не помогло.

Пожалуйста, помогите, я ломаю голову с этим.

4b9b3361

Ответ 1

Другой SO вопрос, на который вы ссылались, - точечный. Двойной/тройной проверить следующее

  • Вам необходимо подключить только открытые подсети к вашему ELB, убедившись, что зоны доступности этих подсетей совпадают с зонами доступности частных подсетей, в которых находятся ваши экземпляры.
  • Убедитесь, что группа безопасности ваших экземпляров разрешает доступ из группы безопасности вашего балансировщика нагрузки
  • Убедитесь, что проверка вашего здоровья работает локально на экземпляре. Например, если ваша проверка работоспособности в ELB - HTTP:8080/health_check, в экземпляре вы можете curl xxxx:8080/health_check (где xxxx - частный IP-адрес экземпляра) и получить код ответа 200.
  • Таблица маршрутизации общедоступной подсети должна направлять 0.0.0.0/0 к интернет-шлюзу, подключенному к вашему VPC.
  • Таблица маршрутизации частной подсети должна направлять 0.0.0.0/0 к экземпляру NAT или шлюзу в общедоступной подсети.

Ответ 2

Другой SO вопрос помог мне также. Что касается меня, я постоянно забывал, что мне нужно было установить программное обеспечение на сервер (например, Apache), и если вы не создадите NAT GW или какой-либо другой метод, разрешающий установку программного обеспечения, произойдет сбой. Если вы хотите попробовать автоматизированный способ без особых хлопот, вы можете попробовать скрипт:

https://github.com/jouellnyc/AWS/tree/master/create_aws_vpc3

Обратите внимание, что уже есть много хороших документов и обсуждений, но:

HTTP коды, которые я получил от ELB:

  • 504 - Вероятно, группы безопасности - разрешить доступ к порту 80 экземпляров
  • 503 - Вероятно, неправильная настройка целевой группы
  • 502. Вероятно, Apache/Server не работает, так как он не установлен, потому что нет nat gw или метода установки программного обеспечения.