AWSTemplateFormatVersion: 2010-09-09 Description: MeterSphere based Continuous Testing Platform Mappings: InstanceMappings: t3.micro: DBInstanceType: db.t3.micro t3.small: DBInstanceType: db.t3.small c5.xlarge: DBInstanceType: db.t3.medium Metadata: 'AWS::CloudFormation::Interface': ParameterGroups: - Label: default: Required Parameters: - InstanceType Parameters: InstanceType: Type: String AllowedValues: - m5.xlarge - m5.2xlarge Default: m5.2xlarge LatestAmiId: Type: 'AWS::SSM::Parameter::Value' Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2' Resources: WebServerSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: 'Enable HTTP access via port 8081' VpcId: !Ref VPC SecurityGroupIngress: - IpProtocol: tcp FromPort: 8081 ToPort: 8081 CidrIp: 0.0.0.0/0 WebServerInstance: Type: AWS::EC2::Instance CreationPolicy: # <--- creation policy with timeout of 15 minutes ResourceSignal: Timeout: PT15M Properties: ImageId: !Ref LatestAmiId InstanceType: !Ref InstanceType SubnetId: !Ref PublicSubnet0 BlockDeviceMappings: - DeviceName: "/dev/xvda" Ebs: VolumeType: "gp3" DeleteOnTermination: "true" VolumeSize: "30" SecurityGroupIds: - !Ref WebServerSecurityGroup Tags: - Key: Name Value: MeterSphere-Server UserData: Fn::Base64: !Sub | #!/bin/bash -xe amazon-linux-extras install docker -y amazon-linux-extras install mariadb10.5 -y mysql -h${MeterSphereDB.Endpoint.Address} -uadmin -padmin123456 <