このページでは、Spanner デュアルリージョン クォーラムのヘルス ステータスを確認する方法と、サービスが中断した場合にクォーラムを手動で変更する方法について説明します。
デュアルリージョンの詳細については、Spanner のデュアルリージョン インスタンス構成をご覧ください。
デュアルリージョン クォーラムのステータスを確認する
デュアルリージョン クォーラムのステータスは、次の方法で確認できます。
[データベースの概要] ページにアクセスする
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
デュアルリージョン構成に含まれるインスタンスの名前をクリックします。
データベースの名前をクリックします。
[概要] で [クォーラム] 行を探します。ここには、インスタンスのデュアルリージョン クォーラムのステータスが表示されます。
両方のリージョンでクォーラムが満たされている場合、ステータスは [デュアルリージョン] を表示します。
手動または Google 管理のファイルオーバーが実行されている場合は、サービス提供リージョンの名前(
asia-south1
など)が表示されます。
システム分析情報ダッシュボードを使用する
デュアルリージョン構成を作成すると、インスタンスレベルのシステム分析ダッシュボードでデュアルリージョン クォーラムの可用性指標を確認できます。
詳細については、システム分析情報ダッシュボードを表示するをご覧ください。
Monitoring REST API または gcloud CLI を使用する
Monitoring REST API または gcloud CLI を使用して、デュアルリージョン クォーラムの状態を確認できます。
Monitoring REST API
Monitoring の projects.timeSeries.list
API を使用してデュアルリージョン クォーラムの可用性指標をクエリし、特定の時点でリージョンが正常かどうかを確認します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID。
- DUAL_REGION_LOCATION: 確認するデュアルリージョン内のリージョンのロケーション。
- START_TIME: クエリの開始時間。現在の時刻の 5 分前を使用することをおすすめします。
- END_TIME: クエリの終了時間。現在の時刻を使用することをおすすめします。
HTTP メソッドと URL:
GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries
リクエストの本文(JSON):
{ "name": "PROJECT_ID", "aggregation.alignmentPeriod": "60s", "aggregation.crossSeriesReducer": "REDUCE_FRACTION_TRUE", "aggregation.groupByFields": "resource.labels.location", "aggregation.perSeriesAligner": "ALIGN_NEXT_OLDER", "filter": "metric.labels.quorum_availability = "Healthy" AND metric.type = "spanner.googleapis.com/instance/dual_region_quorum_availability" AND resource.labels.location = "DUAL_REGION_LOCATION"", "interval.startTime": "START_TIME", "interval.endTime": "END_TIME" }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "timeSeries": [ { "metric": { "type": "spanner.googleapis.com/instance/dual_region_quorum_availability" }, "resource": { "type": "spanner_instance", "labels": { "project_id": "spanner-project", "location": "australia-southeast1" } }, "metricKind": "GAUGE", "valueType": "DOUBLE", "points": [ { "interval": { "startTime": "2024-07-11T05:41:23Z", "endTime": "2024-07-11T05:41:23Z" }, "value": { "doubleValue": 1 } } ] } ], "unit": "10^2.%" }
同様のレスポンスが返されない場合、リージョンが正常でない可能性があります。デュアルリージョン クォーラムをデュアルリージョンからシングル リージョンに変更する必要がある場合があります。
gcloud CLI
dual-region-quorum-health-check-script.sh
ファイルをダウンロードします。この bash スクリプトは、シングルリージョンのリージョンの状態を確認します。リージョンが正常な場合、スクリプトは
gcloud spanner databases change-quorum
コマンドを実行して、デュアルリージョン クォーラムを手動でデュアルリージョンからシングルリージョンにフェイルオーバーします。スクリプトの次の変数を置き換えます。
PROJECT
: プロジェクト ID。INSTANCE
: インスタンス IDDATABASE
: データベース ID。SERVING_LOCATION
: 確認するデュアルリージョン内のリージョンの場所。
任意の開発環境でスクリプトを実行します。詳細については、Google Cloud CLI をインストールして Spanner API を設定するをご覧ください。
リージョンが異常な状態でフェイルオーバーが発生した場合は、手動でフェイルバックします。
デュアルリージョン クォーラムをデュアルリージョンからシングルリージョンに変更する(フェイルオーバー)
リージョンの停止やネットワーク パーティショニングの問題が発生した場合に手動でフェイルオーバーするには:
Google Cloud コンソール
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
デュアルリージョン構成に含まれるインスタンスの名前をクリックします。
ナビゲーション メニューで [システム分析情報] をクリックします。
デュアルリージョン クォーラムの可用性指標を見つけます。
デュアルリージョン クォーラムの可用性指標で、リージョンで停止があることが示されている場合は、Google Cloud コンソールの上部にある [Cloud Shell をアクティブにする] をクリックします。
Cloud Shell が開きます。
デュアルリージョン クォーラムをデュアルリージョンからシングル リージョンに変更するには、gcloud CLI タブにある次のコマンド「
gcloud spanner databases change-quorum
」を入力します。詳しい手順については、[gcloud
] タブをご覧ください。
gcloud CLI
gcloud spanner databases change-quorum
コマンドを使用して、デュアルリージョン クォーラムをデュアルリージョンからシングル リージョンに変更します。
gcloud spanner databases change-quorum
DATABASE_ID --instance=INSTANCE_ID
--single-region --serving-location=SERVING_LOCATION
[--etag=ETAG]
以下を置き換えます。
DATABASE_ID
: データベースの永続的な識別子。INSTANCE_ID
: インスタンスの永続的な識別子。SERVING_LOCATION
: フェイルオーバーするリージョン インスタンス構成。たとえば、asia-south1
(ムンバイ)が異常で、asia-south2
(デリー)にフェイルオーバーする場合は、asia-south2
を入力します。SERVING_LOCATION
が正常なリージョンであることを確認します。フェイルオーバーに間違ったリージョンを選択すると、データベースが使用不能になり、リージョンがオンラインに復帰する前に復元できません。
オプションのフラグ:
--etag=ETAG
:ETAG
引数は、リプレイ保護に使用できます。
クォーラム変更オペレーションのステータスを確認するには、gcloud spanner databases describe
コマンドを実行します。quorumInfo
フィールドには、オペレーションに関する情報が表示されます。
gcloud spanner databases describe DATABASE_ID
--instance=INSTANCE_ID
デュアルリージョン クォーラムをシングル リージョンからデュアルリージョンに変更する(フェイルバック)
中断されたリージョンが正常な状態になった後、またはネットワーク パーティションの問題が解決した後に手動でフェイルバックするには:
Google Cloud コンソール
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
デュアルリージョン構成に含まれるインスタンスの名前をクリックします。
ナビゲーション メニューで [システム分析情報] をクリックします。
デュアルリージョン クォーラムの可用性指標を見つけます。
デュアルリージョン クォーラムの可用性指標で、[リージョン クォーラムを変更] をクリックします。
Cloud Shell が開きます。
デュアルリージョン クォーラムをデュアルリージョンからシングル リージョンに変更するには、gcloud CLI タブにある次のコマンド「
gcloud spanner databases change-quorum
」を入力します。詳しい手順については、[gcloud
] タブをご覧ください。
gcloud CLI
gcloud spanner databases change-quorum
コマンドを使用して、デュアルリージョン クォーラムをシングル リージョンからデュアルリージョンに変更します。
gcloud spanner databases change-quorum
DATABASE_ID --instance=INSTANCE_ID
--dual-region
[--etag=ETAG]
以下を置き換えます。
DATABASE_ID
: データベースの永続的な識別子。INSTANCE_ID
: インスタンスの永続的な識別子。
オプションのフラグ:
--etag=ETAG
:ETAG
引数は、オプティミスティックな同時実行制御に使用できます。
クォーラム変更オペレーションのステータスを確認するには、gcloud spanner databases describe
コマンドを実行します。quorumInfo
フィールドには、オペレーションに関する情報が表示されます。
gcloud spanner databases describe DATABASE_ID
--instance=INSTANCE_ID
次のステップ
- デュアルリージョン インスタンスの構成の詳細を確認する。