Назад | Перейти на главную страницу

Нужен ли мне сертификат SSL на моем сервере EC2, даже если у меня есть балансировщик нагрузки?

Приступая к настройке балансировщика нагрузки в 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. Это позволит избежать необходимости в балансировщике нагрузки. У меня есть краткое руководство по этому поводу Вот.

Чтобы ответить на ваши вопросы

  1. Я не думаю, что для ALB требуется несколько экземпляров EC2, с одним должно быть все в порядке.

  2. При правильной настройке вы можете завершить HTTPS на балансировщике нагрузки, и браузер все равно будет показывать соединение как безопасное. Обычно это подходит для большинства рабочих нагрузок, поскольку внутренняя сеть AWS считается надежной и безопасной.

  3. Вы можете выполнить сквозное шифрование, используя любой другой тип сертификата.

  4. Вам нужно будет проверить, работают ли самоподписанные сертификаты с ALB. Учитывая, что Let's Encrypt бесплатен и прост, я не понимаю, зачем вам это нужно.

  5. Нет, это разные типы сертификатов.

Чтобы напрямую ответить на ваш вопрос: Нет, вам не нужен сертификат SSL на сервере EC2, когда балансировщик нагрузки завершает работу SSL. Вы можете, и это может быть любой действующий сертификат SSL, даже самоподписанный. ALB примет это.

И нет, тебе не нужно два экземпляра EC2 за ALB вполне подойдет один EC2.

И нет, ты не можешь использовать Сертификат SSH в качестве сертификата HTTP SSL они имеют другую структуру.

Надеюсь, это поможет :)