如何在 Terraform 中使用秘密管理器创建 Aurora Serverless 数据库集群

时间:2021-01-07 15:39:54

标签: amazon-web-services terraform terraform-provider-aws amazon-aurora aws-aurora-serverless

我一直在阅读此页面:https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/rds_cluster

那里的例子主要是针对预配的数据库,我是无服务器数据库的新手,有没有一个 Terraform 例子来使用存储在机密管理器中的机密创建无服务器 Aurora 数据库集群(SQL db)?

>

非常感谢。

2 个答案:

答案 0 :(得分:2)

创建无服务器极光的基本示例是:

resource "aws_rds_cluster" "default" {
  cluster_identifier      = "aurora-cluster-demo"
  engine                  = "aurora-mysql"  
  engine_mode             = "serverless"  
  database_name           = "myauroradb"  
  enable_http_endpoint    = true  
  master_username         = "root"
  master_password         = "chang333eme321"
  backup_retention_period = 1
  
  skip_final_snapshot     = true
  
  scaling_configuration {
    auto_pause               = true
    min_capacity             = 1    
    max_capacity             = 2
    seconds_until_auto_pause = 300
    timeout_action           = "ForceApplyCapacityChange"
  }  
}

我不确定你想对秘密经理做什么。你的问题不清楚,所以我提供了任何例子。

答案 1 :(得分:2)

我猜你想随机化主密码? 你可以这样做:

master_password = random_password.DatabaseMasterPassword.result

可以像这样创建 SSM 参数:

resource "aws_ssm_parameter" "SSMDatabaseMasterPassword" {
  name  = "database-master-password"
  type  = "SecureString"
  value = random_password.DatabaseMasterPassword.result
}

可以像这样定义随机密码:

resource "random_password" "DatabaseMasterPassword" {
  length           = 24
  special          = true
  override_special = "!#$%^*()-=+_?{}|"
}