AWS::RDS - 使用对流层的多可用区
AWS::RDS - Multi Availability Zone using troposphere
我在使用 Troposphere 创建 CloudFormation 模板时 运行 它在堆栈中只创建了一个可用区。
我在每个子网中有 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"]),
),
))
我认为这主要是对 MultiAZ 功能的误解。单个 RDS 实例实际上只能位于单个可用区(和子网)中。 MultiAZ 实际上并没有将该实例放入多个可用区 - 它创建了一个备份实例,与单独可用区中的主要实例保持同步(它并没有真正告诉你哪个,我不相信)给在主服务器以某种方式出现故障的情况下,您可以提高耐用性和正常运行时间。
我在使用 Troposphere 创建 CloudFormation 模板时 运行 它在堆栈中只创建了一个可用区。
我在每个子网中有 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"]),
),
))
我认为这主要是对 MultiAZ 功能的误解。单个 RDS 实例实际上只能位于单个可用区(和子网)中。 MultiAZ 实际上并没有将该实例放入多个可用区 - 它创建了一个备份实例,与单独可用区中的主要实例保持同步(它并没有真正告诉你哪个,我不相信)给在主服务器以某种方式出现故障的情况下,您可以提高耐用性和正常运行时间。