Позвольте мне начать с небольшого обзора того, как выполняется запрос в этом случае.
Как вы правильно догадались, Балансировщик нагрузки, Балансировщик нагрузки приложения c может обрабатывать SSL-трафик c. Это также означает, что от балансировщика нагрузки к исходному серверу, упомянутой целевой группе в этом случае, будет передаваться только http-трафик c, а не https. Так что вам не нужно беспокоиться об обработке сертификатов на сервере. Затем ответ от исходного сервера снова упаковывается в туннель SSL и отправляется обратно клиенту с помощью ALB.
Это означает, что ваш конечный пользователь должен иметь возможность подключиться к порту 443 балансировщика нагрузки как минимум и также на порт 80 (который может перенаправлять на 443).
Это означает, что группа безопасности вашего балансировщика нагрузки должна иметь порт 443 (и, возможно, 80), открытый для всего мира , или вашим пользователям.
Между исходным сервером и ALB трафик c проходит через порт, на котором работает ваше приложение, это то, что группа безопасности сервера должна разрешать доступ к ALB.
Перефразируя, группа безопасности сервера (EC2) должна разрешать ALB на любом порту, на котором запущено приложение.
Примечание: Это не обязательно должно быть 80 или 443, это также может быть 8080, если ваша целевая группа знает об этом и пересылает запрос на этот порт.
Теперь, чтобы ответить на ваш вопрос ns:
a) Учитывая, что это проект python / Django, включение HTTPS для EC2 можно сделать через веб-сайт aws или мне нужно добавить файлы конфигурации и развернуть к моему экземпляру? Вы не обязаны этого делать. Как я уже упоминал, шифрование / дешифрование можно выгрузить в ALB. Подробнее об этом читайте в документации здесь .
б) Нужно ли мне создавать целевую группу, работающую на HTTPS? Это основано на предыдущем вопросе, нет необходимости. Экземпляр сервера приложений / EC2 не должен беспокоиться об этом.
c) Нужны ли мне прослушиватели для моей балансировки нагрузки для порта 80 и порта 443 или только для порта 443? Это зависит от вашего варианта использования. Базовая потребность - иметь только 443. Если вы хотите, чтобы пользователи по-прежнему заходили на сайт http, а затем перенаправлялись на более безопасную версию https, вы снова можете использовать для этого ALB. Подробнее об этом здесь .
d) В моей группе безопасности мне нужен порт 80 до go до 0.0.0.0/0 и :: 0 /?
Для ALB - да, но не для экземпляров EC2. Помните, что Ec2 никогда не общается напрямую с пользователями, только с ALB. Таким образом, вы можете более жестко контролировать трафик c на EC2.
e) Следует ли записывать A по DNS-имени балансировщика нагрузки или это должно быть CNAME моей среды? Используйте записи псевдонима. Им намного проще управлять, и AWS позаботится о сопоставлении. Подробнее об этом здесь .