amazon-web-services - 在弹性负载均衡器后面混合 EC2 和 Fargate 任务
问题描述
我正在尝试对使用 fargate 和 ec2 ecs 服务部署的单个应用程序进行负载平衡。原因是我想在必要时简单地扩大 Fargate 以应对意外的高负载。我似乎无法弄清楚如何配置目标组/弹性负载均衡器。
对于每个服务,我为 fargate 和 ec2 服务创建了一个相应的目标组,其中 target_type 分别设置为“ip”和“instance”。
我不确定如何让负载均衡器将流量平等地转发到这两个目标组。
解决方案
https://docs.aws.amazon.com/AmazonECS/latest/userguide/register-multiple-targetgroups.html
目前,如果您要创建指定多个目标组的服务,则必须使用 Amazon ECS API、开发工具包、AWS CLI 或 AWS CloudFormation 模板创建服务。创建服务后,您可以使用 AWS 管理控制台查看服务和注册到该服务的目标组。
可以使用以下格式在服务定义中指定多个目标组。
"loadBalancers":[
{
"targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456",
"containerName":"container_name",
"containerPort":container_port
},
{
"targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321",
"containerName":"container_name",
"containerPort":container_port
}
]
作为替代方案,我想知道这是否可行
- 像往常一样在 Fargate 前面设置一个 ELB
- 将 Fargate ELB 的 IP 地址加上您的 EC2 实例的 IP 地址放入一个目标组,并
target_type
设置为ip
推荐阅读
- javascript - javascript检测浏览器是否关闭了CORS
- dynamics-crm - FetchXML 做连接
- java - java - 当类在java中没有单例构造函数时如何处理实例变量线程安全问题
- kubernetes - pod 重新启动时服务失去与 Etcd DB 的连接
- ibm-cloud-functions - IBM Cloud Functions 参数未定义
- linux - Linux 中的 $ip 和 iptables 有什么区别?
- powershell - 使用 WinSCP .NET 程序集上传字节数组而不实际创建本地文件到 SFTP 服务器?
- reactjs - 如何在没有导出默认值的情况下构建组件导出?
- excel - VBA项目窗口运行宏正确,但是,Sheet1上的按钮不
- python - 在 Pandas 中删除 NaN 时遇到问题