Following this great post from Alvaro, I converted the gcloud
commands, to their respective Terraform config.
resource "google_compute_network" "cloud_function_network" {
name = "cloud-function-network"
auto_create_subnetworks = false
}
resource "google_vpc_access_connector" "connector" {
name = "connector"
region = "europe-west3"
ip_cidr_range = "10.8.0.0/28"
network = google_compute_network.cloud_function_network.name
}
resource "google_compute_address" "egress_ip_address" {
name = "egress-ip-address"
region = "europe-west3"
}
resource "google_compute_router" "router" {
name = "egress-router"
region = "europe-west3"
network = google_compute_network.cloud_function_network.name
}
resource "google_compute_router_nat" "cloud_function_nat" {
name = "egress-router-nat"
router = google_compute_router.router.name
region = google_compute_router.router.region
nat_ip_allocate_option = "MANUAL_ONLY"
nat_ips = google_compute_address.egress_ip_address.*.self_link
source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
log_config {
enable = true
filter = "ERRORS_ONLY"
}
}
Top comments (0)