我正在尝试让多个Elastic Beanstalk环境共享一个应用程序负载均衡器。我从以下文章中接受了这个想法:https://aws.amazon.com/blogs/devops/introducing-application-load-balancer-unlocking-and-optimizing-architectures/。
按照那里描述的步骤,我能够创建一个专用的应用程序负载均衡器,并根据请求路径将流量转发到不同的微服务。遗憾的是,在我的设置中,我仍然坚持使用Elastic Beanstack为每个环境创建的原始负载平衡器。因此即使它工作得很好,我也必须有N + 1负载平衡器,N是一些微服务 - Elastic Beanstack环境。这最终效果很差,因为EB创建的负载平衡器只是坐在那里什么都不做。每个人每月的费用仍然约为15美元。
在理想世界中,我可以指定在.ebextenstions
中使用的ALB,但我知道情况并非如此。我正在寻找一种方法来更新EB环境使用的Load Balancer,以便能够删除使用每个EB环境创建的ALB。
所以当我跑:
# aws elasticbeanstalk describe-environment-resources --environment-id e-skkhtau5sm
{
"EnvironmentResources": {
"Triggers": [],
"Queues": [],
"AutoScalingGroups": [
{
"Name": "awseb-e-skkhtau5sm-stack-AWSEBAutoScalingGroup-PLMP93QLTO0N"
}
],
"LaunchConfigurations": [
{
"Name": "awseb-e-skkhtau5sm-stack-AWSEBAutoScalingLaunchConfiguration-TKO2UHT9YFF"
}
],
"EnvironmentName": "sg-trading-alb",
"Instances": [
{
"Id": "i-067b3a3454dd68fd2"
}
],
"LoadBalancers": [
{
"Name": "arn:aws:elasticloadbalancing:eu-central-1:974556904237:loadbalancer/app/awseb-AWSEB-LR8CLD9OP42A/8916dc615a011726"
}
]
}
}
我想更改EnvironmentResources.LoadBalancers[0].Name
中的值。有没有人成功做过这样的改变?