配置专用池

处理直播需要管理多个用于执行提取、转码和多路复用等任务的组件。Live Stream API 使用在内部管理这些组件和资源。池是按区域为每个 Google Cloud 项目分配的处理单元,在指定区域中的所有渠道之间共享。

默认情况下,创建 Input 资源时,您会获得一个端点 URI,其中包含一个公共 IP 地址,您可以通过该 IP 地址发送输入流。无论您是从本地网络还是从 Google Cloud Virtual Private Cloud (VPC) 网络进行流式传输,数据都会通过公共互联网到达直播服务端点。

流式传输到公共互联网。

作为替代方案,您可以设置对直播服务的专用服务访问通道。专用服务访问通道是 Google Cloud 虚拟私有云 (VPC) 网络与 Google 管理的或第三方服务之间的安全专用连接。借助此连接,VPC 网络中的虚拟机实例可以使用内部 IP 地址与这些服务通信,而无需向公共互联网公开流量。在 Live Stream API 中启用专用服务访问通道时,系统将从您的 VPC 网络中预留一个内部 IP 地址,以用作输入端点。这样做具有以下优势:

  • 提高安全性:借助专用服务访问通道,您可以连接到 Live Stream API 输入端点,而不会向公共互联网公开您的流量。这有助于改善您的安全状况并降低数据泄露风险。
  • 提高性能:专用服务访问通道可以避开公共互联网,从而提高连接性能。这对于实现更低的延迟和更高的吞吐量特别有用。

您还可以将专用服务访问通道与 Cloud Interconnect 或 Cloud VPN 配对,以便在本地网络与直播服务之间提供端到端专用连接。

流式传输到专用端点。

准备工作

如需配置专用池,请满足以下前提条件:

  • 您必须具有可用于连接到服务提供方网络的现有 VPC 网络。虚拟机实例必须使用此 VPC 网络通过专用连接来连接到服务。
  • 您必须在 VPC 网络上配置专用服务访问通道
  • 必须停止该区域中的所有频道,否则 Live Stream API 会拒绝更新该池对等互连网络的请求。
  • 在更新池时,该区域中的所有频道均无法启动。

配置专用池

  1. 确保已创建默认池。创建第一个 Input 资源时,系统会创建位置的默认池。

    在使用任何请求数据之前,请先进行以下替换:

    • PROJECT_NUMBER:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
    • 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:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
    • 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:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
    • 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:操作的标识符

    如需发送您的请求,请展开以下选项之一:

    您应该收到类似以下内容的 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:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
  • 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 方法检查更新是否已完成。