- 21, Oct 2024
- #1
У меня есть проект Terraform, который использует провайдера MySQL. Из-за особенностей работы Terraform поставщик MySQL не сможет правильно загрузиться, поскольку экземпляр AWS_RDS не существует. Есть ли способ отложить или разделить мой проект, чтобы провайдер MySQL не загружался во время основного «применения»?
Я исследовал рабочие области и вижу, что вы можете использовать счетчик, чтобы активировать загрузку или не загрузку ресурса в зависимости от имени рабочей области. Но это все равно не сработало, подумал я.
Я также видел упоминание об этой проблеме на Hashicorp GitHub, но один из них, похоже, предлагает обходной путь.
Любая помощь очень ценится.
Вот фрагмент моей конфигурации хранилища данных:
resource "aws_db_subnet_group" "default" {
name = "${var.database_subnet_group_name}"
subnet_ids = ["${var.database_subnets}"]
tags {
Name = "${var.database_subnet_group_name}"
}
}
resource "aws_rds_cluster_instance" "cluster_instances" {
count = 1
identifier = "app-aurora-cluster-${count.index}"
cluster_identifier = "${aws_rds_cluster.some_cluster.id}"
instance_class = "db.t2.medium"
db_subnet_group_name = "${var.database_subnet_group_name}"
publicly_accessible = true
}
resource "aws_rds_cluster" "some_cluster" {
cluster_identifier = "app-aurora-cluster"
availability_zones = ["${var.database_azs}"]
database_name = "${var.database_name}"
db_subnet_group_name = "${var.database_subnet_group_name}"
master_username = "auroradmin"
master_password = "%XwPn}gU6sX<y8Wx"
skip_final_snapshot = true
vpc_security_group_ids = ["${var.database_security_groups}"]
}
/*
# This has to be commented out during the first pass
# because Terraform will try to connect to the
# MySQL Aurora server to refresh the state even
# though it currently doesn't exist.
# Configure the MySQL provider
provider "mysql" {
endpoint = "${aws_rds_cluster.some_cluster.endpoint}"
username = "auroradmin"
password = "%XwPn}gU6sX<y8Wx"
}
#terraform #mysql #terraform-module #terraform-workspace