【问题标题】:"DBInstanceClass" property of resource type "AWS::RDS::DBInstance"资源类型“AWS::RDS::DBInstance”的“DBInstanceClass”属性
【发布时间】:2019-12-29 06:57:08
【问题描述】:

对于以下 MySQL 数据库实例,使用以下模板创建:

  DbInstance:
    Type: "AWS::RDS::DBInstance"
    Properties:
      DBSubnetGroupName: { "Ref": "DbSubnetGroup" }
      MultiAZ: "true"
      AvailabilityZone: { "Ref": "DbAvailabilityZone" }
      AllocatedStorage: 8
      StorageType: "gp2"
      DBInstanceClass: "db.t2.micro"
      DBName: "someapp"
      Engine: "MySQL"
      EngineVersion: "5.6"
      MasterUsername: { "Ref": "DbUsername" }
      MasterUserPassword: { "Ref": "DbPassword" }
      VPCSecurityGroups:
        - { "Ref": "DbSecurityGroup" }
      Tags:
        - Key: "Name"
          Value: { "Fn::Join": ["", [ { "Ref": "AWS::StackName" }, "-db" ] ] }


  DbSecurityGroup:
    Type: "AWS::EC2::SecurityGroup"
    Properties:
      GroupDescription: "someapp DB Security Group"
      VpcId: { "Ref": "VpcId" }
      SecurityGroupIngress:
        - IpProtocol: "tcp"
          FromPort: "3306"
          ToPort: "3306"
          SourceSecurityGroupId: { "Ref": "EC2InstanceSecurityGroup" }

  DbSubnetGroup:
    Type: "AWS::RDS::DBSubnetGroup"
    Properties:
      DBSubnetGroupDescription: "someapp DB Subnet Group"
      SubnetIds: { "Ref": "DbSubnets" }
      Tags:
        - Key: "Name"
          Value: { "Fn::Join": ["", [ { "Ref": "AWS::StackName" }, "-db-subnet-group" ] ] }

我的理解是,

RDS 是一台计算机(EC2 实例),其中将在"DbSubnetGroup" 的每个子网上启动一个 EC2 实例。

这台计算机是"db.t2.micro" EC2 实例类型。

每台计算机将托管一个 MySQL 数据库实例 (someapp)。

"DbSubnetGroup" 中的多个子网可以位于相同或不同的可用区,因为MultiAZ: "true"


如果这是正确的理解,那么,

是否将DbSecurityGroup 分配给"db.t2.micro" 的每个EC2 实例类型(DBInstanceClass)?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-rds


    【解决方案1】:

    RDS 是一台计算机(EC2 实例),其中有一个 EC2 实例 在“DbSubnetGroup”的每个子网上启动。

    是的,这是正确的,RDS 托管在 EC2 实例上,但您不需要管理这些实例。

    此计算机属于“db.t2.micro”EC2 实例类型。

    是的,RDS 实例类型由用户在配置时选择。因此,如果您选择了微类型,那么 EC2 实例应该属于同一类型。

    每台计算机都将托管一个 MySQL 数据库实例(someapp)。

    是的,EC2 实例将托管数据库。

    “DbSubnetGroup”中的多个子网可以相同或不同 可用区,因为 MultiAZ: "true"

    如果您选择了多可用区数据库,那么将使用不同的可用区来设置主数据库和辅助数据库。它们不会在同一个 AZ 中,因为它不会提供 AZ 冗余。

    如果这是正确的理解,那么,

    DbSecurityGroup 是否分配给每个 EC2 实例类型(DBInstanceClass) “db.t2.micro”?

    是的,安全组将分配给您 RDS 设置中的每个 EC2 实例。

    【讨论】:

    • 如果MultiAZ: "false" 则主数据库和辅助数据库将在同一可用区中的两个独立EC2 实例上启动(DbAvailabilityZone)。对吗?
    • 如果 MultiAZ 为 false,则只会在您选择的单个 AZ 中创建一个数据库实例。对于单个 AZ,没有像主要或次要这样的集群配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 2022-12-08
    相关资源
    最近更新 更多