ライブ ストリームを処理するには、取り込み、コード変換、多重化などのタスクを行う複数のコンポーネントを管理する必要があります。Live Stream API はプールを使用してこれらのコンポーネントとリソースを内部で管理します。プールは、リージョンごとに各 Google Cloud プロジェクトに割り当てられる処理ユニットで、特定のリージョン内のすべてのチャネル間で共有されます。
デフォルトでは
Input
パブリック IP アドレスを含むエンドポイント URI が提供されます。この URI では、入力ストリームを送信できますオンプレミス ネットワークからストリーミングする場合でも、 Google Cloud Virtual Private Cloud(VPC)ネットワークからストリーミングする場合でも、データはパブリック インターネットを経由してライブ配信サービス エンドポイントに到達します。
別の方法として、ライブ ストリーム サービスへのプライベート サービス アクセスを設定することもできます。プライベート サービス アクセスは、Google Cloud Virtual Private Cloud(VPC)ネットワークと Google マネージドまたはサードパーティ サービス間の安全なプライベート接続です。この接続により、VPC ネットワーク内の VM インスタンスは、内部 IP アドレスを使用してこれらのサービスと通信できます。トラフィックを公共のインターネットに公開する必要はありません。Live Stream API でプライベート サービス アクセスを有効にすると、VPC ネットワークから内部 IP アドレスが予約され、入力エンドポイントとして使用されます。これには次のような利点があります。
- セキュリティの向上: プライベート サービス アクセスを使用すると、トラフィックを公共のインターネットに公開することなく、Live Stream API 入力エンドポイントに接続できます。これにより、セキュリティ対策を強化し、データ侵害のリスクを軽減できます。
- パフォーマンスの向上: プライベート サービス アクセスを使用すると、公衆インターネットを回避することで接続のパフォーマンスを向上させることができます。これは、低レイテンシと高スループットを実現する場合に特に有益です。
また、プライベート サービス アクセスを Cloud Interconnect または Cloud VPN と組み合わせて、オンプレミス ネットワークとライブ配信サービスの間にエンドツーエンドのプライベート接続を提供することもできます。
始める前に
プライベート プールを構成するには、次の前提条件を満たします。
- サービス プロデューサーのネットワークへの接続に使用する既存の VPC ネットワークが必要です。VM インスタンスは、この VPC ネットワークを使用してプライベート接続経由でサービスに接続する必要があります。
- VPC ネットワークで限定公開サービス アクセスを構成する必要があります。
- リージョン内のすべてのチャネルを停止する必要があります。停止しないと、Live Stream API はプールのピアリング ネットワークを更新するリクエストを拒否します。
- プールが更新されている間は、リージョン内のすべてのチャネルを開始できません。
プライベート プールを構成する
デフォルト プールがすでに作成されていることを確認します。ロケーションのデフォルト プールは、最初の
Input
リソースを作成するときに作成されます。リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある、 Google Cloud プロジェクト番号LOCATION
: すでに入力を作成済みの、サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME }
ピアリングされたネットワーク名でプールを更新します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある、 Google Cloud プロジェクト番号LOCATION
: デフォルト プールのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
NETWORK
: サービスとピアリングする現在のプロジェクトのネットワークのユーザー定義の識別子。
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
このリクエストにより長時間実行オペレーションが開始されます。返された OPERATION_ID をコピーして、次の手順で使用します。
projects.locations.operations.get
メソッドを使用して、更新が完了したかどうかを確認します。プールの更新が完了するまでに最大 30 分かかる場合があります。レスポンスに"done: false"
が含まれている場合は、レスポンスに"done: true"
が含まれるまでリクエストを繰り返します。リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある、 Google Cloud プロジェクト番号LOCATION
: リソースがあるロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Pool", "name": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "networkConfig": { "peeredNetwork": "projects/PROJECT_NUMBER/global/networks/NETWORK" } }
更新後、リージョン内の既存(および将来の)入力エンドポイントのすべての URI は、指定された VPC ネットワークから予約された内部 IP アドレスになります。入力エンドポイントを一覧表示して、更新された URI を確認します。
公開プールに切り替える
パブリック プールに戻すには、ピアリング先のネットワークとして空の文字列を指定し、名前を指定します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある、 Google Cloud プロジェクト番号LOCATION
: デフォルト プールのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
projects.locations.operations.get
メソッドを使用して、更新が完了したかどうかを確認します。