LoginSignup
1
0

More than 1 year has passed since last update.

[Terraform] [GCP] [CloudSQL] 高可用性構成のインスタンスを作成する(レガシーな高可用性から移行する)

Posted at

GCP CloudSQL の高可用性について

CloudSQL インスタンスでは、高可用性向けに構成することができます。

これまでは、failover replicaインスタンスを使用していました。
新しい構成では failover replica を使用しません。
以下のような terraform の設定は不要となります。

resource "google_sql_database_instance" "replica" {
  name                 = name
  database_version     = "MYSQL"
  master_instance_name = google_sql_database_instance_name
  region               = region

  settings {
  ...
  } 

  replica_configuration {
    failover_target = true
  }
}

修正内容

高可用性を持つインスタンスを作成するには、以下のように設定します。

resource "google_sql_database_instance" "mysql_instance_ha" {
  name             = "mysql-instance-ha"
  region           = "asia-northeast1"
  database_version = "MYSQL_8_0"
  settings {
    tier              = "db-f1-micro"
    availability_type = "REGIONAL"
    backup_configuration {
      enabled            = true
      binary_log_enabled = true
      start_time         = "20:55"
    }
  }
}

以下の設定をすることで、インスタンスのアベイラビリティタイプが「REGIONAL」になり、インスタンスは同じリージョン内で高可用性を提供するようになります。

availability_type = "REGIONAL"

環境ごとに設定を変えたい場合は以下のようにすると良いでしょう。

availability_type = var.environment == "production" ? "REGIONAL" : "ZONAL"

また、すでにレガシー構成でfailover replicaインスタンスを作成している場合は、以下の設定を追加して削除してあげましょう。

deletion_protection =  "false"

インスタンスの高可用性を確認する

インスタンスの可用性が高いことを確認するには、以下のコマンドを実行します。

gcloud sql instances describe INSTANCE_NAME

出力には、availabilityTypeREGIONAL であることが示されます。

参考記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0