我想在不使用AutoScaling的情况下使用aws cloudformation模板启动多个Ec2实例。 请告诉我如何启动?
答案 0 :(得分:2)
有几种方法可以在没有使用Autoscaling Group的情况下使用CloudFormation启动多个实例。
以下模板有2个资源,将启动2个EC2实例。您可以根据需要添加更多资源。
server1:
Type: AWS::EC2::Instance
Properties:
InstanceType: !Ref Server1InstanceType
KeyName: !Ref ServerKeypair
ImageId: !Ref ServerImageId
SecurityGroupIds:
- !Ref ServerSG
SubnetId: !Ref PrivateWeb1b
Tags:
- Key: Name
Value: server1
server2:
Type: AWS::EC2::Instance
Properties:
InstanceType: !Ref Server2InstanceType
KeyName: !Ref ServerKeypair
ImageId: !Ref ServerImageId
SecurityGroupIds:
- !Ref ServerSG
SubnetId: !Ref PrivateWeb1b
Tags:
- Key: Name
Value: server2
以下模板有1个资源,将启动1个EC2实例。根据第二种方法,您可以使用相同的模板创建多个Cloudformation堆栈以获取多个EC2实例。
server1:
Type: AWS::EC2::Instance
Properties:
InstanceType: !Ref Server1InstanceType
KeyName: !Ref ServerKeypair
ImageId: !Ref WebserverImageId
SecurityGroupIds:
- !Ref WebserverSG
SubnetId: !Ref PrivateWeb1b
Tags:
- Key: Name
Value: server1
答案 1 :(得分:0)
尝试使用Type: AWS :: EC2 :: EC2Fleet
您可以指定配置信息以启动实例组或实例组。 EC2舰队可以结合使用按需实例,预留实例和竞价型实例购买模型,在多个可用区中启动多种实例类型。使用EC2 Fleet,您可以定义单独的按需容量和竞价容量目标,指定最适合您的应用程序的实例类型,并指定Amazon EC2如何在每个购买模型内分配您的机队容量。
**YAML** Type: AWS::EC2::EC2Fleet Properties: ExcessCapacityTerminationPolicy: String LaunchTemplateConfigs: - FleetLaunchTemplateConfigRequest OnDemandOptions: OnDemandOptionsRequest ReplaceUnhealthyInstances: Boolean SpotOptions: SpotOptionsRequest TagSpecifications: - TagSpecification TargetCapacitySpecification: TargetCapacitySpecificationRequest TerminateInstancesWithExpiration: Boolean Type: String ValidFrom: String ValidUntil: String
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html