使用 terraform 将 AWS RDS aurora 从无服务器 v1 升级到无服务器 v2

问题描述 投票:0回答:1

我正在使用 terraform 将 AWS rds aurora postgress 集群从无服务器 v1 升级到无服务器 v2。

我遵循的步骤:

  1. 创建 Serverless v1 集群的快照
  2. 从该快照创建配置的数据库集群
  3. 为配置的数据库创建实例
  4. 创建配置的数据库集群的快照
  5. 最终从配置的快照创建无服务器 v2

下面是我的无服务器 v2 的 terraform 配置:

 resource "aws_rds_cluster" "aurora_rds_serverless_v2" {
   cluster_identifier = "aurora-v2-serverless-cluster-new-197789"
   engine = local.env_config.rds_engine
   engine_version = local.env_config.rds_engine_version
   backup_retention_period = 14
   engine_mode = "serverless"
   snapshot_identifier= aws_db_cluster_snapshot.aurora_rds_provisioned_db_snapshot.id
   apply_immediately = true
   skip_final_snapshot = true
   enable_http_endpoint         = true
   timeouts {
     create = "120m"
   }
   scaling_configuration {
     auto_pause = true
     min_capacity = 2
     max_capacity = 4
   }
 }

我的问题是我是否需要创建单独的 terraform 资源来定义无服务器 v2 的实例还是自动缩放?

类似这样的:

resource "aws_rds_cluster_instance" "aurora_serverless_instance" {
  count = 2 # Example: Two instances (one writer, one reader)
  cluster_identifier = aws_rds_cluster.aurora_rds_provisioned_db_v2.id
  instance_class = "db.r5.large"
  apply_immediately = true
}
amazon-web-services terraform amazon-rds amazon-aurora
1个回答
0
投票

Aurora Serverless v2 不会自动缩放实例数量。无服务器实例本身的容量是自动缩放的。 Serverless v2 使用“预配置”集群模式而不是“无服务器”模式,然后您可以通过

instance_class
属性将集群中的各个实例配置为预配置实例或无服务器实例。
rds_cluster
资源文档页面上有一个完整的示例,这里

resource "aws_rds_cluster" "example" {
  cluster_identifier = "example"
  engine             = "aurora-postgresql"
  engine_mode        = "provisioned"
  engine_version     = "13.6"
  database_name      = "test"
  master_username    = "test"
  master_password    = "must_be_eight_characters"
  storage_encrypted  = true

  serverlessv2_scaling_configuration {
    max_capacity = 1.0
    min_capacity = 0.5
  }
}

resource "aws_rds_cluster_instance" "example" {
  cluster_identifier = aws_rds_cluster.example.id
  instance_class     = "db.serverless"
  engine             = aws_rds_cluster.example.engine
  engine_version     = aws_rds_cluster.example.engine_version
}
© www.soinside.com 2019 - 2024. All rights reserved.