Automacao do Google Cloud Platform com Terraform Facilmente
Voce pode implantar seu load balancer, instance template, instance group e regras de firewall facilmente com terraform.

Era uma vez, quando eu estava aprendendo Google Cloud Platform, eu queria automatizar meu fluxo de trabalho e deploys com terraform e escrevi esta IaaC (Infraestrutura como Codigo) para gerenciar minha infraestrutura de forma facil e rapida.
O que isso pode fazer?
Criar um load balancer seguro com SSL e transformar as requisicoes HTTP em HTTPS com codigo de redirecionamento 301.
Criar um Instance Template e configurar tudo sobre rede, subnet, script de inicializacao.
Criar um Instance Group e gerencia-los. Se a CPU do seu instance group estiver acima ou abaixo de um valor, o gerenciador do instance group automaticamente aumentara ou diminuira a escala das VMs.
As instancias VM rodam com IP privado e o acesso SSH em todo o projeto nao e permitido por padrao. Gerenciar a regra de firewall para health check do load balancer.
Requisitos
- Habilitar Compute Engine API se nao estiver habilitada.
- Criar Service account com role
Editor(ou o que voce quiser) e exportar o arquivo de chave. - Criar Cloud Google Storage Bucket para manter o estado do terraform. Se quiser, voce pode adicionar sua service account como membro do bucket.
- Criar Compute Engine Image Voce pode criar uma VM baseada em Debian 10 e instalar o nginx via
sudo apt install -y nginxe testar este codigo terraform. Nao esqueca do comandosudo systemctl enable nginxantes de transformar sua VM em imagem.
Uso
Aqui estao os passos...
- Clone o repositorio
git clone git@github.com:flightlesstux/gcp-instance-group-and-loadbalancer-w-terraform.git - Autentique-se na Google Platform mesmo se o google-sdk nao estiver instalado. E realmente util para pipelines CI/CD! Se voce ja fez login no seu projeto Google Cloud Platform como
gcloud auth login, pode pular este passo.export GOOGLE_APPLICATION_CREDENTIALS=service-account-key.json - O Project ID tambem e declarado via terraform, mas se voce nao exportar o valor, provavelmente recebera um erro como abaixo.
export GOOGLE_PROJECT="0123456789012"│ Error: project: required field is not set
│
│ with google_compute_instance_group_manager.this,
│ on group_manager.tf line 1, in resource "google_compute_instance_group_manager" "this":
│ 1: resource "google_compute_instance_group_manager" "this" { - Editar valores das variaveis
arquivo variables.tf. - Configuracoes do Certificado SSL
Cole seu certificado SSL e o arquivo de chave na pastacerts. O Loadbalancer precisa ser seguro! Voce pode colar seuPublic key certificateeCertificate chainemcertificate.crt. - Voce pode acompanhar a versao do seu ambiente de producao facilmente com esta variavel. E tambem, o Instance group precisa da nova versao para fazer um rolling update.
export TF_VAR_deploy_version=v1 - Inicializar
terraform init - Vamos Implantar
terraform applyouterraform apply -auto-approve
Endereco do Repositorio
https://github.com/flightlesstux/gcp-instance-group-and-loadbalancer-w-terraform
Espero que este artigo ajude voce.
Mais de Ercan
Mais dois sites, mesmo autor, terreno diferente.
IA, LLMs, agentes, ML aplicado.
Notas de campo sobre cargas de IA. Análise de custos do Bedrock, padrões de agentes, trade-offs de armazenamento vetorial, modos de falha em produção.
Visitar ercan.ai →O hub. Sobre, consultoria, contato.
Hub pessoal para as duas trilhas de escrita. Quem sou eu, como funciona a consultoria, como me contatar.
Visitar ercanermis.com →