このガイドでは、インスタンス レプリケーションを構成して、ソース インスタンスをスタンバイ レプリカとペア設定する方法について説明します。インスタンス レプリケーションは、次のようなシナリオで使用できます。
- 停止からインスタンスを保護する: 障害復旧用に、継続的に更新されるクロスリージョン フェイルオーバー インスタンスを維持します。
- データを移行する: スタンバイ レプリカを昇格させて、ダウンタイムを最小限に抑えながらインスタンスを新しいロケーションに永続的に移行します。
- 運用テストを実行する: レプリケーションを一時停止してレプリカを一時的にマウントし、プライマリ インスタンスに影響を与えることなく、分離された障害復旧ドリルやテスト ワークロードを実行します。
始める前に
レプリカのソース インスタンスとして使用する Filestore インスタンスを作成します。
API を有効にする
Filestore API を有効にします。
API を有効にするために必要なロール
API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。
必要なロール
インスタンスのレプリケーションを構成してレプリカをモニタリングするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
Filestore インスタンスの作成と管理: Cloud Filestore 編集者 (
roles/file.editor) -
インスタンスのレプリケーション指標を表示する: モニタリング閲覧者 (
roles/monitoring.viewer) -
指標ダッシュボードを作成して管理する: モニタリング編集者 (
roles/monitoring.editor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
プロジェクト間のレプリカを作成する場合は、ソース プロジェクトとレプリカ プロジェクトの両方に Cloud Filestore 編集者(roles/file.editor)のロールを設定する必要があります。このロールには、プロジェクト間のレプリカを作成するためにソース プロジェクトで必要な file.instances.create 権限が含まれています。
インスタンス レプリカを作成する
Google Cloud コンソールを使用してクロス プロジェクト レプリカを作成することはできません。代わりに、gcloud CLI または REST API を使用してください。
Google Cloud コンソール
Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。
複製するインスタンスのインスタンス ID をクリックします。
インスタンスの詳細ページで、[レプリケーション] タブをクリックします。
[レプリカを作成する] をクリックします。
ソース インスタンスの詳細を確認し、サポートされている目標復旧時点を確認して、[次へ] をクリックします。
インスタンスを作成します。詳細については、インスタンスの作成をご覧ください。次の点を考慮してください。
- 指定する容量は、ソース インスタンスの容量以上である必要があります。
- ソース インスタンスとレプリカのサービス階層と Filestore プロトコルは同じである必要があります。
- 堅牢な障害復旧ソリューションを実現するには、別のゾーンだけでなく、レプリカに別のリージョンを選択することをおすすめします。
[次へ] をクリックします。
詳細を確認して [次へ] をクリックします。
[作成] をクリックします。
オペレーションが完了するのを待ちます。プロセスが完了すると、レプリカが [レプリケーション] ページのソース インスタンスの下に表示されます。レプリカのインスタンス ID をクリックして、詳細を表示します。
gcloud
レプリカ インスタンスを作成するには、
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
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。インスタンス レプリカを作成するには、次のリクエストを使用します。
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は、レプリカに使用するサービス階層の名前に置き換えます。例:REGIONALNETWORKは、レプリカに使用するネットワークの名前です。例:defaultソースと同じネットワークを使用する必要があります。SHARE_NAMEはファイル共有の名前です。 (例:vol1)です。CAPACITYは、レプリカに割り当てるサイズ(GiB 単位)です。例:1024容量は、ソース インスタンスの容量以上である必要があります。REPLICA_PROJECT_IDは、レプリカを配置するプロジェクトの名前です。例:sample-projectSOURCE_PROJECT_IDは、ソース インスタンスが存在するプロジェクトの名前です。ACTIVE_LOCATIONは、ソースが存在するロケーションです。例:us-east1ACTIVE_NAMEは、複製するインスタンスの名前です。例:sample-instanceDESCRIPTIONは、作成するレプリカ インスタンスの説明です。例:A sample replicaREPLICA_LOCATIONは、レプリカを配置するロケーションです。例:us-central1REPLICA_INSTANCE_NAMEは、作成するレプリカ インスタンスの名前です。例:sample-replica
レプリカのステータスを表示する
Google Cloud コンソール
- Google Cloud コンソールで、Filestore の [レプリケーション] ページに移動します。
- レプリカのインスタンス ID をクリックして、詳細を表示します。
gcloud
特定のインスタンスに関する情報を表示するには、
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
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。レプリカのステータスを表示するには、次のリクエストを使用します。
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-projectLOCATIONは、インスタンスが存在するロケーションです。例:us-west1-aINSTANCE_NAMEは、表示するインスタンスの名前です。例:sample-instance
プロジェクト内のすべてのレプリカを一覧表示する
Google Cloud コンソール
Google Cloud コンソールで、Filestore の [レプリケーション] ページに移動します。
この表には、レプリカを含むソース インスタンスが一覧表示されます。レプリカのインスタンス ID をクリックして、詳細を表示します。
gcloud
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
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。特定のプロジェクトのレプリカを一覧表示するには、次のリクエストを使用します。
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-projectLOCATIONは、検索するロケーションです。プロジェクト内の任意のロケーションにあるすべてのインスタンスを検索するには、listエンドポイントを使用します。
レプリケーションの一時停止
Google Cloud コンソール
Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。
一時停止するレプリカのインスタンス ID をクリックします。
[説明] セクションで、[レプリケーション] タブをクリックします。
[アクティブ インスタンスの詳細] セクションで、[レプリケーションを一時停止] をクリックします。
続行する前にアラートを読み、[レプリケーションを一時停止] をクリックして確認します。
レプリケーションのステータスが [一時停止中] に変わります。オペレーションが完了すると、[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
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。レプリカを一時停止するには、次のリクエストを使用します。
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-aREPLICA_NAMEは、一時停止するインスタンスの名前です。例:sample-replica
レプリケーションを再開
Google Cloud コンソール
Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。
使用するレプリカのインスタンス ID をクリックします。
[説明] セクションで、[レプリケーション] タブをクリックします。
[アクティブ インスタンスの詳細] セクションで、[レプリケーションを再開] をクリックします。
続行する前にアラートを読み、表示されたフィールドに「
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
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。- レプリケーションを再開するには、次のリクエストを使用します。
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-projectLOCATIONは、レプリカが存在するロケーションです。例:us-west1-aREPLICA_NAMEは、再開するインスタンスの名前です。例:sample-replica
レプリケーションを分割してレプリカをプロモートする
アクティブ インスタンスとスタンバイ インスタンス間のレプリケーションを中断すると、レプリカが通常のインスタンスにプロモートされます。この操作は元に戻せません。
Google Cloud コンソール
Google Cloud コンソールで、Filestore の [インスタンス] ページに移動します。
使用するレプリカのインスタンス ID をクリックします。
[レプリケーションを分割] をクリックします。
レプリカのインスタンス ID を入力し、[レプリケーションを分割] をクリックします。
オペレーションが完了するまで待ちます。
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
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。レプリカを昇格するには、次のリクエストを使用します。
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-projectLOCATIONは、レプリカが存在するロケーションです。例:us-west1-aREPLICA_NAMEは、プロモートするインスタンスの名前です。例:sample-replica
レプリカ インスタンスを削除する
Google Cloud コンソール
Google Cloud コンソールで、Filestore インスタンス ページに移動します。
レプリカは、関連付けられたソース インスタンスの下に表示されます。レプリカが表示されない場合は、このタスクの
gcloudコマンドをご覧ください。削除するインスタンスのインスタンス ID をクリックします。
[削除] をクリックします。
gcloud
レプリカを含むすべてのインスタンスのリストを表示するには、
instances listコマンドを実行します。gcloud filestore instances list --project=PROJECT_ID \
PROJECT_ID は、表示するプロジェクトのプロジェクト ID に置き換えます。
削除するインスタンスの詳細をコピーします。
レプリカ インスタンスを削除するには、
filestore instances deleteコマンドを実行します。gcloud filestore instances delete INSTANCE_ID \ --location=LOCATION \
次のように置き換えます。
- INSTANCE_ID は、削除する Filestore インスタンスのインスタンス ID(
my-replicaなど)に置き換えます。 - LOCATION は、レプリカが存在するロケーション(
us-central1-aなど)に置き換えます。
REST API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。レプリカ インスタンスを削除するには、次のリクエストを使用します。
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-projectLOCATIONは、インスタンスが存在するロケーションです。例:us-west1-aINSTANCE_NAMEは、削除するインスタンスの名前です。例:sample-instance
インスタンスのレプリケーションをモニタリングする
Google Cloud コンソール
Cloud Monitoring ダッシュボードで Filestore インスタンスのレプリケーション指標を表示するには、次の手順に従います。
-
Google Cloud コンソールで leaderboard Metrics explorer のページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
[指標を選択] 展開セクションをクリックします。
[リソース名または指標名でフィルタ] フィールドに「
filestore」と入力し、開くことができる [Filestore インスタンス] セクションを選択します。[インスタンス] セクションを選択し、[RPO] をクリックします。
RPO 指標
times_since_last_replicationが表示されます。この指標は、複製データの最初の同期が完了してから数分後に使用可能になります。
次のステップ
- インスタンス レプリケーションの詳細を確認する。
- インスタンス レプリケーションのリファレンス ドキュメントを読む。