下面是一个使用troposphere创建多可用区的AWS RDS示例代码:
from troposphere import Template, Parameter, Ref, Tags, AWS_REGION, AWSStackName
from troposphere.rds import DBInstance, DBSubnetGroup, VPCSecurityGroup, DBInstanceIdentifier
template = Template()
subnet_group = template.add_resource(DBSubnetGroup(
"SubnetGroup",
DBSubnetGroupDescription="Subnet group for RDS",
SubnetIds=["subnet-xxxxxxxx", "subnet-yyyyyyyy"] # Replace with your subnet IDs
))
security_group = template.add_resource(VPCSecurityGroup(
"SecurityGroup",
GroupDescription="Security group for RDS",
VpcId="vpc-xxxxxxxx" # Replace with your VPC ID
))
db_instance = template.add_resource(DBInstance(
"DBInstance",
DBName="mydatabase",
DBInstanceIdentifier=Ref(AWSStackName),
AllocatedStorage=20,
DBInstanceClass="db.t2.micro",
Engine="MySQL",
EngineVersion="5.7",
MasterUsername="admin",
MasterUserPassword="password",
VPCSecurityGroups=[Ref(security_group)],
DBSubnetGroupName=Ref(subnet_group),
Tags=Tags(
Name="MyRDSInstance",
Environment="Production"
)
))
print(template.to_json())
这段代码创建了一个RDS实例,该实例在两个指定的子网中运行,并使用指定的安全组。您需要将代码中的替换为您自己的子网ID和VPC ID。此外,您还可以根据需要调整其他RDS实例的属性,例如数据库名称,存储量,实例类型等。
请注意,这只是一个示例代码,您需要使用AWS CloudFormation等工具来部署和执行此代码。