代码之家  ›  专栏  ›  技术社区  ›  Rajat jain

使用对流层的多可用区

  •  0
  • Rajat jain  · 技术社区  · 7 年前

    我正在使用对流层创建一个云形成模板,当我在堆栈中运行它时,它只创建一个可用区域。 我有2个私有子网和每个子网1个az。 文件创建 VPC, subnets, rounte internet gateway, EC2 instances and RDS instance ,除了它在rds中为一个可用区域创建的以外,我已经设置了 MultiAZ = true 但还是失败了。

    RDSdatabase = t.add_resource(
        rds.DBInstance(
            "RDSDatabase",
            DBName=Client+'RDSDatabase',
            AllocatedStorage=Ref(dballocatedstorage),
            DBInstanceClass=Ref(dbclass),
            Engine="MySQL",
            EngineVersion="5.5",
            MasterUsername=Ref(dbuser),
            MasterUserPassword=Ref(dbpassword),
            DBSubnetGroupName=Ref(mydbsubnetgroup),
            VPCSecurityGroups=[Ref(myvpcsecuritygroup)],
            MultiAZ=True,
            Tags=Tags(
                Application=ref_stack_name, Client=Client, Name=Client+'_RDS-Master_1'),
        ))
    

    这是我的子网组---

    mydbsubnetgroup = t.add_resource(
        rds.DBSubnetGroup(
        "MyDBSubnetGroup",
            DBSubnetGroupDescription="Subnets available for the RDS DB Instance",
            SubnetIds=[Ref(db_subnet_AZ_1),Ref(db_subnet_AZ_2)],
            Tags=Tags(Name=Join("-", [Ref("AWS::StackName"), "DBSubnetGroup"]),
          ),
        ))
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   phobologic    7 年前

    我认为这主要是对multiaz所做工作的误解。一个rds实例实际上只能在一个可用区域(和子网)中。multiaz实际上并没有将该实例放在多个可用性区域中—它创建了一个备份实例,该实例与单独可用性区域中的主实例保持同步(它并没有真正告诉您,我不相信)给你更大的耐用性和正常运行时间的情况下,主要失败的某种方式。

    见: https://aws.amazon.com/rds/details/multi-az/