プライベート サービス アクセスは、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 に合わせてプロセスを調整します。
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
プライベート接続を設定するために必要な権限を取得するには、VPC ネットワークが存在する Google Cloud プロジェクトに対する Compute Engine ネットワーク管理者(
roles/compute.networkAdmin)の IAM ロールの付与を管理者に依頼してください。ロールの付与の詳細については、アクセスの管理をご覧ください。VPC ネットワークで、次の例に示すように
addresses createコマンドを使用して名前付き IP 範囲を割り当てます。アドレス範囲とプレフィックス長(サブネット マスク)を指定するには、
addressesフラグとprefix-lengthフラグを使用します。たとえば、CIDR ブロック 192.168.0.0/17 を割り当てるには、アドレスに192.168.0.0を、プレフィックス長に17を指定します。後述のコマンドデータを使用する前に、次のように置き換えます。
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 ネットワークで使用されていないアドレス範囲が自動的に選択されます。次の例では、17 ビットのプレフィックス長を使用して、未使用の 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].
前の例では、指定された VPC ネットワーク(
my-vpc-networkなど)内の VM インスタンスがプライベート サービス アクセスを使用して、それをサポートする Google サービスにアクセスできるように Google にプライベート接続を作成します。Live Stream API では、リージョンごとに CIDR/17 ブロックを割り当てる必要があります。複数のリージョンで Live Stream API を使用する予定がある場合は、より大きなブロックを割り当てます。次の表は、リージョンの数に応じて割り当てる推奨ブロックサイズを示しています。
リージョンの数 prefix-lengthフラグの値1 17 2 16 3 〜 4 15 5~8 14 9~16 13 サービス プロデューサー VPC ネットワークと お使いの VPC ネットワークの間にプライベート接続を作成します。
プライベート接続を作成します。
後述のコマンドデータを使用する前に、次のように置き換えます。
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)を作成します。
コマンドが成功した場合は、次のステップに進みます。それ以外の場合は、オペレーションのステータスを確認します。
後述のコマンドデータを使用する前に、次のように置き換えます。
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.
(省略可)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.
(省略可)サービス プロデューサーへのオンプレミス アクセスを有効にするには、SRT / RTMP IP アドレスを Cloud Router のカスタム ルート アドバタイズとして追加します。次に、Service Networking VPC ピアリングを更新してカスタムルートをエクスポートし、ピアリング接続を介してローカル ネットワークから接続を拡張します。詳細については、オンプレミス ホストのトラブルシューティングをご覧ください。