Приступая к настройке балансировщика нагрузки в AWS, я столкнулся с некоторыми дополнительными вопросами.
В основном у меня есть веб-сайт / приложение, развернутое в экземпляре EC2. Я хотел бы сделать его безопасным, используя сертификат, созданный AWS через диспетчер сертификатов. Как у меня уже есть понял EC2 не может самостоятельно справиться с этим, и один из простых способов включить это - развернуть балансировщик нагрузки перед EC2, который защищает связь клиента с моим сертификатом ACM.
Может быть, легко, но не для меня ...
ВОПРОС 1. Поскольку я не хочу развертывать несколько экземпляров EC2, мне нужно развернуть «Classic Load Balancer» вместо «Application Load Balancer» (поскольку для последнего требуется как минимум 2 экземпляра EC2). Это верно?
ВОПРОС 2: Я хочу, чтобы посетители веб-сайта получали "безопасный" индикатор в своих браузерах. Я полагаю, это означает, что мне нужно использовать HTTPS все время client <-> Load Balancer <-> EC2, и не может завершить SSL / HTTPS в LB. Это правильное предположение?
ВОПРОС 3: Если предыдущее предположение верно, следует ли использовать другой сертификат для HTTPS-связи между балансировщиком нагрузки и EC2? Афайу тот, что есть в ACM, использовать нельзя. Правильным ли будет создание нового, частный сертификат в ACM использовать для этого?
ВОПРОС 4: Если да, будет ли частный сертификат по-прежнему давать конечному пользователю преимущество полностью подписанного сертификата или он будет рассматриваться как самозаверяющий сертификат (который мне не нужен)?
ВОПРОС 5: Может быть, совершенно неверно (и показывает, насколько я действительно знаю о сертификатах ;-), но поскольку у меня уже есть другой ssh-сертификат (от моего пользователя IAM, который я использую для ssh для экземпляра ec2) в экземпляре ec2, мог бы этот будет использоваться на шаге Load Balancer <-> EC2?
Хорошо, это все, что я думаю, по крайней мере, на данный момент ... Спасибо!
ОБНОВИТЬ Благодаря полезным ответам я заставил это работать, и это оказалось проще, чем я думал, когда писал исходный вопрос. Я только что запустил «Балансировщик нагрузки приложений» со слушателями http и https с моим сертификатом ACM, сохранив все параметры по умолчанию. Добавление записи CNAME в моем внешнем DNS к имени DNS моего балансировщика нагрузки и SSL работает нормально.
Вы можете использовать сертификат Let's Encrypt или любой другой сертификат непосредственно на своем экземпляре EC2. Однако вы не можете использовать сертификат ACM. Это позволит избежать необходимости в балансировщике нагрузки. У меня есть краткое руководство по этому поводу Вот.
Чтобы ответить на ваши вопросы
Я не думаю, что для ALB требуется несколько экземпляров EC2, с одним должно быть все в порядке.
При правильной настройке вы можете завершить HTTPS на балансировщике нагрузки, и браузер все равно будет показывать соединение как безопасное. Обычно это подходит для большинства рабочих нагрузок, поскольку внутренняя сеть AWS считается надежной и безопасной.
Вы можете выполнить сквозное шифрование, используя любой другой тип сертификата.
Вам нужно будет проверить, работают ли самоподписанные сертификаты с ALB. Учитывая, что Let's Encrypt бесплатен и прост, я не понимаю, зачем вам это нужно.
Нет, это разные типы сертификатов.
Чтобы напрямую ответить на ваш вопрос: Нет, вам не нужен сертификат SSL на сервере EC2, когда балансировщик нагрузки завершает работу SSL. Вы можете, и это может быть любой действующий сертификат SSL, даже самоподписанный. ALB примет это.
И нет, тебе не нужно два экземпляра EC2 за ALB вполне подойдет один EC2.
И нет, ты не можешь использовать Сертификат SSH в качестве сертификата HTTP SSL они имеют другую структуру.
Надеюсь, это поможет :)