Google Cloud Load Balancer + группа экземпляров + сертификаты SSL

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

example1.com -> основной сайт (вход, регистрация и т. Д.)
example1.com/platform -> платформа управления
store1.example1.com -> Магазин пользователя 1
store2.example1.com -> Хранилище пользователя 2

А с точки зрения оборудования сейчас моя установка такова: 1 экземпляр ВМ в GCP с apache, установка пары виртуальных хостов с некоторыми подстановочными знаками, которые могут сопоставить запрошенный домен с соответствующей папкой.
Я также создал подстановочный сертификат в моем основном домене, защищающий все магазины моих клиентов с помощью SSL.

Теперь я хотел предотвратить перегрузку сервера с течением времени, поэтому, хотя наличие балансировщика нагрузки, подключенного к группе экземпляров машин, реплицированных с описанной выше, решило бы мою проблему, теоретически это работает, но у меня есть проблема:

Каждый пользователь имеет право купить собственное доменное имя и перенаправить его на мой IP (LB или VM), чтобы их магазин выглядел примерно так:

store1.com -> Магазин пользователя 1
store2.com -> Магазин пользователя 2

И, если они захотят, они могут «купить» SSL-сертификат на моей платформе для защиты своего доменного имени. Я могу легко справиться с созданием SSL-сертификатов на лету через certbot API и letsencrypt, но, поскольку моя виртуальная машина будет работать в группе экземпляров, любой файл сертификата, который я сохраняю на текущей рабочей виртуальной машине, не будет реплицирован на другие (если есть ) и даже могут быть потеряны, когда группа экземпляров решит, что эта текущая виртуальная машина больше не нужна. Как я могу упорядочить все (LB, группу экземпляров, виртуальную машину и / или apache), чтобы балансировщик нагрузки отправлял трафик на несколько виртуальных машин в моей группе экземпляров, но они могли бы каким-то образом "совместно использовать" папку сертификатов или даже весь диск ..?

Постоянный диск BTW на виртуальных машинах может быть подключен к нескольким виртуальным машинам, только если они находятся в режиме только для чтения (не сработает), и я также пробовал хранилище файлов, но это стоило 200 в месяц, и это слишком много только для этого ..

1
задан 29 July 2021 в 23:09
1 ответ

Как отметил @JohnHanley:

Управляйте сертификатами при настройке LB и удаляйте certbot с веб-сервера. С проверкой домена Google будут некоторые накладные расходы, но попробовать определенно стоит.

Относительно конфигурации LB и сертификатов:

  • вы не можете изменить настроенный сертификат на LB
  • , но вы можете добавить новый сертификат (например, с дополнительным именем хоста) и добавить его в существующую LB и позже удалите старую настройку сертификата

Есть несколько модулей Terraform, которые могут вам помочь, но, конечно, это также потребует некоторых усилий по обучению и управлению.

1
ответ дан 3 August 2021 в 12:20

Теги

Похожие вопросы