AWS - 负载均衡器注册的目标组显示状态为初始/不健康,并给出 502 Bad Gateway 和 504 gateway timeout 错误

问题描述 投票:0回答:1

问题陈述:目标组的健康状况显示为

Initial
,网站给出 502 Bad Gateway 和 504 gateway timeout 错误(间歇性发生)。但如果我手动重新注册相同的目标组,网站就可以正常工作。

如何重现?

我有一个部署文件(例如:aws.yml),其中包含在 ELB fargate 中注册容器 IP 的作业。

这是示例配置

name: Register Container IP in ELB Fargate
id: register-ip
env:
  ECS_CLUSTER: ${{ env.ECS_CLUSTER }}
  AWS_TARGET_GROUP_ARN: ${{ inputs.AWS_TARGET_GROUP_ARN }}
run: |
  echo "ECS_CLUSTER: $ECS_CLUSTER"
  echo "AWS_TARGET_GROUP_ARN: $AWS_TARGET_GROUP_ARN"
      
  aws ecs list-tasks --cluster $ECS_CLUSTER
  TASK_ARN=$(aws ecs list-tasks --cluster $ECS_CLUSTER --query "taskArns[0]" --output text)
  echo "TASK_ARN: $TASK_ARN"
      
  aws ecs describe-tasks --tasks "$TASK_ARN" --cluster $ECS_CLUSTER
  TASK_IP=$(aws ecs describe-tasks --tasks "$TASK_ARN" --cluster $ECS_CLUSTER --query "tasks[0].containers[0].networkInterfaces[0].privateIpv4Address" --output text)
  echo "TASK_IP: $TASK_IP"
      
  aws elbv2 register-targets --target-group-arn "$AWS_TARGET_GROUP_ARN" --targets Id=$TASK_IP,Port=3000  

此作业成功运行,并将新生成的

TASK_IP
注册到负载均衡器中目标组中已注册目标下。但正如我之前提到的

健康状态显示“初始”并且网站未加载。但如果 我手动重新注册了相同的目标组,网站运行正常。

这里是

EC2
->
Target Groups
->
<Target Group Name>
:

的健康检查设置

enter image description here

这是注册目标截图:

enter image description here

这是负载均衡器映射屏幕截图:

enter image description here

有人可以帮我解决这个问题吗?

amazon-web-services amazon-ecs continuous-deployment aws-fargate aws-application-load-balancer
1个回答
0
投票

我可以通过更新运行状况检查设置来解决此问题。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.