question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Using ice4j behind NLB in a VPC at AWS (Kubernetes)

See original GitHub issue

First 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:open
  • Created 3 years ago
  • Comments:13 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
bgrozevcommented, Sep 22, 2020

@citosid there’s been no work on this from our side.

1reaction
bgrozevcommented, Jun 3, 2020

Just open it here and we’ll take a look

Read more comments on GitHub >

github_iconTop Results From Across the Web

Using ice4j behind NLB in a VPC at AWS (Kubernetes) -
We have a problem though. Our infrastructure runs behind an Application Load Balancer inside a VPC in a Kubernetes cluster. The VPC has...
Read more >
Network load balancing on Amazon EKS
When using the Amazon VPC CNI plugin for Kubernetes, the AWS Load Balancer Controller can load balance to Amazon EC2 IP or instance...
Read more >
Amazon EKS VPC and subnet requirements and considerations
The VPC must have a sufficient number of IP addresses available for the cluster, any nodes, and other Kubernetes resources that you want...
Read more >
Access container applications privately on Amazon EKS using ...
Host private containerized applications on Amazon EKS behind a Network Load ... a virtual private cloud (VPC) endpoint for access through AWS PrivateLink....
Read more >
Expose Kubernetes services running on Amazon EKS clusters
NodePort exposes the service on each node's IP address at a static port. LoadBalancer exposes the service externally using a load balancer. Note ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found