We’ve reduced the number of NAT gateways per VPC. In the previous setup we created one NAT gateway per VPC where we routed all the non-k8s traffic, and we had three NAT gateways just for the k8s cluster (one for each Availability Zone). In total we ended up having 4 NAT gateways per environment, plus one for the tools stack, so a total of 9.
From now on, we’re using just three NAT gateways (one per availability zone) for everything running in the VPC, including the Kubernetes cluster. This reduces the number of NAT gateways to 7 which enables a cost reduction of around $70 per month.