Change Elastic Beanstalk ALB from internal to public internet-facing?

0

Hi,

I have an EB stack which initially deploys to UAT internally and so has an internal load balancer (YAML: "LoadBalancerScheme: internal"). For production deployment, we simply change stage variables called by the YAML, so it updates the EB with production values. This works fine with classic ELB. But with ALB (ELBv2), it fails with:

The following target groups cannot be associated with more than one load balancer Is it not possible to change an existing EB environment from internal to public load balancer of the same type? If not, any good workarounds without deploying a completely separate environment (which is what I've been doing)?

Thanks

1개 답변
0
수락된 답변

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

Antonio
답변함 2년 전
  • 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.

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠