Public IPv4 address costs since Feb 1st - ELBs use multiple service managed public IPs?

0

Hello,

using Amazon IPAM Public IP insights, I could see that I have 8 service manage IPs, these are from 3 ELBs I have.

How is possible that 3 ELBs use 8 service managed public IP addresses? I have 2 classic and one application ELB that are internet facing.

3 Answers
3

Hi,

Elastic Load Balancers (ELB) have the ability to dynamically scale in and out in response to/to handle the amount of traffic being processed by the load balancer. Per AWS Documentation -

As traffic to your application changes over time, Elastic Load Balancing scales your load balancer and updates the DNS entry. The DNS entry also specifies the time-to-live (TTL) of 60 seconds. This helps ensure that the IP addresses can be remapped quickly in response to changing traffic.

You can also find more details on the Scaling behavior in this article - https://aws.amazon.com/articles/best-practices-in-evaluating-elastic-load-balancing/

One way to validate is to run a DNS query for the public ALB endpoint DNS name, it may return the multiple IP addresses that you see in IPAM.

EDIT: I omitted the more likely root cause of the multiple Public IPs - if the public ALB is deployed into multiple AZs, each ALB node will have an ENI in each target AZ and each ENI will have a public IP address.

AWS
Akin
answered 3 months ago
profile picture
EXPERT
Kallu
reviewed 3 months ago
  • Hello, I responded with the Answers, perhaps you could check that? Thanks.

0

I checked my network interfaces for the ELB.

The 2 classic ELBs have two ENIs each in one AZ, and the 1 application ELB has 2 ENIs in each AZ.

Is it possible to have only 1 ENI on 1 AZ for 1 ELB, no redundancy? Why does app ELB have 2 ENIs in the same AZ?

answered 3 months ago
  • Hi, Good to see you figured it out. An Application Load Balancer (ALB) needs to be deployed in at least 2 AZs (2 subnets, each subnet in a different AZ), this is a hard limit. See https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#subnets-load-balancer The ENIs would be created in each AZ/subnet. An ALB having two ENIs in the same AZ/subnet could be the result of the scale out I mentioned earlier.

    For CLB/NLB you can configure it in only one AZ but it is not recommended. I understand your concern on costs, but the best practice is to deploy your ELB in multiple AZs for High Availability.

  • I saw that the ALB is using 4 subnets, so I reduced it two 2. Yet what happened now is that I have 4 ENIs per subnet for this ALB, so in total 8. 3 in AZ1, 3 in AZ2, 2 in AZ3 (one i didn't even select in the config). Why does this happen, and how can I avoid it? Note that it was 1 ENI per subnet before, so 4 in total.

    Can I use only IPv6 instead of public IPv4 addresses in the ALBs ?

0

EDIT: I omitted the more likely root cause of the multiple Public IPs - if the public ALB is deployed into multiple AZs, each ALB node will have an ENI in each target AZ and each ENI will have a public IP address.

Thanks, this might be it! Will look into it and how to remove the LB from the other AZs

answered 3 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions