feat: Updated VPC configuration to disable DNS64 on the private subnets #2138
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change is to disable DNS64 on the private subnets. DNS64 is only needed on the subnets if you are running IPv6 only workloads in the subnet that need to communicate to IPv4 endpoints. Since the CNI plugin is installed (and recommended) on the EKS cluster, the pods have both an IPv4 and IPv6 address. Thus, when DNS64 is enabled on the subnet and a pod is looking to communicate with an only IPv4 endpoint (like a DynamoDB Gateway endpoint) a synthesized IPv6 address is returning thus causing the pod to use the IPv6 address (since it prefers it) which then causes the traffic to go to the NAT Gateway to do the NAT64 translation. This flow through the NAT Gateway, while it works, will unnecessarily drive up NAT Gateway usage.
Motivation and Context
This issue was encountered by a customer and worked with EKS and Networking SMEs to resolve. The customer had noticed their NAT Gateway usage spiking unexpectedly and after reviewing their setup and many tests, we identified the above as the issue.
How was this change tested?
pre-commit run -a
with this PRAdditional Notes
Ran the TF plan and apply and validated that only the private subnets now have DNS64 disabled after the change.