1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

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

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
    }
  }
}
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?