Skip to content

Instantly share code, notes, and snippets.

@Jojoooo1
Last active November 6, 2023 13:05
Show Gist options
  • Save Jojoooo1/c80ef055e21f1f61c3f903b312dd1250 to your computer and use it in GitHub Desktop.
Save Jojoooo1/c80ef055e21f1f61c3f903b312dd1250 to your computer and use it in GitHub Desktop.
shared VPC
module "vpc" {
source = "terraform-google-modules/network/google"
version = "8.0"
project_id = var.project_id
network_name = local.vpc_name
shared_vpc_host = "true"
delete_default_internet_gateway_routes = "true"
routing_mode = "GLOBAL"
subnets = [
{
subnet_name = "${local.vpc_name}-${var.region}-public"
subnet_ip = "10.0.0.0/19"
subnet_region = "us-east1"
subnet_private_access = "true"
subnet_flow_logs = "true"
subnet_flow_logs_interval = "INTERVAL_10_MIN"
subnet_flow_logs_sampling = 0.7
subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
},
{
subnet_name = "${local.vpc_name}-${var.region}-private"
subnet_ip = "10.0.32.0/19"
subnet_region = "us-east1"
subnet_private_access = "true"
subnet_flow_logs = "true"
subnet_flow_logs_interval = "INTERVAL_10_MIN"
subnet_flow_logs_sampling = 0.7
subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
},
]
secondary_ranges = {
"${local.vpc_name}-${var.region}-public" = [
{
range_name = "${local.vpc_name}-${var.region}-public-secondary"
ip_cidr_range = "100.64.0.0/19"
},
{
range_name = "${local.vpc_name}-${var.region}-public-secondary-gke-pod"
ip_cidr_range = "100.64.32.0/19",
},
{
range_name = "${local.vpc_name}-${var.region}-public-secondary-gke-svc"
ip_cidr_range = "100.64.64.0/19",
},
]
"${local.vpc_name}-${var.region}-private" = [
{
range_name = "${local.vpc_name}-${var.region}-private-secondary"
ip_cidr_range = "100.65.0.0/19"
},
{
range_name = "${local.vpc_name}-${var.region}-private-secondary-gke-pod"
ip_cidr_range = "100.65.32.0/19",
},
{
range_name = "${local.vpc_name}-${var.region}-private-secondary-gke-svc"
ip_cidr_range = "100.65.64.0/19",
},
]
}
routes = [
{
name = "rt-${local.vpc_name}-1000-egress-internet-default"
description = "Tag based route through IGW to access internet"
destination_range = "0.0.0.0/0"
tags = "allow-igw"
next_hop_internet = "true"
priority = "1000"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment