GCP Cloud SQL における failover と replication
[履歴] [最終更新] (2021/11/14 14:22:03)

概要

GCP Cloud SQL における failover と replication について記載します。

Failover

Cloud SQL インスタンスが存在する zone またはインスタンス自体が利用できなくなった際に、同じ region の別 zone に存在する Cloud SQL インスタンスに対してトラフィックを流すように切り換えることができます。これを failover とよびます。

補足: failover 時のダウンタイムは 0 にはなりません。例えば SQL Server が備える、ダウンタイム 0 を実現するための機能を GCP で利用するためには、Compute Engine 上に SQL Server を構築する必要があります。Cloud SQL は利用できません: Configuring SQL Server AlwaysOn availability groups with synchronous commit

そのためには、事前に HA configuration を有効化しておく必要があります。インスタンスが二つとなるため、料金は二倍になります。それぞれ primary instance および standby instance とよばれます。

Uploaded Image

Overview of the high availability configuration

primary instance および standby instance は、同じ Regional persistent disks を参照しています。例えば MySQL のレプリケーション機能を利用している訳ではないため、レプリケーション遅延を気にする必要はありません。

また、failback は必須ではありません。primary instance の zone が復旧すると、自動的に新しい standby instance となります。

関連資料:

Replication

Database 自体が備えるレプリケーション機能を利用して、別の Cloud SQL インスタンスにデータを同期します。同期先を read replica とよびます。GCP Cloud SQL における HA 機能とは別であることに注意します。standby instance は同じリージョンに作成する必要がありますが、read replica は別のリージョンに作成することができます。

Uploaded Image

failover 時には standby instance から replication するように切り換わります。

Uploaded Image

primary instance および standby instance とは別の zone または region に作成することが推奨されます。

関連資料:

regional migration or disaster recovery

read replica におけるレプリケーションを停止して、primary instance に昇格させることができます。予定された regional migration または、region の障害における disaster recovery として利用します。

関連資料:

関連ページ