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

AWS Network Load Balancer для задач Fargate с сквозным шифрованием

В настоящее время у нас есть сервис AWS Fargate под управлением Nginx за балансировщиком нагрузки приложений AWS. Перед этим мы также используем Cloudflare (следовательно, наличие сертификата происхождения Cloudflare в ACM). Поскольку ALB завершает SSL-соединение, трафик между ALB и контейнерами Fargate не шифруется, если вы не используете самоподписанный сертификат в Nginx и перенаправляет трафик через 443 вместо 80.

Поскольку мы хотим иметь сквозное шифрование (нам не нужно соблюдать какое-либо конкретное соответствие, но это просто похоже на хорошую практику и неправильное использование незашифрованного трафика между ALB <-> Fargate) - не лучше ли использовать балансировщик сетевой нагрузки и разорвать SSL-соединение в Nginx? Это также уменьшило бы одно квитирование SSL, что потенциально могло бы привести к (незначительному?) Уменьшению времени ответа.

Вопрос 1: Является ли использование балансировщика сетевой нагрузки вместо балансировщика нагрузки приложений в этом случае лучшей альтернативой?

Вопрос 2: Есть ли какие-то другие «особенности» или функции, которые нам не хватает при этом? Такое ощущение, что AWS действительно выступает за использование ALB вместо NLB.

Спасибо

Я не думаю, что вам здесь нужен NLB.

Первый вариант

Установите https-сертификат на Nginx в свой фаргейт-контейнер - самоподписанный или другой. Вы не можете использовать AWS Certificate Manager, поскольку ACM не будет делиться закрытым ключом, который нужен Nginx.

Подключите ALB к порту https. Просто создайте целевая группа который использует протокол https.

Второй вариант

Учитывая, что вы уже доверяете AWS виртуализацию своих вычислений и хранилища, доверить им виртуальную сеть - разумное решение, если у вас нет необходимости в шифровании. Это также может быть немного быстрее.

Это был бы мой вариант, учитывая то, что вы сказали в своем вопросе. Нет никаких практических преимуществ https между ALB и контейнерами.