[A-00139]TerraformでAlloyDBを作成してみる
google cloud AlloyDBをterraformを使って作ってみます。
・API有効化
下記のURLより、AlloyDB APIを有効にします。
https://console.cloud.google.com/apis/api/alloydb.googleapis.com/overview
・Service Network API有効化
こちらも有効化が必要
・Terraform作成
provider "google" {
    project = var.project_id
}
resource "google_compute_network" "default" {
  name = "test-vpc"
}
resource "google_compute_global_address" "default" {
  name = "${var.project_id}-alloydb-cluster-ip"
  address_type = "INTERNAL"
  purpose = "VPC_PEERING"
  prefix_length = 16
  network = google_compute_network.default.id
}
resource "google_service_networking_connection" "default" {
  network = google_compute_network.default.id
  service = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [ google_compute_global_address.default.name ]
}
resource "google_alloydb_cluster" "default" {
  cluster_id = "${var.project_id}-alloydb-cluster"
  network = google_compute_network.default.id
  location = "asia-northeast1"
}
resource "google_alloydb_instance" "default" {
  instance_id = "${var.project_id}-alloydb-primary-instance"
  instance_type = var.alloydb_instance_type
  cluster = google_alloydb_cluster.default.name
  
  database_flags = {
    "alloydb.logical_decoding" = "on"
  }
  depends_on = [
    google_service_networking_connection.default
  ]
}
variable "project_id" {
  default = <your_project_id>
}
variable "alloydb_instance_type" {
  default = "PRIMARY"
}上記を作成してterraformコマンドを実行します。
terraform init
terraform plan
terraform apply下記のように作成されます。

・Appendix
公式ドキュメントはこちら
https://cloud.google.com/alloydb/docs/project-enable-access
https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/alloydb_cluster
https://registry.terraform.io/modules/GoogleCloudPlatform/alloy-db/google/latest
参考文献はこちら
https://registry.terraform.io/modules/GoogleCloudPlatform/alloy-db/google/latest
https://qiita.com/baeyear/items/f1ce46973511ad999f9a
https://github.com/hashicorp/terraform-provider-google/issues/11754
https://github.com/GoogleCloudPlatform/terraform-google-alloy-db/blob/main/main.tf
https://dev.classmethod.jp/articles/alloydb-for-postgresql-is-generally-available/
https://medium.com/google-cloud/alloy-db-terraform-module-b427ae079ea
コメントを残す