サービス プロジェクトの共有 VPC ネットワーク上にインスタンスを作成する


このチュートリアルでは、サービス プロジェクトから共有 VPC ネットワークに Filestore インスタンスを作成するプロセスについて説明します。

共有 VPC ネットワークには、ホスト プロジェクトまたは関連するサービス プロジェクトの 1 つで Filestore インスタンスを作成できます。ホスト プロジェクトでインスタンスを作成する場合、共有 VPC ネットワークを通常どおり選択でき、サービス プロジェクト クライアントはインスタンスに接続できます。ただし、サービス プロジェクトでインスタンスを作成する場合は、最初にホスト プロジェクトから共有 VPC ネットワークでのプライベート サービス アクセスを有効にする必要があります。

目標

料金

このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。 新しい Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。

始める前に

  1. Make sure that billing is enabled for your Google Cloud project.

  2. ホスト プロジェクトと接続されたサービス プロジェクトで共有 VPC ネットワークを作成します。
  3. Enable the Filestore and Service Networking APIs.

    Enable the APIs

共有 VPC ネットワークでプライベート サービス アクセスを有効にする。

共有 VPC ネットワークを使用するサービス プロジェクトで Filestore インスタンスを作成するには、共有 VPC ネットワークでプライベート サービス アクセス(PSA)を有効にする必要があります。特定の Filestore の要件については、予約済み IP アドレス範囲の構成をご覧ください。

共有 VPC ネットワークでプライベート サービス アクセスが有効になっているかどうかを確認する

次のいずれかの方法で、共有 VPC ネットワークでプライベート サービス アクセスがすでに有効になっているかどうかを確認します。

Google Cloud コンソール

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

    Filestore インスタンス ページに移動

  2. [インスタンスを作成] をクリックします。

  3. 使用する共有 VPC ネットワークを選択します。

  4. [ネットワークの詳細オプション] をクリックします。

  5. [プライベート サービス アクセス接続] セクションに、プライベート サービス アクセスが有効になっているかが表示されます。

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 アドレス範囲を予約する

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] ページに移動

  2. 使用する共有 VPC ネットワークを含むホスト プロジェクトを選択します。

  3. Filestore インスタンスを作成する共有 VPC ネットワークの名前をクリックします。

  4. [プライベート サービス接続] タブを選択します。

  5. [プライベート サービス接続] タブで、[サービスに割り当てられた IP 範囲] タブを選択します。

  6. [IP 範囲の割り当て] をクリックし、次のように構成します。

    • 名前: google-service-range
    • 説明: Peering range for Google managed services
    • IP 範囲

      • [自動] を選択します。
      • テキスト フィールドに接頭辞として「20」と入力します。この範囲はすべての Google Cloud マネージド サービスで使用されるため、実際には、より大きな範囲が必要になる場合があります。基本階層インスタンスには、接頭辞 /29 が必要で、高容量範囲(以前の高スケール SSD)を持つゾーン階層インスタンスと低容量範囲を持つゾーン階層インスタンスには、/26 接頭辞が必要です。
  7. [割り当て] をクリックして、割り振る範囲を作成します。

共有 VPC ネットワークと Google マネージド サービス ネットワークのプライベート接続を作成する

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] ページに移動

  2. 使用する共有 VPC ネットワークを含むホスト プロジェクトを選択します。

  3. Filestore インスタンスを作成する共有 VPC ネットワークの名前をクリックします。

  4. [プライベート サービス接続] タブを選択します。

  5. [プライベート サービス接続] タブで、[サービスへのプライベート接続] タブを選択します。

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

  7. [割り当て] で [google-service-range] を選択します。

  8. [接続] をクリックして接続を作成します。

gcloud CLI

  1. 次の 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 に置き換えます。
  2. 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 に置き換えます。

    このコマンドは、長時間実行オペレーションを開始し、オペレーション名を戻します。

  3. services vpc-peerings operations describe コマンドを使用して、オペレーションが成功したかどうかを確認します。

    gcloud services vpc-peerings operations describe \
        --name=OPERATION_NAME
    

    OPERATION_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 コンソール

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

    Filestore インスタンス ページに移動

  2. [インスタンスを作成] をクリックし、次のようにインスタンスを構成します。

    • [インスタンス 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 範囲を使用] に設定します。
    • [アクセス制御] を [すべてのクライアントへのアクセスを許可する] に設定します。
  3. [作成] をクリックします。

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 クライアントでのファイル共有のマウントをご覧ください。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

Filestore インスタンスを削除する

Google Cloud コンソール

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

    Filestore インスタンス ページに移動

  2. nfs-server インスタンス ID をクリックして、インスタンスの詳細ページを開きます。

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

  4. プロンプトが表示されたら、インスタンス ID を入力します。

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

gcloud CLI

instances delete コマンドを使用して、nfs-server インスタンスを削除します。

gcloud filestore instances delete nfs-server --zone=us-central1-c

次のステップ