CloudFormation 可以部署到默认子网吗?

时间:2021-03-03 19:35:33

标签: amazon-web-services amazon-cloudformation

我正在与 CloudFormation 合作,尝试将 EC2 和 RDS 部署到安全组中,其中 EC2 SG 作为 WebDMZ 组,而 RDS SG 仅对来自 EC2 组的流量开放。

安全组工作正常,但 EC2 和 RDS 实例都给我同样的错误,他们在 VPC XYZ123 中找不到安全组,其中 XYZ123 是默认 VPC 的 ID——唯一的 VPC,并且我已经验证我的安全组确实在该 VPC 中。

我在另一个模板中尝试了我的 EC2 的代码并且它起作用了,但前提是我专门将它分配给了一个公共子网。

此代码是学术性的,不适用于生产。我不能将我的资产部署到默认或随机子网吗?安全组不是实例级别的,所以只要它是正确的 VPC 就可以了?我错过了什么?

Resources:
  04WebDMZ:
    Type: AWS::EC2::SecurityGroup
    Properties: 
      GroupDescription: Open to HTTP, HTTPS and SSH on all ports
      GroupName: 04WebDMZ
      SecurityGroupIngress: 
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIp: 0.0.0.0/0
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          CidrIp: 0.0.0.0/0
        - IpProtocol: tcp
          FromPort: 443
          ToPort: 443
          CidrIp: 0.0.0.0/0
      Tags: 
        - Key: Name
          Value: 04WebDMZ
  04DatabaseSG:
    Type: AWS::EC2::SecurityGroup
    Properties: 
      GroupDescription: Open to 04WebDMZ
      GroupName: 04DatabaseSG
      SecurityGroupIngress: 
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          SourceSecurityGroupName: 
            Ref: 04WebDMZ
      Tags: 
        - Key: Name
          Value: 04DatabaseSG
  04PublicEC2:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-047a51fa27710816e
      InstanceType: t2.micro
      KeyName: my_key_pair
      NetworkInterfaces: 
      - AssociatePublicIpAddress: True
        DeviceIndex: 0
        DeleteOnTermination: True

      Tags:
        - Key: Name
          Value: 04PublicEC2
      UserData:
        !Base64 |
        #!/bin/bash
        yum install httpd php php-mysql -y
        cd /var/www/html
        wget https://wordpress.org/wordpress-5.1.1.tar.gz
        tar -xzf wordpress-5.1.1.tar.gz
        cp -r wordpress/* /var/www/html/
        rm -rf wordpress
        rm -rf wordpress-5.1.1.tar.gz
        chmod -R 755 wp-content
        chown -R apache:apache wp-content
        service httpd start
        chkconfig httpd on
  04RDS:
    Type: AWS::RDS::DBInstance
    Properties:
      DBSecurityGroups:
      - Ref: 04DatabaseSG
      AllocatedStorage: '5'
      DBInstanceClass: db.t2.small
      Engine: MySQL
      MasterUsername: admin
      MasterUserPassword: admin
      Tags:
        - Key: Name
          Value: 04RDS
    DeletionPolicy: Snapshot

错误截图:https://imgur.com/a/WRw5BWi

0 个答案:

没有答案