使用Terraform创建多个极光簇
有没有一种地形方法可以创建多个Aurora DB集群?我试图使集群名称成为一个列表,但看起来“集群标识符”资源需要一个字符串,而不是字符串列表。我可以为一个集群创建多个实例,但我看不到在Terraform中创建多个DB集群的方法使用Terraform创建多个极光簇,terraform,terraform-provider-aws,amazon-aurora,Terraform,Terraform Provider Aws,Amazon Aurora,有没有一种地形方法可以创建多个Aurora DB集群?我试图使集群名称成为一个列表,但看起来“集群标识符”资源需要一个字符串,而不是字符串列表。我可以为一个集群创建多个实例,但我看不到在Terraform中创建多个DB集群的方法 # The Aurora cluster (which contains database instances created below). resource "aws_rds_cluster" "aurora_cluster&quo
# The Aurora cluster (which contains database instances created below).
resource "aws_rds_cluster" "aurora_cluster" {
engine = var.rds_engine
engine_version = var.rds_engine_version
cluster_identifier = var.rds_cluster_name
master_username = local.aurora_creds.username
master_password = local.aurora_creds.password
db_subnet_group_name = var.subnet_group_name
iam_roles = var.rds_iam_roles
vpc_security_group_ids = var.security_groups
lifecycle {
create_before_destroy = true
}
}
}有几种方法可以在地形中提供
x
资源量
# The Aurora cluster (which contains database instances created below).
resource "aws_rds_cluster" "aurora_cluster" {
engine = var.rds_engine
engine_version = var.rds_engine_version
cluster_identifier = var.rds_cluster_name
master_username = local.aurora_creds.username
master_password = local.aurora_creds.password
db_subnet_group_name = var.subnet_group_name
iam_roles = var.rds_iam_roles
vpc_security_group_ids = var.security_groups
lifecycle {
create_before_destroy = true
}
您可以在资源本身中使用该属性
locals {
instance_count = 2
}
resource "aws_rds_cluster_instance" "aurora_instance" {
count = local.instance_count
engine = var.rds_engine
engine_version = var.rds_engine_version
identifier = "${var.rds_cluster_name}-${count.index}"
cluster_identifier = var.rds_cluster_name
instance_class = var.rds_instance_class
db_subnet_group_name = var.subnet_group_name
availability_zone = lookup(element(var.subnet_zones, count.index), "zone")
publicly_accessible = false
lifecycle {
create_before_destroy = true
}
}
也可以使用该属性
locals {
zones = ["us-west-2a", "us-west-2b"]
}
resource "aws_rds_cluster_instance" "aurora_instance" {
for_each = toset(local.zones)
engine = var.rds_engine
engine_version = var.rds_engine_version
identifier = "${var.rds_cluster_name}-${each.key}"
cluster_identifier = var.rds_cluster_name
instance_class = var.rds_instance_class
db_subnet_group_name = var.subnet_group_name
availability_zone = each.key
publicly_accessible = false
lifecycle {
create_before_destroy = true
}
}
请编辑您的问题,将您尝试过的内容包括在内,好吗?如果它以某种方式出错,那么包含错误输出也很有用。如果它不能实现您想要的功能,那么最好清楚地解释您现有的代码与您希望它实现的功能相比是什么。我的目标是能够创建多个“aws\U rds\U集群”资源。我已经能够创建多个实例。我想创建多个极光星团。每个集群将有多个实例。