LoginSignup
1

More than 3 years have passed since last update.

東京リージョンのCloud SQLとUSリージョンのBigQueryをFederationする

Last updated at Posted at 2020-12-04

BigQueryからCloud SQLに対してクエリを実行できる、Cloud SQL federated query機能はとても便利です。
この機能を活用すれば、Cloud SQLからBigQueryに対するETLを作成しなくても、簡単にBigQueryにデータを転送できます。
しかし、この機能はCloud SQLとBigQueryの2つが同一リージョンにある場合のみ使用することができます。
https://cloud.google.com/bigquery/docs/cloud-sql-federated-queries

では、東京リージョンのCloud SQLからUSマルチリージョンのBigQueryに対してクエリを実行したい場合はどうすればよいのでしょうか?

解決策

Cloud SQLのリージョン間レプリケーション機能を使い、USリージョンにリードレプリカを作成する。

例えば以下のようなDBインスタンスが東京リージョンにあったとします。

resource "google_sql_database_instance" "hoge-instance" {
  name             = "hoge"
  database_version = "MYSQL_5_7"
  region           = "asia-northeast1"

  settings {
    tier = "db-n1-standard-1"
    backup_configuration {
      binary_log_enabled = true
      enabled            = true
      start_time         = "17:00" # JST:02:00
    }
  }
}

この場合は、このようにアイオワリージョン(us-central1)にリードレプリカを作ることで、USリージョンのBigQueryとの連携が可能になります。

resource "google_sql_database_instance" "hoge-replication" {
  name                 = "hoge-replication"
  database_version     = "MYSQL_5_7"
  master_instance_name = google_sql_database_instance.hoge-instance.name
  region               = "us-central1"

  # プライマリーインスタンスが死んでも、このインスタンスにはフェイルオーバーさせない
  replica_configuration {
    failover_target = false
  }

  settings {
    tier = "db-n1-standard-1"
    backup_configuration {
      enabled = false
    }
  }
}

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