Voltar ao portfólio
EN PT ES
Estudo de caso · Infraestrutura como código

GKE em produção com Terraform e uma Shared VPC

Levando um ambiente GKE provisionado à mão para 100% de infraestrutura como código: uma Shared VPC, clusters privados, um rollout em 8 fases e os guardrails que impedem um destroy acidental. Além das landing zones open-source que construí para GCP, AWS e Azure sobre o mesmo padrão.

Por Vitor Schiavo Atualizado em outubro de 2026 ~8 min de leitura
Visão geral da soluçãoSepare a rede compartilhada das cargas de trabalho de cada ambiente.
Módulos TerraformVersione infraestrutura reutilizável
Shared VPCDefina subnets e fronteiras
Ambientes GKEProvisione cargas de trabalho isoladas

Módulos Terraform reutilizáveis provisionam as fronteiras de rede e os recursos GKE de forma consistente.

Contribuição em resumo

Minha responsabilidade
Terraform modular, fronteiras de rede e um rollout em fases da plataforma GKE.
Escopo
Shared VPC e infraestrutura isolada por ambiente; os exemplos públicos de landing zone são código reutilizável à parte.
Colaboração & limites
Projetei e implementei a base de infraestrutura descrita aqui; os exemplos públicos generalizam o padrão em vez de expor a configuração do empregador.
Resultado
Provisionamento de ambientes reutilizável e recursos de rede compartilhada protegidos, entregues por meio de uma transição de responsabilidade em fases.

Imagine um ambiente GKE e a rede por baixo dele, tudo provisionado à mão. Sem infraestrutura como código, sem consistência entre os ambientes e nada que impeça um terraform destroy acidental de derrubar a rede compartilhada. Este é um relato de como reconstruí isso em uma Shared VPC, clusters privados, uma base de código Terraform modular e um rollout em oito fases que nunca deixou o sistema meio gerenciado.

Tudo aqui é a técnica, sem nomes internos ou detalhes específicos. No final, deixo os links das landing zones open-source que construí para GCP, AWS e Azure, para que você possa ler o código real por trás do mesmo padrão.

O ponto de partida

Os clusters e a rede foram criados pelo console e por um arquivo Terraform monolítico, feito de copiar e colar. Não havia módulo reutilizável, nenhuma estratégia por ambiente e nenhum prevent_destroy na rede. Em outras palavras, o único recurso que você não pode recriar de qualquer jeito, a VPC, era a coisa menos protegida do projeto.

A arquitetura-alvo

O rollout, em oito fases

O objetivo de dividir em fases era nunca ter uma janela em que a rede ficasse meio gerenciada. Cada fase deixava o sistema em um estado funcional.

O guardrail que mais importa

Um bloco lifecycle prevent_destroy na VPC, nas subnets e no Cloud NAT faz um terraform destroy acidental da rede falhar em vez de ter sucesso. A rede é a única coisa que você não pode recriar de qualquer jeito, então é a única coisa que deveria se recusar a ser apagada. Custa três linhas e já evitou quedas reais.

100%infraestrutura como código
4clusters GKE, um pipeline
0IPs públicos de nodes
3landing zones open-source

Resultados

O mesmo padrão, como open source

O relato acima fica genérico, então aqui está o mesmo padrão como código que você pode de fato ler. Construí uma landing zone para cada grande nuvem: uma configuração de Terraform mais GitHub Actions para Kubernetes multiambiente, com os padrões de segurança já embutidos (state remoto, nenhum secret no repositório, IAM de menor privilégio, um aviso de segurança em destaque em cada README).

O que eu diria a quem está começando isso

Decisões e próximos passos

Uma visão retrospectiva da abordagem e dos seus limites. A próxima melhoria é uma proposta, não um resultado já entregue.

Alternativa e justificativa

Uma stack monolítica é rápida de começar; separar a rede compartilhada das cargas de trabalho de cada ambiente reduz o acoplamento destrutivo.

Trade-off

Os módulos adicionam interfaces e fronteiras de state que precisam de responsável, versionamento e migração segura.

O que eu melhoraria a seguir

Próxima melhoria: automatizar as verificações de drift e validar a recuperação a partir de cada fronteira de state da infraestrutura.