Integrando Terraform, Ansible, Docker, Jenkins e Aws — Parte 2
Olá! Que bom que você não se entediou e continuou por aqui…
Caso tenha perdido o início da saga.. segue o link:
https://medium.com/@matheusmaais/integrando-terraform-ansible-docker-jenkins-e-aws-3ead8e88bf80
A partir de agora vou começar a explicação do processo de construção do meu humilde projeto, lembrando que o projeto é apenas com fins de estudo básico, certamente há N maneiras de executar as mesmas ações, então fui pela mais simples possível, visto que a idéia é um entendimento inicial das funcionalidades das ferramentas.
OBS: todos os procedimentos fiz usando como Sistema Operacional o Ubuntu20.04 ( Funciona também em versões acima da 16.04 e caso você não tenha Linux na sua máquina, podes criar uma maquina virtual na Aws e fazer todos os procedimentos, funciona também)
Configurando a AWS
Não vou entrar em detalhes da criação e configuração da AWS, pois existem muitos ( realmente muitos) tutoriais de como fazer isso, mas vou deixar os links dos passos necessários:
- Criando uma conta na aws
- Criar um Security Group ( para testes, podemos deixar todas as portas liberadas, de qualquer ip.. porém isso abre brechas de segurança)
- Criando uma chave SSH na aws
- Criando um usuário programático (anote os valores de usuario e secret)
- Instalando a CLI
Se todos os passos acima deram certinho ( parecem muitos né? mas não demora nem 10min), abra o terminal do seu sistema e digite:
aws configure
Será requisitado a sua Aws Acess key Id e Aws Acess Key Secret ( que nada mais é que os valores de usuário e senha gerados no passo da criação do usuário programático), em default region você pode digitar us-east-1, que refere-se a região da Virgínia, e como output pode deixar em branco.
Para testarmos , tente o seguinte comando:
aws --version
A saída deve ser algo parecido com isso:
Ótimo! Ja temos o nosso provedor cloud configurado! Agora vamos brincar no Terraform pra ele criar a instância EC2.
Terraform
Como primeiro passo, devemos instalar a ferramenta em nossa máquina local:
Instalando o Terraform: https://www.terraform.io/downloads.html
Podemos verificar se a instalação ocorreu bem, executando:
terraform --version
A saída esperada é essa:
Com o Terraform instalado podemos partir para o próximo passo:
Ansible
Digite os seguintes comandos no terminal:
sudo apt-add-repository ppa:ansible/ansible
sudo apt update
sudo apt install ansible
Para verificar a instalação digite no terminal:
ansible --version
Saída esperada é algo semelhante ao texto abaixo:
ansible --version
ansible 2.9.10
config file = None
configured module search path = ['/Users/southsystem/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/Cellar/ansible/2.9.10/libexec/lib/python3.8/site-packages/ansible
executable location = /usr/local/bin/ansible
python version = 3.8.3 (default, May 27 2020, 20:54:22) [Clang 11.0.3 (clang-1103.0.32.59)]
Pronto! As ferramentas que precisamos instalar na nossa máquina local ja estão ok!
No próximo artigo vamos colocar a mão na massa e começar a brincadeira!