プライベート プールを構成する

ライブ ストリームを処理するには、取り込み、コード変換、多重化などのタスクを行う複数のコンポーネントを管理する必要があります。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 はプールのピアリング ネットワークを更新するリクエストを拒否します。
  • プールの実行中には、リージョン内のすべてのチャンネルを開始できません を更新しました。

プライベート プールを構成する

  1. デフォルトのプールがすでに作成されていることを確認します。ロケーションのデフォルト プール 新しい Deployment を作成する際に 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-northeast1
      • asia-southeast1
      • australia-southeast1
      • europe-west1
      • europe-west2
      • europe-west3
      • europe-west4

    リクエストを送信するには、次のいずれかのオプションを開きます。

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

    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME
    }
    

  2. ピアリングされたネットワーク名でプールを更新します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • 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-northeast1
      • asia-southeast1
      • australia-southeast1
      • 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 をコピーして、次の手順で使用します。

  3. 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-northeast1
      • asia-southeast1
      • australia-southeast1
      • 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-northeast1
    • asia-southeast1
    • australia-southeast1
    • 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 メソッドを使用して、更新が完了したかどうかを確認します。