Preparem-se, amigos! Estamos na reta final da nossa incrível jornada! Neste capítulo decisivo, vamos configurar a parte crucial da nossa infraestrutura altamente disponível.
- Parte 1 – Introdução, Considerações e Arquitetura
- Parte 2 – Criação dos Containers
- Parte 3 – Ansible e Dependências
- Parte 4 – Gluster
- Parte 5 – Instalação do WordPress
- Parte 6 – MariaDB Multi-Master
- Parte 7 – DNS Round-Robin, Let’s Encrypt, & Conclusão (este artigo)
Vamos começar pelo Let’s Encrypt, a solução perfeita para obter um certificado HTTPS gratuito. O desafio que temos pela frente é garantir que os três servidores web consigam responder com o certificado do domínio homeserver.pt. Como resolver isso? Com um toque de mágica do Gluster, claro!
Primeiro, parem o nginx em cada nó. É fundamental garantir que não haja interferências.
systemctl stop nginx
No Node1, vamos mover as diretivas do nginx e os diretórios do letsencrypt do /etc para o nosso sistema de arquivos Gluster, e depois criar os links simbólicos. Assim, garantimos que as alterações sejam automaticamente refletidas em todos os nós:
root@node1:/etc# mv nginx letsencrypt /gluster/
root@node1:/etc# ln -s /gluster/nginx /etc/nginx
root@node1:/etc# ln -s /gluster/letsencrypt /etc/letsencrypt
Nos nós 2 e 3, eliminamos os diretórios no /etc e estabelecemos os links, pois os arquivos já estão no Gluster a partir do passo anterior:
root@node2:~# rm -rf /etc/nginx /etc/letsencrypt
root@node2:~# ln -s /gluster/nginx /etc/nginx
root@node2:~# ln -s /gluster/letsencrypt /etc/letsencrypt
Agora, acedemos ao nosso provedor de DNS (estou a usar o DNS hospedado na Cloudflare) para criar o registo A para o Node1 (123.456.789.123). Por enquanto, qualquer browser (ou certbot) que aceder a www.homeserver.pt será direcionado para o Node1.
Configuração do Let’s Encrypt
Vamos agora obter o nosso certificado do Let’s Encrypt!
certbot --authenticator webroot --installer nginx --webroot-path /web/www.homeserver.pt -d www.homeserver.pt
Sucesso! O certificado foi salvo e está pronto para ser utilizado.
- O certificado está instalado no nosso sistema de arquivos Gluster, o que significa que está disponível em todos os três nós, e os directs do Let’s Encrypt de cada nó estão apontando para esse sistema compartilhado.
Round Robin DNS
O Round Robin DNS (RRDNS) é uma funcionalidade fantástica que nos permite criar múltiplos registos para o mesmo nome. A magia acontece quando, a cada consulta ao nome (neste caso, www.homeserver.pt), o servidor DNS devolve todos os registos disponíveis. Hoje em dia, os browsers são espertos e tentam um aleatoriamente. Se não responder, eles vão para o próximo!
No nosso caso, vamos configurar o RRDNS para devolver os três registos A para os nossos nós. Assim, se um nó falhar, o acesso continua funcionando sem que o utilizador perceba!
# nslookup www.homeserver.pt
Verificamos que estamos no modo HA! Se um utilizador consulta www.homeserver.pt, e o Node1 está fora do ar, ele automaticamente tentará o Node2 ou o Node3.
Neste ponto, já podemos criar conteúdo em qualquer nó, e ele é servido de forma eficiente a partir de qualquer nó! É uma vitória épica!