2 Answers
- Newest
- Most votes
- Most comments
0
Thanks for all the responses. For the best approach is to allocate a public IPv4 address and then plan to create a proxy using lambda and API gateway.
answered a month ago
0
Hello.
How about using NAT64 to convert from an IPv6 address to an IPv4 address?
This would allow you to access destinations that only support IPv4.
https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html
Relevant content
- AWS OFFICIALUpdated 5 months ago

The following blog post provides a good overview of the architecture. https://aws.amazon.com/jp/blogs/aws/let-your-ipv6-only-workloads-connect-to-ipv4-services/
Alternatively, you could create a subnet that supports both IPv4 and IPv6, and then create your own proxy server on EC2 within that subnet and configure it to convert IPv6 traffic to IPv4. https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-egress-for-ipv6.html
As far as I can see NAT64 needs a NAT gateway which is expensive and costs a lot more than a public IPv4 address. I'm trying to avoid that cost by using the IPv6 VPC.
In that case, please try the proxy server approach. Since it is set up using an EC2 instance, it is less expensive than using a NAT Gateway. It is impossible to access a public endpoint that supports only IPv4 from an environment that has no public IPv4 addresses. If the cost of a public IPv4 address is absolutely unacceptable to you, your only option is to wait for the endpoint to support IPv6.