- Newest
- Most votes
- Most comments
Hey there, You mention that you are trying to change an Elastic Beanstalk ALB from internal to public internet-facing.
With that being said unfortunately it is not possible to change the Application Load Balancer from an internal Load Balancer to a public Load Balancer. The only way it can be changed is by creating a new Application Load Balancer to replace the current ALB. Since you created your environment with Elastic Beanstalk you will also need to create a new environment with the same app code but with a public ALB. Using Elastic Beanstalk helps avoid downtime.
To minimise downtime or to get no downtime in changing from an internal to public load balancer, you may use of blue-green deployments [1]. In order to use blue-green deployments you will have to create a new environment with the configuration you want , in your use case using an internet facing load balancer. When the environment is done deploying, you can perform testing to make sure that the environment is working as expected. Once this is done, you can simply swap the URL of the two environments by choosing the option in the 'Actions' tab in the new environment.
References:
[1] https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html
Relevant content
- Accepted Answerasked 9 months ago
- asked a month ago
- AWS OFFICIALUpdated 2 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 9 months ago
- AWS OFFICIALUpdated 4 months ago
Thanks, I figured that was the case, since I've never been able to get around it. Pretty ridiculous limitation that EB as an orchestration tool can't simply replace the ALB with another ALB without a whole new environment, which is why I figured I'd ask, in case I was missing a workaround. So I guess I'll stick with blue/green as usual.