- 检查您的健康检查端点是否正确。您可能需要更新ELB应用程序版本,并将其重新部署以重新设置整个环境以使用新的ELB。
- 检查EC2实例是否已成功运行,并且安装和配置了ELB所需的所有必需软件。
- 检查EC2实例的安全组,确保ELB能够通过端口80或443进行通信。
- 确保有足够的实例来处理当前请求量。您可以通过扩大环境来增加容量。
以下是一个示例:
Resources:
# ... 其他资源
MyELB:
Type: "AWS::ElasticLoadBalancing::LoadBalancer"
Properties:
AvailabilityZones:
- us-west-2a
- us-west-2b
- us-west-2c
Listeners:
- LoadBalancerPort: "80"
InstancePort: "80"
Protocol: "HTTP"
HealthCheck:
Target: "HTTP:80/health"
HealthyThreshold: 2
UnhealthyThreshold: 5
Interval: 20
Timeout: 15
CrossZone: True
SecurityGroups:
- !Ref MyELBSecurityGroup
MyInstance:
Type: "AWS::EC2::Instance"
Properties:
# ... 其他属性
UserData:
Fn::Base64: !Sub |
#!/bin/bash
yum -y update
yum install -y httpd
haproxy/install.sh
chkconfig haproxy on
service httpd start
service haproxy start
Tags:
- Key: "Name"
Value: "MyInstance"
Metadata:
AWS::CloudFormation::Init:
configSets:
MyAppConfigSet:
- ApplyMyAppConfig
ApplyMyAppConfig:
commands:
01_configure_haproxy:
command: !Sub |