共有 VPC ネットワークには、ホスト プロジェクトまたは関連するサービス プロジェクトの 1 つで Filestore インスタンスを作成できます。ホスト プロジェクトでインスタンスを作成する場合、共有 VPC ネットワークを通常どおり選択でき、サービス プロジェクト クライアントはインスタンスに接続できます。ただし、サービス プロジェクトでインスタンスを作成する場合は、最初にホスト プロジェクトから共有 VPC ネットワークでのプライベート サービス アクセスを有効にする必要があります。
共有 VPC ネットワークでプライベート サービス アクセスを有効にする。
共有 VPC ネットワークを使用するサービス プロジェクトで Filestore インスタンスを作成するには、共有 VPC ネットワークでプライベート サービス アクセス(PSA)を有効にする必要があります。特定の Filestore 要件については、予約済み IP アドレスの範囲を構成するをご覧ください。
共有 VPC ネットワークでプライベート サービス アクセスが有効になっているかどうかを確認する
次のいずれかの方法で、共有 VPC ネットワークでプライベート サービス アクセスがすでに有効になっているかどうかを確認します。
Google Cloud コンソール
Google Cloud コンソールで、[Filestore インスタンス] ページに移動します。
[インスタンスを作成] をクリックします。
使用する共有 VPC ネットワークを選択します。
[ネットワークの詳細オプション] をクリックします。
[プライベート サービス アクセス接続] セクションに、プライベート サービス アクセスが有効になっているかが表示されます。
gcloud CLI
次の services vpc-peerings list コマンドを実行します。
gcloud beta services vpc-peerings list \
--network=SHARED_VPC_NAME \
--project=HOST_PROJECT_ID
以下を置き換えます。
- SHARED_VPC_NAME は、Filestore インスタンスに使用する共有 VPC ネットワークの名前に置き換えます。
- HOST_PROJECT_ID は、共有 VPC ネットワークを含むホスト プロジェクトのプロジェクト ID に置き換えます。
プライベート サービス アクセスがすでに有効になっている場合、レスポンスで servicenetworking-googleapis-com とのピアリングが確立されていることを表示します。
network: projects/PROJECT_NUMBER/global/networks/SHARED_VPC_NAME
peering: servicenetworking-googleapis-com
reservedPeeringRanges: RANGES
共有 VPC ネットワークでプライベート サービス アクセスが有効になっている場合は、そのネットワークで Filestore インスタンスの作成を開始できます。それ以外の場合は、最初にプライベート サービス アクセスを有効にする必要があります。
プライベート サービス アクセスを有効にする
割り当て済みの IP アドレス範囲を作成し、プライベート接続を管理するには、オーナー(roles/owner)、編集者(roles/editor)、またはネットワーク管理者(roles/networkmanagement.admin)のロールが必要です。これらの権限を付与されていない場合は、ネットワーク管理者にお問い合わせください。詳しくは、ロールについてをご覧ください。
次のいずれかの方法で、共有 VPC ネットワークでプライベート サービス アクセスを有効にします。
Google Cloud コンソール
共有 VPC ネットワークで Google マネージド サービス用に IP アドレス範囲を予約する
Google Cloud コンソールの [VPC ネットワーク] ページに移動します。
使用する共有 VPC ネットワークを含むホスト プロジェクトを選択します。
Filestore インスタンスを作成する共有 VPC ネットワークの名前をクリックします。
[プライベート サービス接続] タブを選択します。
[プライベート サービス接続] タブで、[サービスに割り当てられた IP 範囲] タブを選択します。
[IP 範囲の割り当て] をクリックし、次のように構成します。
- 名前:
google-service-range - 説明:
Peering range for Google managed services IP 範囲
- [自動] を選択します。
- テキスト フィールドに接頭辞として「
20」と入力します。この範囲はすべての Google Cloud マネージド サービスで使用されるため、実際には、より大きな範囲が必要になる場合があります。基本階層インスタンスには、接頭辞 /29 が必要で、高容量範囲(以前の高スケール SSD)を持つエンタープライズ階層、ゾーン階層、リージョン階層のインスタンスと、低容量範囲を持つゾーン階層とリージョン階層のインスタンスには、/26 接頭辞が必要です。
- 名前:
[割り当て] をクリックして、割り振る範囲を作成します。
共有 VPC ネットワークと Google マネージド サービス ネットワークのプライベート接続を作成する
Google Cloud コンソールの [VPC ネットワーク] ページに移動します。
使用する共有 VPC ネットワークを含むホスト プロジェクトを選択します。
Filestore インスタンスを作成する共有 VPC ネットワークの名前をクリックします。
[プライベート サービス アクセス] タブを選択します。
[プライベート サービス アクセス] タブで、[サービスへのプライベート接続] タブを選択します。
[接続を作成] をクリックします。
[割り当て] で [
google-service-range] を選択します。[接続] をクリックして接続を作成します。
gcloud CLI
次の
compute addresses createコマンドを実行して、Google マネージド サービスに共有 VPC ネットワーク内の IP アドレス範囲を予約します。gcloud compute addresses create google-service-range \ --global \ --purpose=VPC_PEERING \ --prefix-length=PREFIX \ --description="Peering range for Google managed services" \ --network=SHARED_VPC_NAME \ --project=PROJECT_ID以下を置き換えます。
- PREFIX は接頭辞長に置き換えます。基本階層インスタンスには /29 接頭辞が必要で、ゾーン階層インスタンスには /26 接頭辞が必要です。ただし、この範囲はすべての Google Cloudマネージド サービスで使用されます。複数の Filestore インスタンスやその他の Google Cloudマネージド サービスを使用する場合は、次のように、より大きな接頭辞が必要になります。例: /20
- SHARED_VPC_NAME は、Filestore インスタンスを作成する共有 VPC ネットワークの名前に置き換えます。
- PROJECT_ID は、共有 VPC ネットワークを含むホスト プロジェクトのプロジェクト ID に置き換えます。
services vpc-peerings connectコマンドを実行して、共有 VPC ネットワークと Google マネージド サービス ネットワークのプライベート接続を作成します。gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-service-range \ --network=SHARED_VPC_NAME \ --project=HOST_PROJECT_ID以下を置き換えます。
- SHARED_VPC_NAME は、Filestore インスタンスを作成する共有 VPC ネットワークの名前に置き換えます。
- HOST_PROJECT_ID は、共有 VPC ネットワークを含むホスト プロジェクトのプロジェクト ID に置き換えます。
このコマンドは、長時間実行オペレーションを開始し、オペレーション名を戻します。
services vpc-peerings operations describeコマンドを使用して、オペレーションが成功したかどうかを確認します。gcloud services vpc-peerings operations describe \ --name=OPERATION_NAMEOPERATION_NAME を、前の手順から返されたオペレーション名に置き換えます。
IP アドレス範囲の割り当てとプライベート接続の作成の詳細については、プライベート サービス アクセスの構成をご覧ください。
省略可: VPC Service Controls を有効にする
プライベート サービス アクセスを有効にしたら、必要に応じて VPC Service Controls を有効にできます。それには、services vpc-peerings enable-vpc-service-controls コマンドを実行します。
gcloud beta services vpc-peerings enable-vpc-service-controls \
--network=SHARED_VPC_NAME \
--project=HOST_PROJECT_ID \
--service=servicenetworking.googleapis.com
以下を置き換えます。
- SHARED_VPC_NAME は、Filestore インスタンスを作成する共有 VPC ネットワークの名前に置き換えます。
- HOST_PROJECT_ID は、共有 VPC ネットワークを含むホスト プロジェクトのプロジェクト ID に置き換えます。
VPC Service Controls で Filestore を使用する方法については、サービス境界でのインスタンスの保護をご覧ください。
共有 VPC ネットワーク上に Filestore インスタンスを作成する
共有 VPC ネットワークでプライベート サービス アクセスを有効にすると、サービス プロジェクトから Filestore インスタンスを作成できるようになります。
Google Cloud コンソール
Google Cloud コンソールで、[Filestore インスタンス] ページに移動します。
[インスタンスを作成] をクリックし、次のようにインスタンスを構成します。
- [インスタンス ID] を
nfs-serverに設定します。 - [インスタンスのタイプ] を [基本] に設定します。
- [ストレージのタイプ] を [HDD] に設定します。
- [容量の割り当て] を 1
TBに設定します。 - [リージョン] を us-central1、[ゾーン] を us-central1-c に設定します。
- [VPC ネットワーク] を共有 VPC ネットワークに設定します。これは「projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME」の形式で表示されます。
- [ファイル共有名] を
vol1に設定します。 - [割り当てられた IP 範囲] を [自動的に割り当てられた IP 範囲を使用] に設定します。
- [アクセス制御] を [すべてのクライアントへのアクセスを許可する] に設定します。
- [インスタンス ID] を
[作成] をクリックします。
gcloud CLI
次の instances create コマンドを実行します。
gcloud filestore instances create nfs-server \
--project=SERVICE_PROJECT_ID \
--zone=us-central1-c \
--tier=BASIC_HDD \
--file-share=name="vol1",capacity=1TiB \
--network=name="projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME",connect-mode=PRIVATE_SERVICE_ACCESS
以下を置き換えます。
- SERVICE_PROJECT_ID は、Filestore インスタンスを作成するサービス プロジェクトのプロジェクト ID に置き換えます。
- HOST_PROJECT_ID は、共有 VPC ネットワークを含むホスト プロジェクトのプロジェクト ID に置き換えます。
- SHARED_VPC_NAME は、Filestore インスタンスを作成する共有 VPC ネットワークの名前に置き換えます。
省略可: サブネット ルートをインポートする
Filestore インスタンスでパブリック IP(RFC 1918 以外の IP アドレス)を使用し、PSA を有効にすることを選択した場合は、サービス ネットワーキング VPC ピアリングを更新することによってインスタンスのパブリック IP サブネット ルートを共有 VPC ネットワークにインポートして、パブリック IP でサブネット ルートをインポートできるようにする必要があります。詳細については、ピアリング接続を更新するをご覧ください。
サービス プロジェクト クライアントにインスタンスをマウントする
共有 VPC ネットワーク上で Filestore インスタンスを作成したら、そのインスタンスを同じネットワーク上の任意のクライアントにマウントできます。マウントの手順については、Compute Engine クライアントでのファイル共有のマウントをご覧ください。