Bruno Santos
2 min readDec 14, 2021

Assim que migrei da carreira de DBA para infraestrutura, naturalmente comecei a direcionar meus estudos a ferramentas da minha nova área de atuação, e dentre muitas, uma particularmente me chama atenção, terraform (carinhosamente chamado de TF).

A ideia de construir toda uma infraestrutura e provisionar recursos por código é uma atividade bem empolgante para mim. No começo da minha carreira tive a oportunidade de acompanhar de perto a construção de uma infraestrutura, e com o surgimento e crescimento da computação em nuvem essa época não traz saudades.

Nesse artigo quero compartilhar um código TF de um LAB que criei recentemente mostrando o provisionamento de uma infraestrutura, assim como alguns recursos. Para ilustrar o que efetivamente é provisionado criei o diagrama abaixo:

Diagrama da Infraestrutura e Recursos Provisionados

Recursos

Para esse LAB criei contas AWS (free tier) e DataDog (trial), então vale ressaltar que, se você quiser executar o LAB fique a vontade, mas tome cuidado com os eventuais custos.

Resumo

https://github.com/brunosantosnet/lab-tf-serverless-infrastructure

O que o código TF provisiona:

Infraestrutura (VPC, subnets públicas e privadas, internet gateway, NAT gateway, route tables): sem reinventar a roda, usei o módulo do repositório oficial da hashcorp.

API Gateway: com apenas uma rota integrando com o lambda.

Lambda (Runtime Python): também sem reinventar a roda, usei módulo do repositório oficial da hashcorp.

RDS: e mais uma vez um módulo, viva o repositório da hashicorp. \o/

Dashboard no DataDog: eu diria que é a cereja do bolo, após provisionar tudo, podemos usar um provider para criar um dashboard e monitorar nossos recursos.

Assim que o código TF é executado, o output será um curl onde o resultado é uma consulta a partir do lambda ao RDS mostrando qual a versão do postgres.

Output

Abaixo, parte do output durante a execução do código

Próximos Passos

A ideia é que tudo isso seja provisionado via github actions, espero em breve compartilhar o resultado em outro artigo.

Bruno Santos
Bruno Santos

Written by Bruno Santos

Pai, marido, filho, irmão, tio, cristão, profissional de TI, corintiano, chef e fã de comida japonesa

No responses yet