0

我正在尝试自动缩放此 ec2 实例,请指导我如何操作。任何可能有用的模板,以便我可以开始使用自动缩放。我只附加要自动缩放的 ec2 实例模板。

---
AWSTemplateFormatVersion: 2010-09-09
Parameters:
  SourceStackName:
    Description: "Source stack name"
    Type: String
    AllowedPattern: "^[a-zA-Z][-a-zA-Z0-9]*$"
    Default: "shifa-vpc"
Resources:
  webserver:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupName: webserver-sg
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          CidrIp: 0.0.0.0/0
          Description: For traffic from Internet
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIp: 0.0.0.0/0
          Description: For traffic from Internet
      GroupDescription: Security Group for demo server
      VpcId:
        Fn::ImportValue:
          Fn::Sub: "${SourceStackName}-VpcID"
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      AvailabilityZone: us-east-1a
      BlockDeviceMappings:
        - DeviceName: /dev/xvda
          Ebs:
            DeleteOnTermination: "true"
            VolumeSize: "8"
            VolumeType: gp2
      ImageId: ami-09d95fab7fff3776c # ami-0bdcc6c05dec346bf
      InstanceType: t2.micro
      #IamInstanceProfile: !Ref ListS3BucketsInstanceProfile
      #KeyName: ky-webserver
      NetworkInterfaces:
        - Description: Primary network interface
          DeviceIndex: 0
          SubnetId:
            Fn::ImportValue:
              Fn::Sub: "${SourceStackName}-PublicSubnet"
          GroupSet:
            - !Ref webserver
Outputs:
  ec2:
    Description: ec2
    Value: !Ref EC2Instance
    Export:
      Name:
        Fn::Sub: "${AWS::StackName}-server"

  sgGroupId:
    Description: ec2
    Value: !GetAtt webserver.GroupId
    Export:
      Name:
        Fn::Sub: "${AWS::StackName}-sgid"        

我是 cloudformation 的新手,我正在接受培训。

4

1 回答 1

0

Amazon 有一些AutoScaling实例的示例。

重要的是,EC2 实例资源不是 CloudFormation 中自动扩展配置的一部分。

相反,您将使用启动模板启动配置资源。启动模板较新,因此您最好使用它。这些将定义实例配置,例如卷、实例类型等。

另一个组件是Autoscaling Group,它将引用以前的组件之一并定义实例应如何扩展。

如果您尝试扩展现有实例,您需要先从中创建一个 AMI并引用它。

AWS在此处提供了一个带有自动缩放组的示例模板。

于 2020-07-06T17:16:24.487 回答