Será necessário que você gere uma Access Key e uma Secret Key de acesso no console do IAM no painel da AWS para esse exemplo.
Nosso arquivo é bem simples. Vamos criar somente 4 variáveis, a region onde iremos fizar a região default onde será realizado o deploy da nossa infraestrutura, a key_path onde teremos que alterar para apontar o caminho da sua chave pública. Será necessário especificar o caminho da home do seu usuário apontando para o arquivo id_rsa.pub, o ami onde iremos especificar o id da nossa AMI, neste exemplo estarei utilizando a versão mais recente da Amazon Linux e por fim o instance_type onde iremos utilizar o tamanho t2.micro.
Esse arquivo é o arquivo mais importante. Nele vamos definir nossos resources, ou seja, nossos security groups, as duas EC2 de exemplo e nosso load balance referenciando as duas. Todas as variáveis que utilizamos no arquivo variables.tf vão ser referenciadas aqui.
Vamos começar declarando nosso cloud provider como AWS. Quando começarmos a configurar o ambiente, o Terraform irá procurar por essa configuração para fazer o bootstrap do nosso Deploy. Em seguida vamos criar as regras do nosso Security Group. Onde vamos liberar tráfego livre para a porta 80 da nossa aplicação.
Vamos criar dois objetos do tipo aws_instance chamados webserver001 e webserver002. Neles vamos referenciar a maioria das nossas variáveis criadas anteriormente, como o tipo da instância, o id da AMI, nossa Key Pair, Security Groups e etc.