2
respostas

[Projeto] Blue/Green do front-end de uma aplicaçao no AWS Amplify

Pessoal,

Estou tentando implementar um deployment Blue/Green usando o AWS Amplify. Eu tenho dois custom names, vamos chama-los de "prod1.example.com" e "prod2.example.com".

Cada um deles esta associado a uma branch.

Eu gostaria de ter um terceiro DNS name (bluegreen.example.com) que abstraia esses dois custom names, direcionando a request de acordo com o "atual green" ou o "atual blue".

Usando o S3, eu consigo configurar esse redirect, mas apenas em HTTP, ou seja:

http://bluegreen.example.com -> https://prod1.example.com OU http://bluegree.example.com -> https://prod2.example.com

Alguém pra me sugerir como fazer pra também conseguir redirecionar requests em HTTPS?

Obrigado!

2 respostas

Olá!

Para implementar um deployment Blue/Green com redirecionamento HTTPS no AWS Amplify, você pode considerar usar o Amazon CloudFront em conjunto com o Route 53. Aqui está uma sugestão de como você pode configurar isso:

  1. Configurar o CloudFront: Crie duas distribuições do CloudFront, uma para cada ambiente (prod1 e prod2). Cada distribuição deve apontar para o respectivo bucket S3 ou endpoint do Amplify.

  2. Configurar o Route 53: No Route 53, você pode criar um registro CNAME para "bluegreen.example.com" que aponte para uma das distribuições do CloudFront. Isso permitirá que você alterne entre as distribuições sem mudar o DNS, apenas atualizando o alvo no Route 53.

  3. Certificados SSL: Certifique-se de que cada distribuição do CloudFront tenha um certificado SSL válido. Você pode usar o AWS Certificate Manager (ACM) para gerenciar seus certificados SSL.

  4. Alternar entre ambientes: Quando quiser alternar entre os ambientes, basta atualizar o registro no Route 53 para apontar para a distribuição do CloudFront correspondente ao ambiente que deseja tornar ativo.

Essa abordagem permite que você mantenha o redirecionamento HTTPS e controle facilmente qual ambiente está ativo através do Route 53. Lembre-se de testar suas configurações em um ambiente de desenvolvimento antes de aplicar em produção.

Bons estudos!

Oi Lucas,

Eu ja tentei fazer assim, mas não funciona.

Criei uma distribuição só, no CloudFront, pra testar o redirecionamento HTTPS. Coloquei o CNAME de "bluegreen.example.com" pra distro CloudFront, e o S3 no Origin Name da distro CloudFront. Também adicionei o certificado SSL na configuração da distro.

Mas ele não consegue encontrar a rota e a página não é carregada.