Skip to content

Instantly share code, notes, and snippets.

@Jojoooo1
Last active October 31, 2023 21:45
Show Gist options
  • Save Jojoooo1/cc0f30a7e5dd93c6e8f1cce39021c771 to your computer and use it in GitHub Desktop.
Save Jojoooo1/cc0f30a7e5dd93c6e8f1cce39021c771 to your computer and use it in GitHub Desktop.
Cloud NAT for shared VPC
resource "google_compute_router" "vpc_router" {
project = var.project_id
name = "${local.vpc_name}-${var.region}-nat-router"
region = var.region
network = module.vpc.network_self_link
}
resource "google_compute_address" "vpc_nat_ip" {
project = var.project_id
name = "${local.vpc_name}-${var.region}-egress-nat-ip"
region = var.region
}
resource "google_compute_router_nat" "vpc_nat" {
project = var.project_id
name = "${local.vpc_name}-${var.region}-egress-nat"
region = var.region
router = google_compute_router.vpc_router.name
nat_ip_allocate_option = "MANUAL_ONLY"
nat_ips = google_compute_address.vpc_nat_ip.*.self_link
source_subnetwork_ip_ranges_to_nat = "LIST_OF_SUBNETWORKS"
subnetwork {
name = module.vpc.subnets["${var.region}/${local.vpc_name}-${var.region}-private"].self_link
source_ip_ranges_to_nat = ["ALL_IP_RANGES"]
}
log_config {
filter = "TRANSLATIONS_ONLY"
enable = true
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment