整合性グループを管理する


このドキュメントでは、整合性グループを管理する方法について説明します。整合性グループとは、同じリージョンまたはゾーン内の複数のディスク間でレプリケーションを調整するリソース ポリシーのことです。

整合性グループの詳細については、Persistent Disk の非同期レプリケーションについてをご覧ください。

制限事項

  • 整合性グループは、単一テナントノードのディスクではサポートされていません。
  • 整合性グループには最大 128 個のディスクを含めることができます。
  • 整合性グループに含めるいずれのディスクも、整合性グループのリソース ポリシーと同じプロジェクト内になければなりません。
  • 整合性グループに含めるいずれのディスクも、ゾーンディスクの場合は同じゾーン、リージョン ディスクの場合は同じゾーンペアに存在している必要があります。
  • 整合性グループには、プライマリ ディスクまたはセカンダリ ディスクを含めることができますが、両方を含めることはできません。
  • ディスクがレプリケーションの対象となっている間は、整合性グループ内のプライマリ ディスクの追加または削除を行うことはできません。製造性グループ内のプライマリ ディスクを追加または削除する場合は、まず、レプリケーションを停止する必要があります。整合性グループ内のセカンダリ ディスクは、いつでも追加または削除できます。
  • 複数の異なる整合性グループに含まれているディスク、または整合性グループに含まれていないディスクを、1 つの VM に最大 16 個アタッチできます。同じ整合性グループ内のディスクは、16 個のディスク上限に対して 1 個のディスクとして計上されます。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

整合性グループの作成

複数のディスク間でレプリケーションを調整する必要がある場合は、プライマリ ディスクと同じリージョン内に整合性グループを作成します。複数のディスク クローンを調整する必要がある場合は、セカンダリ ディスクと同じリージョン内に整合性グループを作成します。

整合性グループを作成するには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。

コンソール

整合性グループを作成するには、次の手順を実施します。

  1. Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。

    [非同期レプリケーション] に移動

  2. [整合性グループ] タブをクリックします。

  3. [整合性グループを作成] をクリックします。

  4. [名前] フィールドに、整合性グループの名前を入力します。

  5. [リージョン] フィールドで、ディスクが配置されるリージョンを選択します。プライマリ ディスクを整合性グループに追加する場合は、プライマリ リージョンを選択します。セカンダリ ディスクを整合性グループに追加する場合は、セカンダリ リージョンを選択します。

  6. [作成] をクリックします。

gcloud

gcloud compute resource-policies create disk-consistency-group コマンドを使用して、整合性グループを作成します。

gcloud compute resource-policies create disk-consistency-group CONSISTENCY_GROUP_NAME \
    --region=REGION

次のように置き換えます。

  • CONSISTENCY_GROUP_NAME: 整合性グループの名前。
  • REGION: 整合性グループのリージョン。プライマリ ディスクを整合性グループに追加する場合は、プライマリ リージョンを使用します。セカンダリ ディスクを整合性グループに追加する場合は、セカンダリ リージョンを使用します。

REST

resourcePolicies.insert メソッドを使用して、整合性グループを作成します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
{
 "name": "CONSISTENCY_GROUP_NAME",
 "diskConsistencyGroupPolicy": {
  }
}

次のように置き換えます。

  • PROJECT: 整合性グループを含むプロジェクト。
  • REGION: 整合性グループのリージョン。プライマリ ディスクを整合性グループに追加する場合は、プライマリ ディスクと同じリージョンを使用します。セカンダリ ディスクを整合性グループに追加する場合は、セカンダリ ディスクと同じリージョンを使用します。
  • CONSISTENCY_GROUP_NAME: 整合性グループの名前。

整合性グループに含まれるディスクを確認する

整合性グループに含まれるディスクを確認するには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。

コンソール

整合性グループに含まれるディスクを確認するには、次の手順を実施します。

  1. Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。

    [非同期レプリケーション] に移動

  2. [整合性グループ] タブをクリックします。

  3. ディスクを表示する対象の整合性グループの名前をクリックします。[整合性グループの管理] ページが開きます。

  4. [整合性グループのメンバー] セクションに表示される、整合性グループに含まれるすべてのディスクを確認します。

gcloud

gcloud compute disks list コマンドを使用して、整合性グループに含まれるディスクを確認します。

gcloud compute disks list \
    --LOCATION_FLAG=LOCATION \
    --filter=resourcePolicies=CONSISTENCY_GROUP_NAME

次のように置き換えます。

  • LOCATION_FLAG: 整合性グループに含まれるディスクのロケーション フラグ。整合性グループに含まれるディスクがリージョン ディスクの場合は、--region を使用します。整合性グループに含まれるディスクがゾーンディスクの場合は、--zone を使用します。
  • LOCATION: 整合性グループに含まれるディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。
  • CONSISTENCY_GROUP_NAME: 整合性グループの名前。

REST

次のいずれかのメソッドでクエリフィルタを使用して、整合性グループに含まれるディスクを確認します。

  • disks.get メソッドを使用して、整合性グループに含まれるゾーンディスクを確認します。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
    
  • regionDisks.get メソッドを使用して、整合性グループに含まれるリージョン ディスクを確認します。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
    

次のように置き換えます。

  • PROJECT: 整合性グループを含むプロジェクト
  • ZONE: 整合性グループに含まれるディスクのゾーン
  • REGION: 整合性グループに含まれるディスクのリージョン
  • CONSISTENCY_GROUP_NAME: 整合性グループの名前

整合性グループにディスクを追加する

プライマリ ディスクを整合性グループに追加する場合は、レプリケーションを開始する前にディスクを整合性グループに追加する必要があります。セカンダリ ディスクはいつでも整合性グループに追加できます。整合性グループに含めるいずれのディスクも、ゾーンディスクの場合は同じゾーン、リージョン ディスクの場合は同じゾーンペアに存在している必要があります。

整合性グループにディスクを追加するには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。

コンソール

整合性グループにディスクを追加するには、次の手順を実施します。

  1. Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。

    [非同期レプリケーション] に移動

  2. [整合性グループ] タブをクリックします。

  3. ディスクを追加する整合性グループの名前をクリックします。[整合性グループの管理] ページが開きます。

  4. [ディスクの割り当て] をクリックします。[ディスクの割り当て] ページが開きます。

  5. 整合性グループに追加するディスクを選択します。

  6. [ディスクの割り当て] をクリックします。画面の指示に従って [追加] をクリックします。

gcloud

gcloud compute disks add-resource-policies コマンドを使用して、整合性グループにディスクを追加します。

gcloud compute disks add-resource-policies DISK_NAME \
    --LOCATION_FLAG=LOCATION \
    --resource-policies=CONSISTENCY_GROUP

次のように置き換えます。

  • DISK_NAME: 整合性グループに追加するディスクの名前。
  • LOCATION_FLAG: ディスクのロケーション フラグ。リージョン ディスクの場合は、--region を使用します。ゾーンディスクの場合は、--zone を使用します。
  • LOCATION: ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。
  • CONSISTENCY_GROUP: 整合性グループの URL。例: projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME

REST

次のいずれかのメソッドを使用して、整合性グループにディスクを追加します。

  • disks.addResourcePolicies メソッドを使用して、ゾーンディスクを整合性グループに追加します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/addResourcePolicies
    
    {
    "resourcePolicies": "CONSISTENCY_GROUP"
    }
    
  • regionDisks.addResourcePolicies メソッドを使用して、リージョン ディスクを整合性グループに追加します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/addResourcePolicies
    
    {
    "resourcePolicies": "CONSISTENCY_GROUP"
    }
    

次のように置き換えます。

  • PROJECT: ディスクを含むプロジェクト。
  • LOCATION: ディスクのゾーンまたはリージョン。ゾーンディスクの場合は、ゾーンを使用します。リージョン ディスクの場合は、リージョンを使用します。
  • DISK_NAME: 整合性グループに追加するディスクの名前。
  • CONSISTENCY_GROUP: 整合性グループの URL。例: projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME

整合性グループからディスクを削除する

整合性グループからディスクを削除するには、その前に、ディスクのレプリケーションを停止する必要があります。

整合性グループからディスクを削除するには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。

コンソール

整合性グループからプライマリ ディスクを削除するには、次の手順を実施します。

  1. Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。

    [非同期レプリケーション] に移動

  2. [整合性グループ] タブをクリックします。

  3. ディスクを追加する整合性グループの名前をクリックします。[整合性グループの管理] ページが開きます。

  4. 整合性グループから削除するディスクを選択します。

  5. [ディスクを削除] をクリックします。画面の指示に従って [削除] をクリックします。

gcloud

gcloud compute disks remove-resource-policies コマンドを使用して、整合性グループからディスクを削除します。

gcloud compute disks remove-resource-policies DISK_NAME \
    --LOCATION_FLAG=LOCATION \
    --resource-policies=CONSISTENCY_GROUP

次のように置き換えます。

  • DISK_NAME: 整合性グループから削除するディスクの名前。
  • LOCATION_FLAG: ディスクのロケーション フラグ。リージョン ディスクの場合は、--region を使用します。ゾーンディスクの場合は、--zone を使用します。
  • LOCATION: ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。
  • CONSISTENCY_GROUP: 整合性グループの URL。例: projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME

REST

ゾーンディスクの場合は disks.removeResourcePolicies メソッド、リージョンの場合は regionDisks.removeResourcePolicies メソッドを使用して、整合性グループからディスクを削除します。

  • 整合性グループからゾーンディスクを削除します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/removeResourcePolicies
    
    {
    "resourcePolicies": "CONSISTENCY_GROUP"
    }
    
  • 整合性グループからリージョン ディスクを削除します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/removeResourcePolicies
    
    {
    "resourcePolicies": "CONSISTENCY_GROUP"
    }
    

次のように置き換えます。

  • PROJECT: ディスクを含むプロジェクト。
  • LOCATION: ディスクのゾーンまたはリージョン。ゾーンディスクの場合は、ゾーンを使用します。リージョン ディスクの場合は、リージョンを使用します。
  • DISK_NAME: 整合性グループから削除するディスクの名前。
  • CONSISTENCY_GROUP: 整合性グループの URL。例: projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME

整合性グループの削除

整合性グループを削除するには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。

コンソール

整合性を削除するには、次の手順を実施します。

  1. Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。

    [非同期レプリケーション] に移動

  2. [整合性グループ] タブをクリックします。

  3. 削除する整合性グループを選択します。

  4. [削除] をクリックします。[整合性グループを削除] ウィンドウが開きます。

  5. [削除] をクリックします。

gcloud

gcloud compute resource-policies delete コマンドを使用して、リソース ポリシーを削除します。

gcloud compute resource-policies delete CONSISTENCY_GROUP \
    --region=REGION

次のように置き換えます。

  • CONSISTENCY_GROUP: 整合性グループの名前
  • REGION: 整合性グループのリージョン

REST

resourcePolicies.delete メソッドを使用して、整合性グループを削除します。

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME

次のように置き換えます。

  • PROJECT: 整合性グループを含むプロジェクト
  • REGION: 整合性グループのリージョン
  • CONSISTENCY_GROUP: 整合性グループの名前

次のステップ