gpt4 book ai didi

amazon-web-services - 如何在一个区域的 3 个不同可用区启动三个相同的 EC2 实例而不使用自动扩展

转载 作者:行者123 更新时间:2023-12-03 07:27:35 30 4
gpt4 key购买 nike

如何创建一个 CloudFormation 模板,在同一区域的三个不同可用区中启动三个相同的 EC2 实例,而不使用 Auto Scaling?

例如:

  • eu-west-1a 中的实例一
  • eu-west-1b 中的实例二
  • eu-west-1c 中的实例三

这是我的模板:

AWSTemplateFormatVersion : 2010-09-09
Description: "simple web layer"
Parameters:
ImageId:
Description: 'web Layer'
Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
AllowedPattern: "^[a-zA-Z][-a-zA-Z0-9]*$"
Default: ami-244333
Webservercapacity:
Default: '3'
Description: number
Type: Number
MinValue: '1'
MaxValue: '4'
Securitycab:
Type: String
Default: 0.0.0.0/0
Description: enter vpc ip range
Subnets:
Description: enter subnet
Type: List<AWS::EC2::Subnet::Id>
Default: subnet-384736383838
Securitygroup:
Description: enter sc
Type: List<AWS::EC2::SecurityGroup::Id>
Default: sg-237377383773873
Vpc:
Description: enter vpc
Type: List<AWS::EC2::VPC::Id>
Resources:
MyEC2Instance:
Type: 'AWS::EC2::Instance'
Properties:
ImageId: !Ref ImageId
InstanceType: t2.large
VpcId: !Ref Vpc
SubnetId: !Ref Subnets
SecurityGroupIds:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: vpc-1a2b3c4d
GroupDescription: Sample target security group
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: !Ref Securitycab

最佳答案

该模板应启动三个单独的实例。在每个实例的属性中,通过引用您的 Subnets 来指定子网。参数(类型 List<AWS::EC2::Subnet::Id> )。

您可以使用 !Select 选择子网:

SubnetId: !Select [ 0, Subnets ]
or
SubnetId: !Select [ 1, Subnets ]
or
SubnetId: !Select [ 2, Subnets ]

所以它看起来像:

  Instance1:
Type: 'AWS::EC2::Instance'
Properties:
SubnetId: !Select [ 0, Subnets ]
...

Instance2:
Type: 'AWS::EC2::Instance'
Properties:
SubnetId: !Select [ 1, Subnets ]
...

此外,不要在实例属性中定义安全组,而是定义单个安全组,然后让每个实例通过引用来引用它。

关于amazon-web-services - 如何在一个区域的 3 个不同可用区启动三个相同的 EC2 实例而不使用自动扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60123987/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com