gpt4 book ai didi

amazon-web-services - 带有 ECS Fargate 的应用程序负载均衡器

转载 作者:行者123 更新时间:2023-12-03 23:43:21 24 4
gpt4 key购买 nike

我正在尝试为 Fargate ECS 配置负载平衡。我的理解是至少有两个目标群体。一个目标组与 Application Load Balancer 一起创建,一个目标组与 ECS 服务一起创建。
我的容器在 TCP 端口 5000 上运行他们的服务。我希望负载均衡器只通过常规 443 端口公开 HTTPS,并将 HTTP 重定向到 HTTPS,或者如果这很困难,只需删除 HTTP。
我看到 Listeners 允许指定一大堆东西。但是,我对使用该服务创建的目标群体感到困惑。它 - IP -type 组,监听端口 80。无论我在服务创建/配置过程中选择 HTTP 还是 HTTPS。
我的容器从来没有任何流量。我启用了负载平衡器日志记录,似乎平衡器不明白我想要它做什么。每个请求结束时的日志中都有 "forward" "-" "-" "-" "-" "-" "-"
我运行 aws elbv2 describe-target-groups 来获取定义。

{
"TargetGroups": [
{
"TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:505963211XXX:targetgroup/ecs-fargate-api-service-tg/1ebb89754b34d072",
"TargetGroupName": "ecs-fargate-api-service-tg",
"Protocol": "HTTPS",
"Port": 80,
"VpcId": "vpc-e623dd9b",
"HealthCheckProtocol": "HTTPS",
"HealthCheckPort": "traffic-port",
"HealthCheckEnabled": true,
"HealthCheckIntervalSeconds": 30,
"HealthCheckTimeoutSeconds": 5,
"HealthyThresholdCount": 5,
"UnhealthyThresholdCount": 2,
"HealthCheckPath": "/cookie-policy",
"Matcher": {
"HttpCode": "200"
},
"LoadBalancerArns": [
"arn:aws:elasticloadbalancing:us-east-1:505963211XXX:loadbalancer/app/node-api-lb/f5e512a2678688f5"
],
"TargetType": "ip"
},
{
"TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:505963211XXX:targetgroup/node-api-tg/7544b53ab1720e0d",
"TargetGroupName": "node-api-tg",
"Protocol": "HTTPS",
"Port": 443,
"VpcId": "vpc-e623dd9b",
"HealthCheckProtocol": "HTTPS",
"HealthCheckPort": "traffic-port",
"HealthCheckEnabled": true,
"HealthCheckIntervalSeconds": 300,
"HealthCheckTimeoutSeconds": 5,
"HealthyThresholdCount": 5,
"UnhealthyThresholdCount": 2,
"HealthCheckPath": "/cookie-policy",
"Matcher": {
"HttpCode": "200"
},
"LoadBalancerArns": [
"arn:aws:elasticloadbalancing:us-east-1:505963211XXX:loadbalancer/app/node-api-lb/f5e512a2678688f5"
],
"TargetType": "instance"
}
]
}
我究竟做错了什么?我应该如何为 ECS Fargate 设置应用程序负载均衡器以在外部使用 HTTPS 并将所有内容路由到正确的容器端口?

最佳答案

根据评论,截图。
首先创建ALB
您可以在创建 ALB 时创建 TG(在我的示例中,ALB 称为 dddd ),或事先创建。另外,我将目标组命名为 my-tg-for-fargate 。我使用端口 80(您可能需要 5000),因为我使用 nginxdemos/hello 作为我的容器。确保创建 IP 目标类型 ,而不是实例。 Farget 不适用于实例 TG,解释了为什么在创建 ECS 服务时无法在 ECS 控制台中看到它们。
enter image description here
创建 ECS Fargate 服务
当您在 ECS 控制台中创建 Fargate 服务时,您可以选择 现有 ALB (在我的情况下为 dddd )和 现有目标组 (在我的情况下称为 my-tg-for-fargate 。您不需要创建 第二个 tg_strongrjit :
enter image description here

关于amazon-web-services - 带有 ECS Fargate 的应用程序负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64409699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com