10
votes

After navigating to Menu > EC2 > Load Balancing > Load Balancers, I found that an important load balancer I inherited was named "testing", where it should be named something more meaningful for future dev ops (i.e. "search"). This load balancer is currently in use with a few instances running.

I'd like to change the name of this load balancer if possible, or at minimum find some way to make it clear on the AWS Console this load balancer is for our "search" functionality. I added a Tag to the LB, but there's no way to make tags visible on the table.

Is there any way to change the name of the load balancer, or at least add a "display name" or "notes" column to the console's UI?

1
Sounds like a raw deal. If your applications are routing to this ELB through a Route 53 record, it isn't an incredibly involved process to simply copy these ELB's settings to a new ELB and cut the Route 53 record over to the new ELB.Anthony Neace
@AnthonyNeace I didn't see your comment, initially, and I appear to have inadvertently stolen your suggestion. Apologies. If you'd like to post that, I'll be happy to defer and take mine down.Michael - sqlbot
@Michael-sqlbot No worries, it's all good and good to stay! I'm happy that a solid answer was posted.Anthony Neace

1 Answers

10
votes

You can't change the name of a load balancer, because that would break the sites that use the load balancer.

ELBs have an associated hostname, that looks like this:

${balancer_name}-${opaque_identifier}.${region}.elb.amazonaws.com

(The ${opaque_identifier} is assigned by the ELB provisioning infrastructure to disambiguate same-named ELBs belonging to different accounts, but has no documented external meaning.)

Renaming the load balancer, if it were allowed, would necessarily change this hostname, which is how sites are pointed to the balancer, using CNAME records or A-record aliases (in Route 53)... and that would break the sites, since they would then be pointing to a nonexistent hostname.

The simplest solution is to create a new balancer with the name you want, using the same configuration, then migrate to it: with the old one still functioning normally, attach the new balancer to the same back-end instances, wait for them to show "in service" ... test ... then change the DNS entries pointing to the old balancer to point to the new balancer ... wait for the TTLs on the old DNS records to elapse, for the new balancer to pick up the traffic, and for the old balancer to show no traffic in the Cloudwatch metrics ... verify behavior ... then delete the old balancer.

Having the same set of instances attached to multiple ELBs is a supported configuration, so you should not have any transitional issues with this if you configure the new balancer identical to the old one, with the same subnets, security groups, listener configurations, etc.