Using ice4j behind NLB in a VPC at AWS (Kubernetes)
See original GitHub issueFirst of all, thank you so much for this awesome work! it has been really nice working with this tool.
We have a problem though. Our infrastructure runs behind an Application Load Balancer inside a VPC in a Kubernetes cluster. The VPC has an external IP.
The requests are something like this:
pod:10.0.0.2
ec2Instance: 172.16.4.145
eni: 52.204.71.1 # Example IP
alb:
- 35.170.123.9
- 34.203.105.22
User -> alb (35.170.123.9) -> ec2Instance -> pod
The discovery from the pod to find the external IP works, as can be seen from the logs:
INFO: Using org.ice4j.ice.harvest.StunMappingCandidateHarvester, face=/172.16.4.145, mask=/52.204.71.1
Jun 03, 2020 6:52:18 AM org.ice4j.ice.harvest.MappingCandidateHarvesters initialize
However, as mentioned before, the IPs the user is hitting, are the IP’s from the ALB. And those are different from the one the pod is using to go to internet.
We cannot “hard-code” the IPs of the ALB in the configuration because those are elastic. AWS will change them as the load in our system increases or decreases.
And the IP of the ENI does not allow access from the outside, is just from within the VPC out.
Is there any way to use the DNS name to do the discovery?
Thank you for your time and hard work!
Issue Analytics
- State:
- Created 3 years ago
- Comments:13 (5 by maintainers)
Top GitHub Comments
@citosid there’s been no work on this from our side.
Just open it here and we’ll take a look