以下是一个部署从开发环境到测试环境的CloudFormation模板示例:
Resources:
  DevelopmentBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: development-bucket
  TestBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: test-bucket
  DevelopmentEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: t2.micro
      ImageId: ami-0c94855ba95c71c99
      KeyName: development-key
      UserData:
        Fn::Base64: !Sub |
          #!/bin/bash
          echo "Hello, development environment!"
  TestEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: t2.micro
      ImageId: ami-0c94855ba95c71c99
      KeyName: test-key
      UserData:
        Fn::Base64: !Sub |
          #!/bin/bash
          echo "Hello, test environment!"
Outputs:
  DevelopmentBucketName:
    Value: !Ref DevelopmentBucket
  TestBucketName:
    Value: !Ref TestBucket
  DevelopmentEC2InstanceIp:
    Value: !GetAtt DevelopmentEC2Instance.PublicIp
  TestEC2InstanceIp:
    Value: !GetAtt TestEC2Instance.PublicIp
在这个示例模板中,我们定义了两个S3存储桶(DevelopmentBucket和TestBucket)和两个EC2实例(DevelopmentEC2Instance和TestEC2Instance)。每个资源都有一些特定的属性,比如存储桶的名称、实例的类型和镜像ID。
在Outputs部分,我们定义了一些输出值,比如存储桶和EC2实例的名称和IP地址。这些输出值可以在部署完成后使用,比如在其他模板中引用或直接在AWS管理控制台中查看。
你可以根据自己的需求修改这个示例模板,添加或删除资源,并根据需要进行参数化。然后,使用AWS CloudFormation服务来创建和管理这些资源。