Alex Junio
Voltar para o Blog
Amazon AWS

Automação Servidor WordPress na AWS com CloudFormation, Packer e Ansible

admin

admin

Engenheiro Cloud & DevOps

Publicado em

20/09/2021

Compartilhe

Automação de Servidor WordPress Amazon AWS CloudFormation

Nesse artigo vamos falar um pouco do nosso projeto open source recém lançado no GitHub com foco em automação de Servidor WordPress.

Hoje em dia quase tudo o que envolve hospedagem e deploy de aplicações, nós tentamos imaginar formas de automatizar várias tarefas. Imagine você configurar um servidor na mão levando horas, e através de uma automação poder ter o ambiente pronto em minutos. Incrível, não?

Pensando na melhor forma de configurar um servidor, e até mesmo poder replicar várias vezes em novos projetos sem longas horas técnicas, elaboramos esse modelo básico de automação. Você pode utiliza-lo, customiza-lo, e trabalhar com ele conforme precise.

Esquema do processo de deploy desde a geração da AMI até o deploy do EC2.

Automação Infraestrutura (IAC)

Infraestrutura como Código (IAC), é algo que assim que descobri me apaixonei. Podemos escrever e versionar nossa infraestrutura em código (JSON,YAML), e existe várias tecnologias para isso como:

  • Terraform
  • Ansible
  • CloudFormation

No nosso modelo de automação, usamos o CloudFormation. Através dele definimos todo o escopo da infraestrutura que desejamos que seja provisionado como: Região, Tipo de Máquina, Tamanho do Disco, Imagem do Servidor, Regras de Segurança e muito mais.

Na console da AWS podemos fazer o deploy da infraestrutura usando nosso template diretamente na console ou via terminal com o AWS CLI.

Esquema do processo de deploy desde a geração da AMI até o deploy do EC2.

Automação Imagem Servidor WordPress

Como estamos trabalhando com AWS e principalmente usando o CloudFormation para provisionar a nossa infraestrutura. Nós precisamos ter uma AMI como base criada. O servidor irá utilizar uma imagem de sistema operacional personalizada para que inicialize com todos os serviços funcionando.

Nós podemos utilizar o Packer para automatizar a criação de uma AMI personalizada para que nós utilizemos na AWS. No nosso projeto a AMI irá utilizar o Ubuntu 20:04 e já vai vir com toda a parte de software instalado.

Automação de Software

Todos os softwares necessários para que um site WordPress consiga funcionar (Nginx, PHP, MySQL) também foram automatizados. Nós escolhemos o Ansible como ferramenta de automação na instalação e configuração da nossa Stack.

No momento que nossa AMI estiver sendo criada, o Ansible será acionado para instalar nossa Stack.

Informações da Automação WordPress AWS

Todos os requisitos e formas de uso estão no nosso GitHub.

Caso queira colaborar com alguma atualização, funcionalidade e até mesmo relatar um bug, nos vemos lá.

admin

Escrito por admin

Engenheiro Cloud & DevOps com mais de 10 anos de experiência construindo e escalando infraestruturas de alto tráfego em AWS, DigitalOcean e Servidores Dedicados.

Conhecer Serviços →

Comentários (4)

Deixe seu comentário

U
Thiago Moreira
Thiago Moreira
Há 2 dias

Excelente artigo, Alex! Estávamos exatamente com esse problema de overprovisioning na nossa startup. Aplicar os Savings Plans salvou quase 30% da nossa conta mensal.

Alex Junio
Alex JunioAutor
Há 1 dia

Fico feliz que ajudou, Thiago! Essa economia faz total diferença no longo prazo. Se precisarem de ajuda para escalar o banco de dados depois, me deem um toque.

Juliana Costa
Juliana Costa
Há 4 dias

Não tinha pensado em usar Spot para as filas do SQS. Existe algum risco do Spot ser finalizado no meio de um processamento pesado de vídeo?

Alex Junio
Alex JunioAutor
Há 4 dias

Sim, Juliana! A AWS te avisa com 2 minutos de antecedência. O segredo é sua aplicação capturar o evento de interrupção e colocar a mensagem de volta na fila (visibility timeout) antes da máquina morrer.

Roberto Freitas
Roberto Freitas
Há 1 semana

Muito bom o conteúdo técnico. Falta só mais detalhes sobre instâncias Graviton.

Carla Mendes
Carla Mendes
Há 1 semana

Sensacional! Usei as dicas de Right-Sizing e deu muito certo no meu e-commerce.