Resources:
ALBLogs:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Join [ '/', [ '/aws/alb', !Ref 'AWS::StackName', !Ref 'Environment' ] ]
RetentionInDays: 7
DeletionPolicy: Retain
Resources:
ALBTargetGroup:
Type: AWS::ElasticLoadBalancingV2::TargetGroup
Properties:
HealthCheckPath: "/"
HealthCheckProtocol: HTTP
Port: 80
Protocol: HTTP
DependsOn:
- ALBVPC
在这种情况下,我们设置了协议为 HTTP,端口为 80,并指定了健康检查路径为 "/"。
检查目标实例的状态:你需要检查目标实例的状态以确保实例正在健康检查中被视为'健康”。目标实例可以返回自定义响应来表示它们的状态。
检查安全组设置:确保目标实例的安全组设置不会阻止 ALB 发送健康检查请求。你需要确保目标实例的安全组允许 TCP 流量,并针对 ALB 的安全组和/或 IP 地址打开端口。
确认 ALB 的 DNS 解析:确保你的 DNS 解析正确地解析到 ALB 的 IP 地址。你可以使用以下 AWS CLI 命令获取 ALB 的 DNS 名称:
aws elbv2 describe-load-balancers --names my-load-balancer --query "LoadBalancers[].DNSName"
使用以下命令获取 ALB 的 IP 地址:
nslookup my-load-balancer-1234567890.us-east-1.elb.amazonaws.com