【问题标题】:How to reduce depoyment time for RDS instance via Terraform?如何通过 Terraform 减少 RDS 实例的部署时间?
【发布时间】:2021-01-19 02:33:36
【问题描述】:
resource "aws_db_instance" "mydb1_mishal2" {
  allocated_storage        = 20 # gigabytes
  backup_retention_period  = 7   # in days
  db_subnet_group_name     = "${var.rds_public_subnet_group}"
  engine                   = "mysql"
  engine_version           = "5.7"
  identifier               = "dbmishalsecond"
  instance_class           = "db.t2.micro"
  multi_az                 = false
  name                     = "mydbmishalsecond"
  parameter_group_name     = "default.mysql5.7" # if you have tuned it
  password                 = "mishal12345" #"${trimspace(file("${path.module}/secrets/mydb1-password.txt"))}"
  port                     = 3306
  publicly_accessible      = true
  storage_encrypted        = false # you should always do this
  storage_type             = "gp2"
  username                 = "mydb1"
  #vpc_security_group_ids   = ["${aws_security_group.mydb1.id}"]
}

我正在使用上面的代码在 AWS 中部署一个 RDS 实例。但是部署需要很长时间。日志如下:

Deployment logs

我怎样才能减少部署时间或者是否有必要做坏事?

【问题讨论】:

  • 太慢了……需要 10 到 15 分钟……你不能减少那个时间:(
  • 您无法从 Terraform 对 AWS RDS 实例启动所需的时间做任何事情,尽管 5.5 分钟似乎比我预期的要长。如果您在 AWS 控制台中以交互方式创建具有相同规范的实例,需要多长时间?
  • 如果您将 backup_retention_period 设置为 0,它将提供更快的速度。但显然你不会有任何自动备份,只有手动备份。

标签: amazon-web-services terraform amazon-rds


【解决方案1】:

除了多可用数据库确实需要更长的时间才能启动之外,您实际上无法更改 RDS 需要多长时间才能可用。但这并不是您真正要考虑的启动时间。您应该考虑对该参数的可用性要求。

【讨论】:

    猜你喜欢
    • 2020-11-10
    • 2016-08-13
    • 2018-05-04
    • 2018-09-01
    • 2018-12-22
    • 2017-07-18
    • 2021-12-08
    • 1970-01-01
    • 2012-05-19
    相关资源
    最近更新 更多