Nome:Leonardo Brito
In: leohbrito
T e r r a f o r m
PORQUE IAC ?
Infraestrutura como código.
O surgimento de hardware definido por
software deu origem à frase “Infra-estrutura
como código” ou “Infrastructure as a Code”
para descrever o modo como esses ambientes
são gerenciados e criados.
(IaaS)
O Infrastructure as Code (IAC) é um tipo de infra-estrutura de
TI que as equipes de TI podem gerenciar e provisionar
automaticamente por meio de código, ao invés de usarem um
processo manual. Infraestrutura como Código é algumas vezes
referida como infra-estrutura programável.
(IaC)
PORQUE TERRAFORM?
O código é portátil, reutilizável,
compartilhável e facilmente testável.
Infraestrutura como código.
Terraform é multi-provider.
Você provisiona e executa.
Se você se cadastrou na AWS este será seu painel AWS.
Na barra de pesquisa busque por IAM a AWS nos redireciona para
esta página.
Aqui poderemos cadastrar nosso usuário para logar-se na AWS via
TERRAFORM.
Crie um usuário:
Esse dados são extremamente importantes ,
portando copie e salve em algum local.
https://www.terraform.io/docs/providers/aws/index.html
Na documentação do terraform podemos ver como usar o Access_KEY e secret_KEY
A princípio podemos fazer assim porém o ideia é declarar uma variável para essas chaves.
Crie um arquivo main.tf
Arquivos nomeados como .tf e divididos para fácil manutenção.
Arquivo main.tf ficou com as configurações do Provider para acesso.
Arquivo instance.tf com os dados da AMI, número de Instâncias, tipo de Instâncias.
Módulo User-data = "chama arquivo .SH"
Arquivo .sh com as instruções para instalação do apache.
Inserindo dados em um arquivo index.html na /var/www/
Executando o
TERRAFORM plan
recebemos a seguinte
informação:
1 add
0 change
0 destroy
Execute o comando:
terraform apply
confirme digitando: yes
-Terraform executado.
-Instância criada.
-User-Data: Executado
-Apache instalado
-Index.html criado.
-Ambiente no Ar.
Execute o comando:
terraform destroy
confirme digitando: yes
Instância destruída.
Vídeo demonstrativo deste Lab’s.
Link: https://youtu.be/1N9fbrd9CiA
Este foi um Lab's simples dada as infinitas possibilidades do TERRAFORM.
Partindo deste conceito, podemos:
- Adicionar a uma VPC pública ou privada.
- Adicionar a um security_group personalizado.
- Adicionar instâncias ao Auto Scaling Group.
- Subir um Kluster em Kubernetes
Boas práticas:
- Subir seus códigos TERRAFORM para um repositório público ou privado;
- Se subir em repositório público, favor, não expor suas Secret_key e Access_Key.
Obrigado.

Terraform Leonardo Brito - IAC