Adicionando Certbot para SSL em Elastic Load Balancer na AWS
No post anterior (https://marcomapa.com/artigos/gerando-certificados-ssl-gratuitos-com-certbot/), aprendemos a gerar um certificado SSL validando sua titularidade com arquivos físicos no servidor da aplicação. Agora vamos aprender a vinculá-lo num Elastic Load Balancer, deste modo, nosso certificado pode ser utilizado em sites e projetos rodando numa Instância EC2 ou fargate.
O que é Elastic Load Balancer?
O Elastic Load Balancer (ELB) é um serviço de balanceamento de carga fornecido pela Amazon Web Services (AWS). Ele é projetado para distribuir automaticamente o tráfego de entrada para várias instâncias do Amazon EC2, ajudando a otimizar a escalabilidade, disponibilidade e resistência das aplicações.
O ELB atua como um ponto de entrada para o tráfego de aplicativos, distribuindo as solicitações entre várias instâncias EC2 para garantir que cada instância não seja sobrecarregada. Ele monitora continuamente a saúde das instâncias e redireciona o tráfego apenas para as instâncias saudáveis, garantindo assim uma experiência de usuário confiável.
Existem diferentes tipos de Elastic Load Balancers oferecidos pela AWS, como o Classic Load Balancer (CLB), o Application Load Balancer (ALB) e o Network Load Balancer (NLB), cada um com recursos específicos para atender às necessidades diferentes de diferentes aplicativos.
O Elastic Load Balancer simplifica a escalabilidade e a disponibilidade de aplicativos, permitindo que os desenvolvedores se concentrem no desenvolvimento de seus aplicativos, enquanto o serviço gerencia a distribuição de carga e a tolerância a falhas. Ele desempenha um papel fundamental em arquiteturas de aplicativos resilientes e altamente disponíveis na nuvem.
Configurando HTTPS num ELB
Pré-requisitos:
- Já ter criado um Elastic Load Balancer na sua conta da AWS.
(https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/create-application-load-balancer.html); - Ter em mãos os arquivos do certificado SSL
(https://marcomapa.com/artigos/gerando-certificados-ssl-gratuitos-com-certbot/)
1-) Acesse sua conta AWS:
2-) Na Barras de Pesquisas, procure por EC2 (1) e clique na primeira opção nos resultados (2):
3-) Na lista de recursos, clique em Load Balancers:
4-) Selecione o Load Balancer que deseja atribuir o certificado SSL (1), clique na aba Listeners (2) e por fim, no botão Add Listener (3) :
5-) No formulário escolha o protocolo HTTPS, sua porta padrão é a 443.
6-) Descendo a tela, é hora de escolher a policy de segurança:
7-) Agora vamos importar nosso certificado gerado manualmente no Certificate Manager da AWS
8 -) Cole a Chave privada(a) do Certificado gerado (1) e depois o corpo(b) criptografado (2):
- (a) - conteúdo do arquivo privkey.pem
- (b) - conteúdo do arquivo fullchain.pem
9-) Clique no botão Add e pronto ! Seu certificado está atribuído ao listener e você já pode testar sua aplicação apontada para o ELB utilizando https://