Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #4348

terraform-gcp

Faz seu agente provisionar infraestrutura GCP usando Terraform. Permite configurar provedores e implantar recursos do Google Cloud de forma declarativa.

O que ela faz

Esta ferramenta ajuda a criar e gerenciar a infraestrutura do Google Cloud (GCP) usando o Terraform. Ela permite definir seus recursos de nuvem em código, tornando as implantações repetíveis e fáceis de auditar.

Quando usar

  • ✓Ao definir sua infraestrutura do GCP como código para implantações repetíveis.
  • ✓Ao gerenciar diferentes ambientes (desenvolvimento, produção) a partir de um único lugar.
  • ✓Ao configurar múltiplos recursos do GCP de uma vez, como redes e clusters.

Exemplo do que pedir para a IA

“Configure minha infraestrutura do GCP para um novo projeto de desenvolvimento com rede e um cluster GKE.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/terraform-gcp/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/terraform-gcp/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você escreve arquivos de configuração que descrevem os recursos do GCP que deseja. O Terraform lê esses arquivos e interage com o Google Cloud para criar ou modificar sua infraestrutura.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill terraform-gcp

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/terraform-gcp/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Terraform GCP

Provisão e gerenciamento de infraestrutura do Google Cloud Platform usando Terraform com o provedor hashicorp/google.

Quando Usar

  • Definir infraestrutura GCP como código para implantações repetíveis e auditáveis
  • Gerenciar configurações multi-ambiente (dev, staging, produção) a partir de uma única base de código
  • Provisionar grafos de recursos complexos (VPC + GKE + Cloud SQL + IAM) em um único plano
  • Integrar alterações de infraestrutura em pipelines de CI/CD com estágios de plan/apply

Pré-requisitos

  • Terraform >= 1.5 instalado
  • Google Cloud SDK ou uma chave de conta de serviço para CI
  • Um projeto GCP com faturamento ativado
gcloud auth application-default login          # local dev
export GOOGLE_APPLICATION_CREDENTIALS="sa.json" # CI/CD
terraform version

Configuração do Provedor

# versions.tf
terraform {
  required_version = ">= 1.5"
  required_providers {
    google      = { source = "hashicorp/google";      version = "~> 5.0" }
    google-beta = { source = "hashicorp/google-beta"; version = "~> 5.0" }
  }
  backend "gcs" { bucket = "my-project-tf-state"; prefix = "terraform/state" }
}

provider "google"      { project = var.project_id; region = var.region }
provider "google-beta" { project = var.project_id; region = var.region }
# variables.tf
variable "project_id"  { type = string }
variable "region"      { type = string; default = "us-central1" }
variable "environment" {
  type = string
  validation {
    condition     = contains(["dev", "staging", "production"], var.environment)
    error_message = "Must be dev, staging, or production."
  }
}

Configuração do Projeto e Bucket de Estado

gcloud storage buckets create gs://my-project-tf-state \
  --location=us-central1 --uniform-bucket-level-access --public-access-prevention
gcloud storage buckets update gs://my-project-tf-state --versioning

terraform init
terraform plan -var="project_id=my-project" -var="environment=production" -out=tfplan
terraform apply tfplan
resource "google_project_service" "apis" {
  for_each = toset([
    "compute.googleapis.com", "container.googleapis.com",
    "sqladmin.googleapis.com", "servicenetworking.googleapis.com",
    "cloudfunctions.googleapis.com", "run.googleapis.com",
    "secretmanager.googleapis.com", "artifactregistry.googleapis.com",
  ])
  project = var.project_id
  service = each.value
  disable_dependent_services = false
  disable_on_destroy         = false
}

Módulo de Rede

# modules/networking/main.tf
resource "google_compute_network" "vpc" {
  name                    = "${var.environment}-vpc"
  auto_create_subnetworks = false
  routing_mode            = "REGIONAL"
}

resource "google_compute_subnetwork" "main" {
  name                     = "${var.environment}-main-subnet"
  ip_cidr_range            = var.subnet_cidr
  region                   = var.region
  network                  = google_compute_network.vpc.id
  private_ip_google_access = true
  log_config { aggregation_interval = "INTERVAL_5_SEC"; flow_sampling = 0.5 }
}

resource "google_compute_subnetwork" "gke" {
  name                     = "${var.environment}-gke-subnet"
  ip_cidr_range            = var.gke_subnet_cidr
  region                   = var.region
  network                  = google_compute_network.vpc.id
  private_ip_google_access = true
  secondary_ip_range { range_name = "pods";     ip_cidr_range = var.pods_cidr }
  secondary_ip_range { range_name = "services"; ip_cidr_range = var.services_cidr }
}

resource "google_compute_firewall" "allow_iap" {
  name    = "${var.environment}-allow-iap"
  network = google_compute_network.vpc.name
  allow { protocol = "tcp"; ports = ["22", "3389"] }
  source_ranges = ["35.235.240.0/20"]
}

resource "google_compute_router" "router" {
  name    = "${var.environment}-router"
  region  = var.region
  network = google_compute_network.vpc.id
}

resource "google_compute_router_nat" "nat" {
  name                               = "${var.environment}-nat"
  router                             = google_compute_router.router.name
  region                             = var.region
  nat_ip_allocate_option             = "AUTO_ONLY"
  source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
  log_config { enable = true; filter = "ERRORS_ONLY" }
}

output "vpc_id"         { value = google_compute_network.vpc.id }
output "gke_subnet_id"  { value = google_compute_subnetwork.gke.id }

Módulo de Cluster GKE

# modules/gke/main.tf

…
Perguntas frequentes

O que é Terraform?

Terraform é uma ferramenta que permite gerenciar infraestrutura de nuvem (como servidores, bancos de dados) através de código, tornando o processo mais automatizado e confiável.

O que é Google Cloud Platform (GCP)?

GCP é um conjunto de serviços de computação em nuvem oferecidos pelo Google, como armazenamento, bancos de dados e máquinas virtuais.

O que significa 'infraestrutura como código'?

É a prática de gerenciar e provisionar sua infraestrutura de TI através de arquivos de definição legíveis por máquina, em vez de configuração manual.

Detalhes

Descrição original do autor

Provision GCP infrastructure with Terraform. Configure providers and deploy Google Cloud resources. Use when implementing IaC for GCP.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4348
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas