下面是一个使用AWS CloudFormation创建负载均衡器和自动扩展组的示例模板:
Resources:
MyLoadBalancer:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
AvailabilityZones:
- us-west-2a
- us-west-2b
Listeners:
- LoadBalancerPort: '80'
InstancePort: '80'
Protocol: HTTP
HealthCheck:
Target: HTTP:80/
HealthyThreshold: '3'
UnhealthyThreshold: '5'
Interval: '30'
Timeout: '5'
SecurityGroups:
- sg-12345678
MyAutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
AvailabilityZones:
- us-west-2a
- us-west-2b
LaunchConfigurationName: myLaunchConfiguration
MinSize: '2'
MaxSize: '10'
DesiredCapacity: '2'
LoadBalancerNames:
- !Ref MyLoadBalancer
VPCZoneIdentifier:
- subnet-12345678
myLaunchConfiguration:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
ImageId: ami-12345678
InstanceType: t2.micro
SecurityGroups:
- sg-12345678
UserData:
Fn::Base64: !Sub |
#!/bin/bash
# Install and configure your web server here
这个模板创建了一个负载均衡器和一个自动扩展组。负载均衡器监听80端口,将流量分发到自动扩展组中的实例。自动扩展组使用指定的启动配置和AMI ID来创建实例,并将实例注册到负载均衡器上。
你可以使用AWS CloudFormation控制台、AWS CLI或AWS SDK来创建堆栈并部署这个模板。创建堆栈后,AWS CloudFormation将自动创建负载均衡器和自动扩展组,并启动指定数量的实例。你可以根据需要进行自定义配置,例如更改实例类型、AMI ID等。
请注意,上述示例中的一些值(如子网ID、安全组ID、AMI ID等)需要根据你的环境进行替换。