diff --git a/CHANGELOG b/CHANGELOG index 2bdb45e7858c159b7327beb0d9a2e85b1a1c4b29..e74654a819d54689436bd56947f4dbdbc6b116b5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [4.0.1] - 2021-07-15 ### Changed - Support load balancer ingress style alongside Cloud Run domain mapping. + - Surface Cloud NAT variable for minimum number of SNAT tuples, supporting a larger + number of outbound connections if required. ## [4.0.0] - 2021-06-29 ### Changed diff --git a/static_egress_ip.tf b/static_egress_ip.tf index 7337b9b338e5579444d6e5c4cda267dcbbb7beeb..85b8db05392cfbe8c19c76ced7d3235a91a4d889 100644 --- a/static_egress_ip.tf +++ b/static_egress_ip.tf @@ -50,6 +50,7 @@ resource "google_compute_router_nat" "static-ip-nat" { nat_ips = [google_compute_address.static-ip[0].self_link] nat_ip_allocate_option = "MANUAL_ONLY" region = var.cloud_run_region + min_ports_per_vm = var.min_ports_per_vm source_subnetwork_ip_ranges_to_nat = "LIST_OF_SUBNETWORKS" subnetwork { diff --git a/variables.tf b/variables.tf index 8940782fbc3998ea048eb92005be20470e9367a4..239f6293e77446ac6f42780f8c2ac28088da643f 100644 --- a/variables.tf +++ b/variables.tf @@ -274,6 +274,16 @@ variable "static_egress_ip_cidr_range" { description = "The cidr range used to create a subnet that this cloud run will use if assigned a static ip" } +variable "min_ports_per_vm" { + default = 64 + type = number + description = <<-EOL + When using Cloud NAT to provide an egress route, Cloud NAT's minimum ports per VM + can be configured to determine how many concurrent connections can be established + to the same destination IP address and port. +EOL +} + variable "secrets_volume" { type = list(object({ name = string # name of the file that is going to be mounted