インスタンスのレプリケーションを管理する

このガイドでは、インスタンス レプリケーションを構成して、ソース インスタンスをスタンバイ レプリカとペア設定する方法について説明します。インスタンス レプリケーションは、次のようなシナリオで使用できます。

  • 停止からインスタンスを保護する: 障害復旧用に、継続的に更新されるクロスリージョン フェイルオーバー インスタンスを維持します。
  • データを移行する: スタンバイ レプリカを昇格させて、ダウンタイムを最小限に抑えながらインスタンスを新しいロケーションに永続的に移行します。
  • 運用テストを実行する: レプリケーションを一時停止してレプリカを一時的にマウントし、プライマリ インスタンスに影響を与えることなく、分離された障害復旧ドリルやテスト ワークロードを実行します。

始める前に

レプリカのソース インスタンスとして使用する Filestore インスタンスを作成します。

API を有効にする

Filestore API を有効にします。

API を有効にするために必要なロール

API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

API の有効化

必要なロール

インスタンスのレプリケーションを構成してレプリカをモニタリングするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

プロジェクト間のレプリカを作成する場合は、ソース プロジェクトとレプリカ プロジェクトの両方に Cloud Filestore 編集者(roles/file.editor)のロールを設定する必要があります。このロールには、プロジェクト間のレプリカを作成するためにソース プロジェクトで必要な file.instances.create 権限が含まれています。

インスタンス レプリカを作成する

Google Cloud コンソールを使用してクロス プロジェクト レプリカを作成することはできません。代わりに、gcloud CLI または REST API を使用してください。

Google Cloud コンソール

  1. Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。

    [インスタンス] に移動

  2. 複製するインスタンスのインスタンス ID をクリックします。

  3. インスタンスの詳細ページで、[レプリケーション] タブをクリックします。

  4. [レプリカを作成する] をクリックします。

  5. ソース インスタンスの詳細を確認し、サポートされている目標復旧時点を確認して、[次へ] をクリックします。

  6. インスタンスを作成します。詳細については、インスタンスの作成をご覧ください。次の点を考慮してください。

    • 指定する容量は、ソース インスタンスの容量以上である必要があります。
    • ソース インスタンスとレプリカのサービス階層Filestore プロトコルは同じである必要があります。
    • 堅牢な障害復旧ソリューションを実現するには、別のゾーンだけでなく、レプリカに別のリージョンを選択することをおすすめします。
  7. [次へ] をクリックします。

  8. 詳細を確認して [次へ] をクリックします。

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

  10. オペレーションが完了するのを待ちます。プロセスが完了すると、レプリカが [レプリケーション] ページのソース インスタンスの下に表示されます。レプリカのインスタンス ID をクリックして、詳細を表示します。

gcloud

  1. レプリカ インスタンスを作成するには、filestore instances create コマンドを実行します。

    gcloud filestore instances create INSTANCE_ID \
      --source-instance=projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/instances/SOURCE_INSTANCE_ID \
      --project=REPLICA_PROJECT_ID \
      --location=LOCATION \
      --network=name="NETWORK" \
      --tier=TIER \
      --file-share=name="FILE_SHARE_NAME",capacity=FILE_SHARE_SIZE \
    

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

  • INSTANCE_ID は、作成するレプリカ インスタンスの名前に置き換えます。例: sample-replica
  • SOURCE_PROJECT_ID: ソース インスタンスが配置されている Google Cloud プロジェクトのプロジェクト ID。
  • SOURCE_LOCATION は、ソース インスタンスが存在するロケーションに置き換えます。
  • SOURCE_INSTANCE_ID は、レプリカを作成するソース インスタンスの名前に置き換えます。例: sample-instance
  • REPLICA_PROJECT_ID は、レプリカ インスタンスを配置する Google Cloud プロジェクトのプロジェクト ID に置き換えます。
  • LOCATION は、レプリカ インスタンスを配置するロケーション(us-central1-a など)に置き換えます。ソースがゾーンサービス階層にある場合は、レプリカのリージョンとゾーンの両方を指定する必要があります。
  • NETWORK は、使用するネットワークの名前(default など)に置き換えます。
  • TIER は、必要なサービス階層ZONAL など)に置き換えます。階層と容量範囲は、ソース インスタンスと一致している必要があります。
  • FILE_SHARE_NAME は、インスタンスから提供される NFS ファイル共有に指定する名前(vol1 など)。
  • FILE_SHARE_SIZE は、ファイル共有に使用するサイズ(1.25TiB など)に置き換えます。

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. インスタンス レプリカを作成するには、次のリクエストを使用します。

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{"tier": "TIER",
          "networks": { "network": "NETWORK" },
          "file_shares": {"name": "SHARE_NAME","capacity_gb": "CAPACITY"},
          "replication": {"replicas":[{"peer_instance": "projects/SOURCE_PROJECT_ID/locations/ACTIVE_LOCATION/instances/ACTIVE_NAME"}], "role":"standby"},
          "description": "DESCRIPTION" }' \
      "https://file.googleapis.com/v1/projects/REPLICA_PROJECT_ID/locations/REPLICA_LOCATION/instances?instanceId=REPLICA_INSTANCE_NAME"
    

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

    • TIER は、レプリカに使用するサービス階層の名前に置き換えます。例: REGIONAL
    • NETWORK は、レプリカに使用するネットワークの名前です。例: defaultソースと同じネットワークを使用する必要があります。
    • SHARE_NAME はファイル共有の名前です。 (例: vol1)です。
    • CAPACITY は、レプリカに割り当てるサイズ(GiB 単位)です。例: 1024容量は、ソース インスタンスの容量以上である必要があります。
    • REPLICA_PROJECT_ID は、レプリカを配置するプロジェクトの名前です。例: sample-project
    • SOURCE_PROJECT_ID は、ソース インスタンスが存在するプロジェクトの名前です。
    • ACTIVE_LOCATION は、ソースが存在するロケーションです。例: us-east1
    • ACTIVE_NAME は、複製するインスタンスの名前です。例: sample-instance
    • DESCRIPTION は、作成するレプリカ インスタンスの説明です。例: A sample replica
    • REPLICA_LOCATION は、レプリカを配置するロケーションです。例: us-central1
    • REPLICA_INSTANCE_NAME は、作成するレプリカ インスタンスの名前です。例: sample-replica

レプリカのステータスを表示する

Google Cloud コンソール

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

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

  1. レプリカのインスタンス ID をクリックして、詳細を表示します。

gcloud

  1. 特定のインスタンスに関する情報を表示するには、instances describe コマンドを実行します。

    gcloud filestore instances describe <var>INSTANCE_ID</var> \
       --project=<var>PROJECT_ID</var> \
      --location=<var>LOCATION</var> \
    

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

  • INSTANCE_ID は、表示する Filestore インスタンスのインスタンス ID(genomics-instance など)に置き換えます。
  • PROJECT_ID は、Filestore インスタンスを含む Google Cloud プロジェクトのプロジェクト ID に置き換えます。
  • LOCATION は、インスタンスが存在するロケーション(us-east1-b など)に置き換えます。

    instances describe コマンドに対するレスポンスは、次のいずれかの例のようになります。

    このレスポンスの例は、インスタンス レプリケーションが有効になっているソース インスタンスを示しています。指定されているロールが ACTIVE であることに注目してください。

    createTime: '2024-06-17T22:17:26.475900265Z'
    fileShares:
    - capacityGb: '1024'
      name: vol1
    name: projects/genomics-project/locations/us-east1-b/instances/genomics-instance-source
    networks:
    - connectMode: DIRECT_PEERING
      ipAddresses:
      - 172.27.220.2
      modes:
      - MODE_IPV4
      network: default
      reservedIpRange: 172.27.220.0/26
    replication:
      replicas:
      - peerInstance: projects/genomics-project/locations/us-central1-a/instances/genomics-instance-replica
        state: READY
      role: ACTIVE
    state: READY
    tier: ZONAL
    

    このレスポンスの例は、通常のインスタンスにプロモートされたレプリカ インスタンスを示しています。レプリケーションはまだ有効になっていないため、指定されていません。

    createTime: '2024-06-20T17:11:56.048062134Z'
    fileShares:
    - capacityGb: '1024'
      name: vol1
    name: projects/genomics-project/locations/us-west2-a/instances/genomics-instance-replica
    networks:
    - connectMode: DIRECT_PEERING
      ipAddresses:
      - 10.155.90.194
      network: default
      reservedIpRange: 10.155.90.192/26
    satisfiesPzi: true
    state: READY
    tier: ZONAL
    

    このレスポンスの例は、アクティブ インスタンスとペア設定されたレプリカを示しています。レプリケーション ロールは STANDBY です。

    createTime: '2024-06-21T04:15:21.721579074Z'
    fileShares:
    - capacityGb: '1280'
      name: vol1
    name: projects/genomics-project/locations/us-west1-a/instances/genomics-replica
    networks:
    - connectMode: DIRECT_PEERING
      ipAddresses:
      - 10.153.44.194
      network: default
      reservedIpRange: 10.153.44.192/26
    replication:
      replicas:
      - peerInstance: projects/genomics-project/locations/us-west2-a/instances/genomics-instance
        state: READY
      role: STANDBY
    satisfiesPzi: true
    state: READY
    tier: ZONAL
    

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. レプリカのステータスを表示するには、次のリクエストを使用します。

        curl -s \
        --header "Authorization: Bearer $(gcloud auth print-access-token)" \
        --header "Content-Type: application/json" \
        --request GET \
        "https://file.googleapis.com/v1/projects/<var>PROJECT</var>/locations/<var>LOCATION</var>/instances/<var>INSTANCE_NAME</var>"
    

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

    • PROJECT は、インスタンスが配置されているプロジェクトの名前です。例: sample-project
    • LOCATION は、インスタンスが存在するロケーションです。例: us-west1-a
    • INSTANCE_NAME は、表示するインスタンスの名前です。例: sample-instance

プロジェクト内のすべてのレプリカを一覧表示する

Google Cloud コンソール

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

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

この表には、レプリカを含むソース インスタンスが一覧表示されます。レプリカのインスタンス ID をクリックして、詳細を表示します。

gcloud

  1. instances list コマンドを実行して、プロジェクト内のすべてのインスタンスのリストを表示するには:

    gcloud filestore instances list
      --project=PROJECT_ID \
    

    PROJECT_ID は、表示するプロジェクトのプロジェクト ID に置き換えます。

    レスポンスは、次のようなインスタンスとレプリカのリストを返します。

    INSTANCE_NAME                       LOCATION     TIER      CAPACITY_GB  FILE_SHARE_NAME  IP_ADDRESS     STATE  CREATE_TIME
    genomics-source-1                   us-east1-b   ZONAL     1024         vol1             172.27.220.2   READY  2024-06-17T22:17:26
    genomics-source-1-replica           us-west1-a   ZONAL     1024         vol1             10.142.57.194  READY  2024-06-17T23:47:19
    

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. 特定のプロジェクトのレプリカを一覧表示するには、次のリクエストを使用します。

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request GET \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances"

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

    • PROJECT は、インスタンスが配置されているプロジェクトの名前です。例: sample-project
    • LOCATION は、検索するロケーションです。プロジェクト内の任意のロケーションにあるすべてのインスタンスを検索するには、list エンドポイントを使用します。

レプリケーションの一時停止

Google Cloud コンソール

  1. Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。

    [インスタンス] に移動

  2. 一時停止するレプリカのインスタンス ID をクリックします。

  3. [説明] セクションで、[レプリケーション] タブをクリックします。

  4. [アクティブ インスタンスの詳細] セクションで、[レプリケーションを一時停止] をクリックします。

  5. 続行する前にアラートを読み、[レプリケーションを一時停止] をクリックして確認します。

レプリケーションのステータスが [一時停止中] に変わります。オペレーションが完了すると、[Replication Status] が [Paused] に変わります。

gcloud

レプリカを一時停止するには、gcloud filestore instances pause-replica コマンドを実行します。

  gcloud filestore instances pause-replica INSTANCE_ID \
      --project=PROJECT_ID \
      --location=LOCATION \

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

  • INSTANCE_ID は、一時停止する Filestore インスタンスのインスタンス ID(my-replica など)に置き換えます。
  • PROJECT_ID は、Filestore インスタンスを含む Google Cloud プロジェクトのプロジェクト ID に置き換えます。
  • LOCATION は、レプリカが存在するロケーション(us-central1 など)に置き換えます。

正常に完了すると、次のようなレスポンスが返されます。

createTime: '2025-12-22T14:03:33.727531128Z'
customPerformanceSupported: true
description: Replica of active, us-east1-b
fileShares:
- capacityGb: '1024'
  name: share
name: projects/genomics-project/locations/us-west2-a/instances/my-replica
networks:
- connectMode: DIRECT_PEERING
  ipAddresses:
  - 10.229.150.130
  modes:
  - MODE_IPV4
  network: default
  reservedIpRange: 10.229.150.128/26
performanceLimits:
  maxIops: '12000'
  maxReadIops: '12000'
  maxReadThroughputBps: '125829120'
  maxWriteIops: '4000'
  maxWriteThroughputBps: '104857600'
protocol: NFS_V3
replication:
  replicas:
  - peerInstance: projects/genomics-project/locations/us-east1-b/instances/my-source
    state: PAUSED
    stateUpdateTime: '2025-12-22T14:24:27.558413891Z'
  role: STANDBY
state: READY
tier: REGIONAL

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. レプリカを一時停止するには、次のリクエストを使用します。

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{}' \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/REPLICA_NAME:pauseReplica"

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

    • PROJECT は、レプリカが存在するプロジェクトの名前です(例: sample-project)。
    • LOCATION は、レプリカが存在するロケーションです。例: us-west1-a
    • REPLICA_NAME は、一時停止するインスタンスの名前です。例: sample-replica

レプリケーションを再開

Google Cloud コンソール

  1. Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。

    [インスタンス] に移動

  2. 使用するレプリカのインスタンス ID をクリックします。

  3. [説明] セクションで、[レプリケーション] タブをクリックします。

  4. [アクティブ インスタンスの詳細] セクションで、[レプリケーションを再開] をクリックします。

  5. 続行する前にアラートを読み、表示されたフィールドに「resume」と入力して確認します。

レプリケーションのステータスが [再開中] に変わります。オペレーションが完了すると、[Replication Status] が [Ready] に変わります。

gcloud

gcloud filestore instances resume-replica コマンドを実行して、レプリカ インスタンスを再開します。

  gcloud filestore instances resume-replica INSTANCE_ID \
      --project=PROJECT_ID \
      --location=LOCATION \

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

  • INSTANCE_ID は、再開する Filestore レプリカ インスタンスのインスタンス ID(my-replica など)に置き換えます。
  • PROJECT_ID は、Filestore レプリカ インスタンスを含む Google Cloud プロジェクトのプロジェクト ID に置き換えます。
  • LOCATION は、レプリカが存在するロケーション(us-central1 など)に置き換えます。

正常に完了すると、次のようなレスポンスが返されます。

  createTime: '2025-12-22T14:03:33.727531128Z'
  customPerformanceSupported: true
  description: Replica of active, us-central1
  fileShares:
  - capacityGb: '1024'
    name: share
  name: projects/genomics-project/locations/us-central1/instances/my-replica
  networks:
  - connectMode: DIRECT_PEERING
    ipAddresses:
    - 10.229.150.130
    modes:
    - MODE_IPV4
    network: default
    reservedIpRange: 10.229.150.128/26
  performanceLimits:
    maxIops: '12000'
    maxReadIops: '12000'
    maxReadThroughputBps: '125829120'
    maxWriteIops: '4000'
    maxWriteThroughputBps: '104857600'
  protocol: NFS_V3
  replication:
    replicas:
    - peerInstance: projects/genomics-project/locations/us-central1/instances/my-source
      state: READY
      stateUpdateTime: '2025-12-22T14:24:27.558413891Z'
    role: STANDBY
  state: READY
  tier: REGIONAL

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. レプリケーションを再開するには、次のリクエストを使用します。
curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{}' \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/REPLICA_NAME:resumeReplica"

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

  • PROJECT は、レプリカが配置されているプロジェクトの名前です。例: sample-project
  • LOCATION は、レプリカが存在するロケーションです。例: us-west1-a
  • REPLICA_NAME は、再開するインスタンスの名前です。例: sample-replica

レプリケーションを分割してレプリカをプロモートする

アクティブ インスタンスとスタンバイ インスタンス間のレプリケーションを中断すると、レプリカが通常のインスタンスにプロモートされます。この操作は元に戻せません。

Google Cloud コンソール

  1. Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。

    [インスタンス] に移動

  2. 使用するレプリカのインスタンス ID をクリックします。

  3. [レプリケーションを分割] をクリックします。

  4. レプリカのインスタンス ID を入力し、[レプリケーションを分割] をクリックします。

  5. オペレーションが完了するまで待ちます。

gcloud

レプリカ インスタンスをプロモートするには、gcloud filestore instances promote-replica コマンドを実行します。

  gcloud filestore instances promote-replica INSTANCE_ID 
--project=PROJECT_ID
--location=LOCATION

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

  • INSTANCE_ID は、プロモートする Filestore インスタンスのインスタンス ID(my-replica など)に置き換えます。
  • PROJECT_ID は、Filestore インスタンスを含む Google Cloud プロジェクトのプロジェクト ID に置き換えます。
  • LOCATION は、レプリカが存在するロケーション(us-central1 など)に置き換えます。

正常に完了すると、次のようなレスポンスが返されます。

capacityGb: '1024'
capacityStepSizeGb: '256'
createTime: '2024-06-20T17:11:56.048062134Z'
fileShares:
- capacityGb: '1024'
  name: vol1
maxCapacityGb: '9984'
maxShareCount: '1'
name: projects/genomics-project/locations/us-west2-a/instances/my-replica
networks:
- connectMode: DIRECT_PEERING
  ipAddresses:
  - 10.155.90.194
  network: default
  reservedIpRange: 10.155.90.192/26
protocol: NFS_V3
replication:
  replicas:
  - lastActiveSyncTime: '2024-06-21T00:13:23Z'
    peerInstance: projects/genomics-project/locations/us-east1-b/instances/my-source
  role: STANDBY
satisfiesPzi: true
state: PROMOTING
tier: ZONAL

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. レプリカを昇格するには、次のリクエストを使用します。

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{}' \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/REPLICA_NAME:promoteReplica"

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

    • PROJECT は、レプリカが配置されているプロジェクトの名前です。例: sample-project
    • LOCATION は、レプリカが存在するロケーションです。例: us-west1-a
    • REPLICA_NAME は、プロモートするインスタンスの名前です。例: sample-replica

レプリカ インスタンスを削除する

Google Cloud コンソール

  1. Google Cloud コンソールで、Filestore インスタンス ページに移動します。

    [インスタンス] に移動

    レプリカは、関連付けられたソース インスタンスの下に表示されます。レプリカが表示されない場合は、このタスクの gcloud コマンドをご覧ください。

  2. 削除するインスタンスのインスタンス ID をクリックします。

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

gcloud

  1. レプリカを含むすべてのインスタンスのリストを表示するには、instances list コマンドを実行します。

    gcloud filestore instances list
      --project=PROJECT_ID \
    

    PROJECT_ID は、表示するプロジェクトのプロジェクト ID に置き換えます。

  2. 削除するインスタンスの詳細をコピーします。

  3. レプリカ インスタンスを削除するには、filestore instances delete コマンドを実行します。

    gcloud filestore instances delete INSTANCE_ID \
      --location=LOCATION \
    

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

  • INSTANCE_ID は、削除する Filestore インスタンスのインスタンス ID(my-replica など)に置き換えます。
  • LOCATION は、レプリカが存在するロケーション(us-central1-a など)に置き換えます。

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. レプリカ インスタンスを削除するには、次のリクエストを使用します。

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request DELETE \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/INSTANCE_NAME"

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

    • PROJECT は、インスタンスが配置されているプロジェクトの名前です。例: sample-project
    • LOCATION は、インスタンスが存在するロケーションです。例: us-west1-a
    • INSTANCE_NAME は、削除するインスタンスの名前です。例: sample-instance

インスタンスのレプリケーションをモニタリングする

Google Cloud コンソール

Cloud Monitoring ダッシュボードで Filestore インスタンスのレプリケーション指標を表示するには、次の手順に従います。

  1. Google Cloud コンソールで Metrics explorer のページに移動します。

    [Metrics Explorer] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. [指標を選択] 展開セクションをクリックします。

  3. [リソース名または指標名でフィルタ] フィールドに「filestore」と入力し、開くことができる [Filestore インスタンス] セクションを選択します。

  4. [インスタンス] セクションを選択し、[RPO] をクリックします。

  5. RPO 指標 times_since_last_replication が表示されます。この指標は、複製データの最初の同期が完了してから数分後に使用可能になります。

次のステップ