Balanceador de carga do Google Cloud + grupo de instâncias + certificados SSL

Balanceador de carga do Google Cloud + grupo de instâncias + certificados SSL

Meu projeto consiste em um site principal onde os usuários podem registrar uma conta. Após o registo, cada um deles obtém um site (subdomínio do meu próprio domínio) onde têm uma loja de comércio eletrónico gerida por uma plataforma alojada no meu site principal (aquele em que se registaram).

example1.com -> site principal (login, cadastro etc)
example1.com/platform -> plataforma de gerenciamento
store1.example1.com -> loja do usuário 1
store2.example1.com -> loja do usuário 2

E em termos de hardware agora minha configuração é esta: 1 instância de VM no GCP com Apache, alguns hosts virtuais configurados com alguns curingas que podem mapear o domínio solicitado para a pasta apropriada.
Também gerei um certificado curinga no meu domínio principal protegendo todas as lojas dos meus clientes com SSL.

Agora, eu queria evitar a sobrecarga do servidor ao longo do tempo, então pensei que ter um balanceador de carga conectado a um grupo de instâncias de máquinas replicadas daquela explicada acima resolveria meu problema, em teoria funciona, mas estou com um problema:

Cada usuário tem o poder de comprar um nome de domínio próprio e redirecioná-lo para o meu ip (LB ou VM) para que sua loja fique mais ou menos assim:

store1.com -> Loja do usuário 1
store2.com -> Loja do usuário 2

E, se quisessem, poderiam “comprar” um certificado SSL na minha plataforma para proteger seu nome de domínio. Posso lidar facilmente com a criação de certificados SSL rapidamente por meio do certbot e letsencrypt da API, mas, como minhas VMs estariam em execução em um grupo de instâncias, qualquer arquivo de certificado salvo na VM atualmente em funcionamento não seria replicado para os outros (se houver ) e poderá até ser perdido quando o grupo de instâncias decidir que não precisa mais da VM atual. Como eu poderia organizar tudo (LB, grupo de instâncias, vm e/ou apache) para que o balanceador de carga enviasse tráfego para várias vm em meu grupo de instâncias, mas eles pudessem "compartilhar" de alguma forma a pasta de certificados ou até mesmo o disco inteiro. ?

A propósito, o disco persistente em VMs só pode ser montado em várias VMs se elas estiverem no modo somente leitura (não vai funcionar) e eu também tentei o filestore, mas custou 200 por mês e isso é um pouco demais só para isso.

Responder1

Como @JohnHanley apontou:

Gerencie os certificados na configuração do LB e remova o certbot do servidor Web. Haverá alguma sobrecarga com a verificação de domínio do Google, mas definitivamente vale a pena tentar.

Em relação à configuração e certificados do LB:

  • você não pode alterar um certificado configurado em um LB
  • mas você pode adicionar um novo certificado (por exemplo, com um nome de host adicional) e adicioná-lo a um LB existente e posteriormente remover a configuração de certificado mais antiga

Existem alguns módulos Terraform que podem apoiá-lo, mas é claro que isso também criaria algum esforço de aprendizado e gerenciamento.

informação relacionada