使用Terraform创建多个极光簇

使用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

有没有一种地形方法可以创建多个Aurora DB集群?我试图使集群名称成为一个列表,但看起来“集群标识符”资源需要一个字符串,而不是字符串列表。我可以为一个集群创建多个实例,但我看不到在Terraform中创建多个DB集群的方法

# 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集群”资源。我已经能够创建多个实例。我想创建多个极光星团。每个集群将有多个实例。