Создайте схему базы данных AWS Aurora из terraform

#amazon-web-services #terraform #terraform-provider-aws #amazon-aurora

Вопрос:

Я создаю экземпляры кластера aws_rds_cluster_instance (main.tf). Могу ли я создать схему из файла с помощью terraform.

   resource "aws_rds_cluster_instance" "default" {
  count                         = var.replica_count
  identifier                    = "${var.region}-${var.project}-${var.env}- 
 aurora-${count.index}"
  cluster_identifier            = aws_rds_cluster.default.id
  instance_class                = var.instance_class
  engine                        = aws_rds_cluster.default.engine
  engine_version                = aws_rds_cluster.default.engine_version
  db_parameter_group_name       = aws_db_parameter_group.this.name
  preferred_maintenance_window  = "sun:02:00-sun:04:00"
  auto_minor_version_upgrade    = var.auto_minor_version_upgrade
  performance_insights_enabled  = var.performance_insights_enabled
 

Комментарии:

1. Вы можете попробовать поставщика терраформирования PostgreSQL: registry.terraform.io/providers/cyrilgdn/postgresql/latest/docs

Ответ №1:

Вы не можете сделать это с поставщиком aws. Однако вы можете запустить local-exec, который вызовет или выполнит сценарий, который создаст все базы данных и таблицы, которые вам нужны в вашем новом кластере aurora.

Комментарии:

1. Спасибо за ваш ответ @marcin, я тоже пытаюсь это сделать, но не был уверен в этом. Ниже приведено то, что я попробовал с моей стороны. Я создаю схему с помощью schema.sql

2. « файл поставщика «{подключение { пользователь = var.имя пользователя хост = var.имя хоста приватный ключ = файл («~/. ssh/ec2_cert.pem»)} источник=». /схема.sql «назначение=»~»} поставщик » удаленный исполнитель «{подключение { пользователь = var.имя пользователя хост = var.имя хоста приватный ключ = файл («~/. ssh/ec2_cert.pem»)} команда = » mysql —хост=${var.имя хоста} —порт=${var.порт} —пользователь=${var.имя пользователя} —пароль=${случайный пароль.пароль.результат}

3. @Devops-Ученик Я бы предложил задать новый вопрос относительно локального объекта и вашего сценария с соответствующими сообщениями об ошибках. Если бы мой ответ на ваш текущий вопрос о том, что вы можете сделать, был полезен, я был бы признателен за его принятие.