BigQuery Managed Disaster Recovery は、異なるリージョン間でデータを自動レプリケーションし、リージョン障害時には簡単に別のリージョンでの復旧を可能にする機能です。
機能についての概要はGoogle Cloud Next’25のセッションについてのブログ記事に譲り、ここでは実際の設定内容や挙動をご説明します。
東京(asia-northeast1)をプライマリ、そして大阪(asia-northeast2)をセカンダリとしたシステムで、以下を検証します。
利用するエディションは Enterprise Plus 版です。詳細なエディションごとの機能は公式ドキュメントをご参照ください。
データセットを作成する時点ではプライマリのみを指定して、あとでセカンダリを追加します。
データセット内に適当なデータを含むテーブルを作成します。
それ以外はできるだけ最小にして作成しました。
asia-northeast1で実行されたことが分かります。
また明示的にasia-northeast2をロケーション指定すると、クエリ結果は同じですが期待通りasia-northeast2で実行されたことが分かります。
数分後にはプライマリ/セカンダリが入れ替わったことが確認できました。
先ほどと同じようにクエリを実行すると、ロケーション指定が無い状態ではasia-northeast2で実行されたことが分かります。
フェイルオーバーによってセカンダリになったasia-northeast1でのクエリ実行は、ロケーション指定により可能です。
このように「フェイルオーバー」操作1つでプライマリ/セカンダリが切り替わります。クエリを実行する側としても、ロケーションやクエリの中身を意識せずとも、プライマリになっているロケーションに対して操作が実施可能です。
東京から大阪へのフェイルオーバー実施前と同じ状態に戻りました。
セカンダリになったasia-northeast2でのクエリ実行は、ロケーション指定により可能です。
本検証では、SELECTクエリでのみで確認しました。ただし、容量の割り当てを利用した状態でその他のクエリを実行する場合には、クエリに対する割り当ての設定もしなければなりません。その詳細については別記事でご紹介していますので、後続のこちらの記事も併せて確認してください。
BigQuery のリージョン切り替えを「フェイルオーバー」ボタン1つで実現できる簡単さを確認しました。セカンダリリージョンへのリアルタイム性は若干の遅延があるものの、別リージョンにコピーで退避させるよりもはるかに確実性が高くオペレーションとしても簡易です。
Google Cloud、Google Workspaceに関する お問い合わせはこちら