Provisionamento como Código (AWS)
Este projeto consiste em criar uma pilha do AWS CloudFormation para implantar um ambiente altamente disponível do WordPress usando o Amazon ECS (Elastic Container Service). O ambiente incluirá um cluster ECS, uma definição de tarefa, um serviço, um balanceador de carga, dimensionamento automático e um sistema de arquivos EFS para armazenar dados persistentes do WordPress.
- Conta da AWS com permissões para criar recursos.
- AWS CLI configurado com as credenciais adequadas.
- Conhecimento básico sobre o uso do AWS CloudFormation.
No repositório, foi criado um arquivo chamado ecs-wordpress-stack.yml que continha o template do CloudFormation. Este arquivo definiu todos os recursos necessários para a infraestrutura.
No template do CloudFormation, foram definidos os seguintes recursos:
- Um cluster ECS para hospedar os containers do WordPress.
- Uma definição de tarefa que especificava como os containers do WordPress seriam configurados.
- Um serviço ECS para garantir que a tarefa do WordPress fosse sempre executada.
- Um balanceador de carga para distribuir o tráfego entre os containers.
- Configurações de dimensionamento automático para ajustar automaticamente o número de containers com base na carga.
- Um sistema de arquivos EFS para armazenar dados persistentes do WordPress.
No template, foram utilizados parâmetros para permitir a personalização durante a criação da pilha, como nome do cluster, tamanho da instância, etc.
Foram fornecidos comentários claros no template para explicar a finalidade de cada recurso e parâmetro. Isso ajudou outros desenvolvedores a entenderem e personalizarem a implantação conforme necessário.
Foi utilizado o comando para enviar arquivo template e parametros atraves da CLI seguinte:
aws cloudformation deploy --template-file ./ecs-wordpress-stack.yaml --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND --parameter-overrides $(cat parametros.env) --stack-name wordpress
A pilha foi implantada através do CLI ou do Management Console da AWS, a escolha foi livre.
Após a conclusão da implantação, verificou-se se o ambiente do WordPress estava funcionando corretamente. O endereço do balanceador de carga foi acessado para acessar o WordPress.
Link para a Documentação Oficial da AWS CloudFormation
Ana Bea Ferraz
Bruna Leal
Kamila Antunes
Ren Wrobleski
Este projeto está licenciado sob a licença MIT.
Contribuições são bem-vindas! Sinta-se à vontade para abrir um problema ou enviar um pull request.