プライベート サービス アクセスを構成する

プライベート サービス アクセスは、Google Cloud Virtual Private Cloud(VPC)ネットワークと Google マネージドまたはサードパーティ サービス間の安全なプライベート接続です。これにより、VPC ネットワーク内の VM インスタンスは、内部 IP アドレスを使用してこれらのサービスと通信できます。トラフィックを公共のインターネットに公開する必要はありません。

始める前に

プライベート接続を確立するには、前提条件となる次の手順を行います。

  • サービス プロデューサーのネットワークへの接続に使用する既存の VPC ネットワークが必要です。VM インスタンスは、この VPC ネットワークを使用してプライベート接続経由でサービスに接続する必要があります。
  • Live Stream API の始める前にのページの手順に沿って、適切に構成された Google Cloud プロジェクトを作成します(または既存のプロジェクトを選択します)。

Live Stream API のプライベート サービス アクセスを有効にする

プライベート サービス アクセスを構成する一般的な手順については、Virtual Private Cloud のドキュメントをご覧ください。このページでは、このプロセスを Live Stream API に適応させます。

  1. Google Cloud CLI をインストールして構成します

  2. Service Networking API を有効にします。

    次のコマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud services enable servicenetworking.googleapis.com
    

    Windows(PowerShell)

    gcloud services enable servicenetworking.googleapis.com
    

    Windows(cmd.exe)

    gcloud services enable servicenetworking.googleapis.com
    

  3. プライベート接続を設定するために必要な権限を取得するには、VPC ネットワークが存在する Google Cloud プロジェクトに対する Compute Engine ネットワーク管理者roles/compute.networkAdmin)の IAM ロールの付与を管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールを使用しても取得できます。

  4. 次の例に示すように、VPC ネットワークで addresses create コマンドを使用して名前付き IP 範囲を割り当てます。

    アドレス範囲とプレフィックス長(サブネット マスク)を指定するには、addresses フラグと prefix-length フラグを使用します。たとえば、CIDR ブロック 192.168.0.0/13 を割り当てるには、アドレスに 192.168.0.0 を、プレフィックス長に 13 を指定します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • RESERVED_RANGE_NAME: 割り当て範囲の名前(my-allocated-range など)。
    • DESCRIPTION: 範囲の説明(allocated for my-service など)。
    • VPC_NETWORK: VPC ネットワークの名前(my-vpc-network など)。

    次のコマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud compute addresses create RESERVED_RANGE_NAME \
        --global \
        --purpose=VPC_PEERING \
        --addresses=192.168.0.0 \
        --prefix-length=13 \
        --description="DESCRIPTION" \
        --network=VPC_NETWORK
    

    Windows(PowerShell)

    gcloud compute addresses create RESERVED_RANGE_NAME `
        --global `
        --purpose=VPC_PEERING `
        --addresses=192.168.0.0 `
        --prefix-length=13 `
        --description="DESCRIPTION" `
        --network=VPC_NETWORK
    

    Windows(cmd.exe)

    gcloud compute addresses create RESERVED_RANGE_NAME ^
        --global ^
        --purpose=VPC_PEERING ^
        --addresses=192.168.0.0 ^
        --prefix-length=13 ^
        --description="DESCRIPTION" ^
        --network=VPC_NETWORK
    

    次のようなレスポンスが返されます。

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].

    プレフィックス長のみを指定するには、prefix-length フラグを使用します。アドレス範囲を省略すると、Google Cloud は VPC ネットワークで使用されていないアドレス範囲を自動的に選択します。次の例では、13 ビットのプレフィックス長を使用して、未使用の IP アドレス範囲を選択しています。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • RESERVED_RANGE_NAME: 割り当て範囲の名前(my-allocated-range など)。
    • DESCRIPTION: 範囲の説明(allocated for my-service など)。
    • VPC_NETWORK: VPC ネットワークの名前(my-vpc-network など)。

    次のコマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud compute addresses create RESERVED_RANGE_NAME \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=13 \
        --description="DESCRIPTION" \
        --network=VPC_NETWORK
    

    Windows(PowerShell)

    gcloud compute addresses create RESERVED_RANGE_NAME `
        --global `
        --purpose=VPC_PEERING `
        --prefix-length=13 `
        --description="DESCRIPTION" `
        --network=VPC_NETWORK
    

    Windows(cmd.exe)

    gcloud compute addresses create RESERVED_RANGE_NAME ^
        --global ^
        --purpose=VPC_PEERING ^
        --prefix-length=13 ^
        --description="DESCRIPTION" ^
        --network=VPC_NETWORK
    

    次のようなレスポンスが返されます。

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].

    上記の例では、Google へのプライベート接続を作成して、指定された VPC ネットワーク内の VM インスタンス(my-vpc-network など)がプライベート サービス アクセスを使用して、それをサポートする Google サービスにアクセスできるようにします。

    Live Stream API では、リージョンごとに CIDR/13 ブロックを割り当てる必要があります。Live Stream API を複数のリージョンで使用する予定の場合は、より大きなブロックを割り当てます。次の表は、リージョン数に応じて割り当てる推奨ブロックサイズを示しています。

    リージョンの数prefix-length フラグの値。
    113
    212
    3 〜 411
    5 ~ 810
    7 ~ 169
  5. サービス プロデューサー VPC ネットワークと お使いの VPC ネットワークの間にプライベート接続を作成します。

    1. プライベート接続を作成します。

      後述のコマンドデータを使用する前に、次のように置き換えます。

      • RESERVED_RANGE_NAME: 前の手順で作成した割り当て範囲の名前
      • VPC_NETWORK: VPC ネットワークの名前
      • PROJECT_ID: VPC ネットワークが含まれるプロジェクトの Google Cloud プロジェクト ID

      次のコマンドを実行します。

      Linux、macOS、Cloud Shell

      gcloud services vpc-peerings connect \
          --service=servicenetworking.googleapis.com \
          --ranges=RESERVED_RANGE_NAME \
          --network=VPC_NETWORK \
          --project=PROJECT_ID
      

      Windows(PowerShell)

      gcloud services vpc-peerings connect `
          --service=servicenetworking.googleapis.com `
          --ranges=RESERVED_RANGE_NAME `
          --network=VPC_NETWORK `
          --project=PROJECT_ID
      

      Windows(cmd.exe)

      gcloud services vpc-peerings connect ^
          --service=servicenetworking.googleapis.com ^
          --ranges=RESERVED_RANGE_NAME ^
          --network=VPC_NETWORK ^
          --project=PROJECT_ID
      

      次のようなレスポンスが返されます。

      Operation "operations/OPERATION_ID" finished successfully.

      このコマンドは、長時間実行オペレーション(LRO)を作成します。

    2. コマンドが成功した場合は、次のステップに進みます。それ以外の場合は、オペレーションのステータスを確認します。

      後述のコマンドデータを使用する前に、次のように置き換えます。

      • OPERATION_ID: 前のステップで返されたオペレーションの ID

      次のコマンドを実行します。

      Linux、macOS、Cloud Shell

      gcloud services vpc-peerings operations describe \
        --name=operations/OPERATION_ID
      

      Windows(PowerShell)

      gcloud services vpc-peerings operations describe `
        --name=operations/OPERATION_ID
      

      Windows(cmd.exe)

      gcloud services vpc-peerings operations describe ^
        --name=operations/OPERATION_ID
      

      次のようなレスポンスが返されます。

      Operation "operations/OPERATION_ID" finished successfully.

  6. (省略可)VPC Service Controls を使用している場合は、作成したプライベート接続の VPC-SC を有効にする必要があります。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • VPC_NETWORK: VPC ネットワークの名前

    次のコマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud services vpc-peerings enable-vpc-service-controls \
        --service=servicenetworking.googleapis.com \
        --network=VPC_NETWORK
    

    Windows(PowerShell)

    gcloud services vpc-peerings enable-vpc-service-controls `
        --service=servicenetworking.googleapis.com `
        --network=VPC_NETWORK
    

    Windows(cmd.exe)

    gcloud services vpc-peerings enable-vpc-service-controls ^
        --service=servicenetworking.googleapis.com ^
        --network=VPC_NETWORK
    

    次のようなレスポンスが返されます。

    Operation "operations/OPERATION_ID" finished successfully.

  7. (省略可)オンプレミス ネットワークが VPC に接続している場合、オンプレミス ホストがサービス プロデューサーのネットワークと通信できるように、ピアリング接続を構成できます。詳細については、オンプレミス ホストのトラブルシューティングをご覧ください。