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

Если мне нужно предоставить клиентам настраиваемые сертификаты SSL, могу ли я использовать Elastic beanstalk?

Для приложения SaaS, где клиенты могут использовать свои собственные доменные имена, я буду использовать шифрование для генерации сертификатов для доменов клиентов.

В настоящее время я использую эластичный бобовый стебель (который использует ELB).

Могу ли я продолжать использовать beanstalk?

Поскольку эластичный балансировщик нагрузки должен будет обрабатывать проверку сертификатов, а мои сертификаты будут на моих экземплярах, я думаю, мне нужно каким-то образом направить трафик на мои экземпляры.

Есть ли какие-то обходные пути, которые стоит потратить, могу ли я это сделать?

клиент -> экземпляр ec2, на котором запущен haproxy -> ELB -> Beanstalk

SSL будет отключен на моем экземпляре ec2, на котором запущен haproxy.

У вас есть несколько вариантов:

  1. Пройдите по указанному вами маршруту, завершите свой SSL в кластере экземпляров HAProxy, прежде чем перенаправлять трафик через ваш ELB на ваши экземпляры.
  2. Превратите ваш ELB в TCP-пересылку, что сделает ELB тупым устройством для перетасовки пакетов. Здесь вы теряете некоторые преимущества ELB, но это сработает. Вы отключите SSL в экземплярах, на которых размещено ваше приложение в этом сценарии, поэтому в конфигурации балансировки нагрузки вам потребуются копии сертификата на всех ваших экземплярах. Может быть довольно сложно организовать, но выполнимо.
  3. (и мой предпочтительный вариант) используйте ALB. ALB поддерживает несколько сертификатов SSL и автоматически выбирает правильный сертификат, когда клиент указывает заголовок SNI. Вы сможете загрузить необходимые части сертификата (ключ, сертификат, посредник) в IAM и выбрать их в своем ALB через API.

У ALB есть много других преимуществ, чем просто SNI ... они поддерживают HTTP / 2, маршрутизацию на основе пути к нескольким целевым группам (полезно в некоторых сценариях), и, насколько мне известно, они дешевле, чем классические ELB.

И да, Elastic Beanstalk ДЕЙСТВИТЕЛЬНО поддерживает ALB. К сожалению, вы можете: а) использовать его только во время создания среды и б) делать это только через новый пользовательский интерфейс. Я опубликовал несколько нарекания о UI и EB в целом, которые действительно начали его использовать за последние несколько недель. Надеюсь, они исправят эти проблемы в будущем. Тем временем вы, по крайней мере, должны иметь возможность сохранить текущую конфигурацию среды, запустить новую из сохраненной конфигурации (изменив тип балансировщика нагрузки перед созданием), а затем переключить CNAME, когда она будет запущена и запущена.

Также обратите внимание: ваша среда должна быть настроена для использования VPC, чтобы использовать ALB.