0

我在 aws 云形成方面遇到问题。我需要创建 cloudformation,它将使用 RHEL 安装和配置 RDS,使用路由 53 和主用户安装和配置 mariadb。我首先从基本的 config.yaml 开始,但是 vpc 出现错误,它说

此用户没有默认 VPC(服务:AmazonEC2;状态代码:400;错误代码:VPCIdNotSpecified;请求 ID:407bd74c-9b85-4cce-b5a7-b816fe7aea15)

我的 config.yaml 是这个

Resources:
   Ec2Instance1:
      Type: 'AWS::EC2::Instance'
      Properties:
           SecurityGroups:
               - !Ref InstanceSecurityGroup
           KeyName: adivir
           ImageId: ami-07dfba995513840b5
           AvailabilityZone: eu-central-1
           InstanceType: t2.micro
           UserData:
              Fn::Base64: !Sub |
               #!/bin/bash -xe
               yum install -y httpd
               yum install -y git
               yum install -y php php-mysql
               git clone https://github.com/demoglot/php.git /var/www/html
               systemctl restart httpd
               systemctl enable httpd
   Ec2Instance2:
      Type: 'AWS::EC2::Instance'
      Properties:
           SecurityGroups:
               - !Ref InstanceSecurityGroup
           KeyName: adivir
           ImageId: ami-07dfba995513840b5
           AvailabilityZone: eu-central-1
           InstanceType: t2.micro
           UserData:
             Fn::Base64: !Sub |
               #!/bin/bash -xe
               yum install -y httpd
               yum install git -y
               git clone https://github.com/demoglot/php.git /var/www/html
               systemctl restart httpd
               systemctl enable httpd
   InstanceSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupDescription: Enable SSH access
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '2256'
          ToPort: '2256'
          CidrIp: 0.0.0.0/0

        - IpProtocol: tcp
          FromPort: '80'
          ToPort: '80'
          CidrIp: 0.0.0.0/0
   ElasticLoadBalancer:
    Type: 'AWS::ElasticLoadBalancing::LoadBalancer'
    Properties:
        AvailabilityZones:
             - eu-central-1
             - eu-central-1b
        Listeners:
            - InstancePort: '80'
              LoadBalancerPort: '80'
              Protocol: HTTP
        HealthCheck:
              Target: 'HTTP:80/'
              HealthyThreshold: '3'
              UnhealthyThreshold: '5'
              Interval: '30'
              Timeout: '5'
        Instances :
           - !Ref Ec2Instance1
           - !Ref Ec2Instance2
   DBSECURITYGROUP:
    Type: 'AWS::RDS::DBSecurityGroup'
    Properties:
          GroupDescription: Security Group for RDS private access
          DBSecurityGroupIngress:
            - CIDRIP: 0.0.0.0/0
   MyDB:
    Type: 'AWS::RDS::DBInstance'
    Properties:
        DBName: kk
        AllocatedStorage: '20'
        DBInstanceClass: db.t2.micro
        Engine: MariaDB
        EngineVersion: '10.1.31'
        MasterUsername: admin
        MasterUserPassword: admin123
        DBSecurityGroups:
            - !Ref DBSECURITYGROUP
        Tags:
           - Key: name
             Value: kk
    DeletionPolicy: Snapshot

为了解决 vpc 错误并成功创建 RDS 以及如何以及在 yaml 文件中添加路由 53 创建的位置,我需要做什么?此外,数据库需要连接到其他实例上的 java 应用程序。为了让他连接到数据库,我需要与制作应用程序的人分享什么?此外,是否有可能有一个 shell 脚本按顺序运行 cloudformations,创建堆栈然后退出,这样就不是每个团队成员都需要运行自己的 cloudformation?谢谢

4

1 回答 1

0

Solution to this problem and why it occurs have been documented and explained in the resent AWS blog:

Basically, the solution is to create new default vpc.

p.s.

I also agree with @mokugo-devops. You ask too many sub-questions which limits the focus and precision of your main question and issue you have reported.

于 2020-05-12T19:38:23.153 回答