Использование SSL в мультидоменном режиме, автоматическое масштабирование Elastic Beanstalk Setup

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

Таким образом, в нашей системе мы можем создать "сайт", который будет связан с доменом. Когда сайт создается, у нас также должна быть возможность выбрать, будет ли домен размещаться по протоколу SSL/TLS. Мы планируем маркировку системы и ожидаем, что с ней будет связано большое количество доменов.

Я изучал различные возможности установки SSL на серверах (или балансировщике нагрузки) и изменения защищенных доменов на лету. Вот где я нахожусь:

  • Использование диспетчера сертификатов Amazon: это был бы наиболее желательный способ сделать это. Он интегрирован с AWS и очень прост в использовании. Однако он имеет несколько изнурительных ограничений: 1. Каждый домен необходимо проверять по электронной почте каждый раз, когда вы запрашиваете новый сертификат. Ничего страшного, кроме этого 2. Он не может применять сертификаты к экземплярам EC2, только балансировщикам нагрузки и балансировщикам нагрузки может быть назначен только один сертификат. Это означает, что вы должны перепроверять каждый домен всякий раз, когда вы хотите, чтобы другой домен был защищен. Не хорошо.
  • Использование Let's Encrypt на Load Balancer: это будет следующий лучший способ (который я вижу) для защиты наших сайтов. Всякий раз, когда необходимо защитить новый сайт, мы будем запрашивать новый сертификат для всех доменов, которым требуется SSL. После создания сертификата мы отправляем его в IAM и просим EBS связать балансировщик нагрузки с новым сертификатом. Единственная проблема, с которой я сталкиваюсь, заключается в том, что LetsEncrypt ограничивает свои сертификаты 100 доменами, как и несвободный, но относительно недорогой поставщик SSL, SSLMate. Может работать на данный момент, но это не масштабируется. Существует ли автоматический поставщик SSL, который не имеет ограничений на количество доменов в сертификате?
  • Использование Passthrough SSL: Amazon Elastic Beanstalk позволяет настроить его таким образом, чтобы балансировщик нагрузки передавал зашифрованный трафик прямо в экземпляры EC2. Затем вы можете разрешить экземплярам EC2 обрабатывать сертификаты. Затем я могу использовать LetsEncrypt и назначить отдельный сертификат для каждого домена. Я столкнулся с проблемой при рассмотрении автоматического масштабирования: нам нужно будет дублировать сертификаты между экземплярами. Мое решение состояло бы в том, чтобы хранить сертификаты в защищенном хранилище S3, а затем запускать cron на всех экземплярах EC2, чтобы перетянуть новые / обновленные сертификаты.

Есть ли проблемы с последней идеей? Есть ли лучшее решение для того, что я пытаюсь сделать? Я что-то пропустил? Беспокойство? Или, может быть, супер простое решение моей проблемы?

Обратите внимание, что я использую Docker, поэтому я могу установить на сервере все, что мне нужно.

1 ответ

Elastic Load Balancer теперь может иметь до 26 сертификатов (как показано здесь).

Если вам нужно более 26 сертификатов на ELB и вы хотите использовать сервисы AWS, вы можете использовать распределение CloudFront для каждого сертификата / домена.

Также вы можете использовать проверку DNS на основе CNAME в CertificateManager для автоматического обновления сертификатов без проверки электронной почты.

Другие вопросы по тегам