建立多點傳播網域

本頁面說明建立多點傳播網域的必要步驟。

如要瞭解 Cloud Multicast 的設定程序,請參閱「Cloud Multicast 設定總覽」。

事前準備

建立多點傳播網域前,請先參閱下列各節。

建立或找出虛擬私有雲網路

如果您尚未建立虛擬私有雲 (VPC) 網路,請先建立一個,做為多點傳播管理員網路。如要進一步瞭解如何建立虛擬私有雲網路,請參閱「建立及管理虛擬私有雲網路」。

如果多點傳播管理員網路也會託管多點傳播供應商或消費者 (例如使用單一虛擬私有雲網路拓撲時),請確保網路具備適當的防火牆規則,允許傳送多點傳播流量。請參閱以下資訊:

設定專案

將 gcloud CLI 設為使用您的專案。或者,您也可以在下列程序中為每個指令加入 --project=MULTICAST_ADMIN_PROJECT 旗標。

    gcloud config set project MULTICAST_ADMIN_PROJECT

將 MULTICAST_ADMIN_PROJECT 替換為專案 ID。

啟用 API

如果您尚未啟用下列 API,請先啟用。

如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您沒有這項權限,請要求 Identity and Access Management (IAM) 管理員授予您 Service Usage 管理員 (roles/serviceusage.serviceUsageAdmin) 角色。

  1. 如要建立多點傳播資源,請啟用 networkservices API:

        gcloud services enable networkservices.googleapis.com
    
  2. 如要建立 Network Connectivity Center (NCC) 虛擬私有雲輪輻,請啟用 networkconnectivity API:

        gcloud services enable networkconnectivity.googleapis.com
    

必要的角色

如要取得建立多點傳播網域所需的權限,請要求管理員授予您下列 IAM 角色:

  • 如要建立及管理網路資源:專案的 Compute 網路管理員 (compute.networkAdmin)
  • 如要建立及管理防火牆規則,請在專案中具備 Compute 安全管理員 (compute.securityAdmin) 角色
  • 如要建立及管理 NCC 中樞和輪輻:專案的中樞和輪輻管理員 (networkconnectivity.hubAdmin)
  • 如要建立多點傳播資源,請在專案中啟用多點傳播管理員 (networkservices.multicastAdmin) 角色

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

設定 NCC

如果您要建立使用 NCC 星狀拓撲的多點傳播網域,請按照本節中的步驟設定中樞。

如果您要建立使用單一虛擬私有雲網路拓撲的多點傳播網域,可以略過本節,直接前往「建立多點傳播網域」。

本節說明如何使用預設星狀拓撲設定 NCC 中樞,以啟用下列功能:

  • 您可以將管理員虛擬私有雲網路新增至中樞,做為中心輪輻。
  • 如果有多播供應商虛擬私有雲網路,該網路可以加入中樞,做為中心輪輻。
  • 多點傳播用戶虛擬私有雲網路可以邊緣輪輻的形式加入中樞。

詳情請參閱 NCC 說明文件中的「星狀拓撲」和「設定中樞」。

gcloud

如要設定 NCC,請按照下列步驟操作:

  1. 如要建立中樞,請使用 network-connectivity hubs create 指令。

      gcloud network-connectivity hubs create HUB_NAME \
        --policy-mode=PRESET \
        --preset-topology=STAR
    

    將 HUB_NAME 替換為中樞名稱。

  2. 如要將虛擬私有雲網路新增為中樞的中心輪輻,請使用 network-connectivity spokes linked-vpc-network create 指令。

      gcloud network-connectivity spokes linked-vpc-network create SPOKE_NAME \
        --hub=projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB_NAME \
        --vpc-network=MULTICAST_ADMIN_NETWORK \
        --group="center" \
        --global
    

    更改下列內容:

    • SPOKE_NAME:輪輻名稱
    • MULTICAST_ADMIN_PROJECT:多點傳播管理員專案的 ID
    • HUB_NAME:先前建立的 NCC 中樞名稱
    • MULTICAST_ADMIN_NETWORK:先前建立的多播 管理員網路名稱

      您也可以使用下列格式,提供多點傳播管理員網路的 URI:projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_ADMIN_NETWORK。

  3. 如要允許多點傳播用戶虛擬私有雲網路加入中樞,請按照下列步驟操作。或者,您也可以繼續設定多點傳播,並稍後再完成這些步驟,詳情請參閱「控管多點傳播網域的存取權」。

    1. 請按照 NCC 說明文件中「授予存取權」一節的步驟,授予其他專案中的多點傳播用戶網路管理員權限,讓他們能向中樞提議虛擬私有雲輪輻。

    2. 請多點傳播用戶網路管理員按照「啟用虛擬私有雲網路以使用多點傳播流量」程序,將其虛擬私有雲網路新增為您建立的中樞輪輻。

    3. 視需要查看提議的虛擬私有雲輪輻,檢查輪輻提案。

    4. 收到輪輻提案後,請按照接受虛擬私有雲輪輻的步驟操作。

建立多點傳播網域

本節說明如何建立多點傳播網域。

建立網域群組

本節說明如何建立多點傳播網域群組。繼續操作之前,請先詳閱下列事項:

  • 如果您打算建立備援網域,建議您建立網域群組,提高網域之間的可用性。

  • 網域群組會明確將兩個相關的網域歸為同一組,請勿為單一網域或兩個以上的網域建立網域群組。

  • 您可以選擇是否要建立網域群組。如果不需要網域群組,可以略過這個步驟。但無法在建立後加入現有網域。

gcloud

如要建立網域群組,請使用 network-services multicast-domain-groups create 指令。

gcloud network-services multicast-domain-groups create DOMAIN_GROUP_NAME \
   --location=global

將 DOMAIN_GROUP_NAME 替換為網域群組名稱。

API

如要建立網域群組,請使用 multicastDomainGroups.create 方法。

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups?multicastDomainGroupId=DOMAIN_GROUP_NAME

更改下列內容:

  • DOMAIN_GROUP_NAME:網域群組名稱
  • MULTICAST_ADMIN_PROJECT:多點傳播管理員專案的 ID

建立網域

建立一或多個與多點傳播管理員虛擬私有雲網路相關聯的多點傳播網域。

gcloud

如要建立網域,請使用 network-services multicast-domains create 指令。

如要使用網域群組,請在建立網域時指定網域群組。網域群組一旦建立,就無法加入網域。如要建立屬於網域群組的網域,您必須執行下列指令兩次,例如建立 DOMAIN_1 和 DOMAIN_2。

   gcloud network-services multicast-domains create DOMAIN_NAME \
      --location=global \
      --admin-network=projects/MULTICAST_ADMIN_PROJECT/locations/global/networks/MULTICAST_ADMIN_NETWORK \
      --connection-type=TOPOLOGY \
      [--ncc-hub=projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB_NAME] \
      [--multicast-domain-group=projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups/DOMAIN_GROUP_NAME]

替換下列值:

  • DOMAIN_NAME:網域名稱
  • MULTICAST_ADMIN_PROJECT:多點傳播管理員專案的 ID
  • MULTICAST_ADMIN_NETWORK:多點傳播管理員的虛擬私有雲網路。如果您使用 NCC 拓撲,這個網路也必須是中樞的一部分,做為中心輪輻,否則無法建立網域。
  • TOPOLOGY:要為 Cloud Multicast 設定的拓撲。指定下列其中一項:
    • SAME_VPC:單一虛擬私有雲網路拓撲。
    • NCC:NCC 星狀拓撲。
  • HUB_NAME:如果您要設定 Network Connectivity Center 星狀拓撲,請指定中樞名稱。
  • DOMAIN_GROUP_NAME:如果您建立了網域群組,請輸入網域群組名稱。

API

如要建立網域,請使用 multicastDomains.create 方法。

如要使用網域群組,請在建立網域時指定網域群組。網域群組一旦建立,就無法加入網域。如要建立屬於網域群組的網域,您必須提出下列 API 要求兩次。舉例來說,請先提出下列要求來建立 DOMAIN_1,然後再次提出要求來建立 DOMAIN_2:

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains?multicastDomainId=DOMAIN_NAME

{
  "adminNetwork": "projects/MULTICAST_ADMIN_PROJECT/locations/global/networks/MULTICAST_ADMIN_NETWORK",
  "connection": {
      "connectionType": "TOPOLOGY",
      "nccHub": "projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB_NAME"
  },
  "multicastDomainGroup": "projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups/DOMAIN_GROUP_NAME"
}

替換下列值:

  • DOMAIN_NAME:網域名稱
  • MULTICAST_ADMIN_PROJECT:多點傳播管理員專案的 ID
  • MULTICAST_ADMIN_NETWORK:多點傳播管理員的虛擬私有雲網路。如果您使用 NCC 拓撲,這個網路也必須是中樞的一部分,做為中心輪輻,否則無法建立網域。
  • TOPOLOGY:要為 Cloud Multicast 設定的拓撲。指定下列其中一項:
    • SAME_VPC:單一虛擬私有雲網路拓撲。
    • NCC:NCC 星狀拓撲。
  • HUB_NAME:如果您要設定 Network Connectivity Center 星狀拓撲,請使用 nccHub 欄位指定中樞名稱。
  • DOMAIN_GROUP_NAME:如果您建立了網域群組,請使用 multicastDomainGroup 欄位輸入網域群組名稱。

啟用網域

在多點傳播產生器或消費者需要傳送或接收多點傳播流量的每個可用區中,啟用網域。在可用區中啟用網域時,Google Cloud 會為該可用區中的網域佈建多點傳播基礎架構。

如果未在特定可用區啟用網域,就無法在該可用區收發多點傳播流量。

gcloud

如要啟用網域,請使用 network-services multicast-domain-activations create 指令。

下列指令需要 10 到 30 分鐘才能完成。

   gcloud network-services multicast-domain-activations create DOMAIN_ACTIVATION_NAME \
      --multicast-domain="projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME" \
      --location=ZONE \
      [--disable-placement-policy] \
      [--aggr-egress-pps=AGGR_EGRESS_PPS] \
      [--aggr-ingress-pps=AGGR_INGRESS_PPS] \
      [--avg-packet-size=AVG_PACKET_SIZE] \
      [--max-per-group-ingress-pps=MAX_PER_GROUP_INGRESS_PPS] \
      [--max-per-group-subscribers=MAX_PER_GROUP_SUBSCRIBERS]

替換下列值:

  • DOMAIN_ACTIVATION_NAME:網域啟用名稱
  • MULTICAST_ADMIN_PROJECT:多點傳播管理員專案的 ID
  • DOMAIN_NAME:要啟用的網域名稱
  • ZONE:要啟用網域的可用區
  • --disable-placement-policy:如果您要啟用網域群組中的網域,可以選擇加入這個旗標,停用建立配置政策的功能。否則, Google Cloud會自動建立配置政策,並可選擇套用至新的或現有多點傳播消費者。
  • 請根據這個可用區中多點傳播流量的需求,指定下列參數。 Google Cloud 會使用這些參數來判斷多點傳播基礎架構的規模。

    指定這些參數前,請先參閱下列資訊:

    • 請參閱 Cloud Multicast 總覽中多播流量的相關限制。
    • 如未提供這些標記, Google Cloud會產生可用於測試的最小設定。
    • 您可以稍後更新這些旗標的設定,詳情請參閱「更新多點傳播網域參數」。
    • 雖然這些旗標為選用,但如果您加入任何旗標,則 --aggr-egress-pps 會成為必要旗標。

    如要進一步瞭解各個標記,請參閱下列內容:

    • AGGR_EGRESS_PPS:指定可用區中網域內所有多點傳播群組的匯總每秒輸出封包數 (pps)。「輸出」是指從多點傳播基礎架構,發布至多點傳播用戶的封包。

      您可以輸入 0 到 500000000 (5 億) 之間的值。預設值為 1000000 (100 萬)。其他欄位的預設值會根據您為這個旗標輸入的值動態設定。

    • AGGR_INGRESS_PPS:指定可用區中,網域內所有多點傳播群組的匯總輸入每秒封包數。「輸入」是指從多點傳播供應端傳送至多點傳播基礎架構的封包。

      您可以輸入 0 到 2000000 (200 萬) 之間的值。您為 --aggr-ingress-pps 輸入的值不得大於 --aggr-egress-pps 的值。

    • AVG_PACKET_SIZE:平均封包大小 (以位元組為單位)。您可以輸入 64 到 1500 之間的值。

    • MAX_PER_GROUP_INGRESS_PPS:指定可用區中,網域內單一多點傳播群組的輸入 pps 上限。使用這個旗標指定網域中最活躍的多點傳播群組,有助於 Google Cloud 更準確地判斷多點傳播基礎架構所需的規模。

      您可以輸入 0 到 2000000 (200 萬) 之間的值。您為 --max-per-group-ingress-pps 輸入的值不得大於 --aggr-ingress-pps 的值。

    • MAX_PER_GROUP_SUBSCRIBERS:指定可用區中,網域內單一多點傳播群組的多點傳播消費者數量上限。使用這個旗標指定多點傳播消費者最多的群組,有助於更準確地判斷多點傳播基礎架構所需的規模。 Google Cloud 加入這個旗標不會強制限制群組的多點傳播用戶數量。

      您可以輸入 1 到 500 之間的值。

API

如要啟用網域,請使用 multicastDomainActivations.create 方法。

下列要求約需 10 到 30 分鐘才能完成。

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_ADMIN_PROJECT/locations/ZONE/multicastDomainActivations?multicastDomainActivationId=DOMAIN_ACTIVATION_NAME

{
  "multicastDomain": "projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME",
  "disablePlacementPolicy": "PLACEMENT_POLICY_DISABLED",
  "trafficSpec": {
    "aggrEgressPps": "AGGR_EGRESS_PPS",
    "aggrIngressPps": "AGGR_INGRESS_PPS",
    "avgPacketSize": "AVG_PACKET_SIZE",
    "maxPerGroupIngressPps": "MAX_PER_GROUP_INGRESS_PPS",
    "maxPerGroupSubscribers": "MAX_PER_GROUP_SUBSCRIBERS"
  }
}

替換下列值:

  • DOMAIN_ACTIVATION_NAME:網域啟用名稱
  • MULTICAST_ADMIN_PROJECT:多點傳播管理員專案的 ID
  • DOMAIN_NAME:要啟用的網域名稱
  • ZONE:要啟用網域的可用區
  • PLACEMENT_POLICY_DISABLED:如果您要啟用網域群組中的網域,可以選擇加入這個欄位並設為 true,停用建立配置政策的功能。否則, Google Cloud 會自動建立配置政策,您可以選擇將政策套用至新的或現有多點傳播消費者。
  • 根據您對這個可用區中多點傳播流量的需求,指定 trafficSpec 物件的值。 Google Cloud 會使用這些參數來決定多點傳播基礎架構的規模。

    指定這些參數前,請先參閱下列資訊:

    • 請參閱 Cloud Multicast 總覽中多播流量的相關限制。
    • 如果要求主體中未包含 trafficSpec 物件, Google Cloud會產生可用於測試的基本設定。
    • 您之後可以按照「更新多點傳播網域參數」一節所述,更新 trafficSpec 設定。
    • 雖然 trafficSpec 中的欄位為選填,但如果您加入任何欄位,aggrEgressPps 就會變成必填欄位。如果加入 trafficSpec 物件和部分欄位,則必須加入 aggrEgressPps。

    如要進一步瞭解各個欄位,請參閱下列資源:

    • AGGR_EGRESS_PPS:指定可用區中網域內所有多點傳播群組的匯總每秒輸出封包數 (pps)。「輸出」是指從多點傳播基礎架構,發布至多點傳播用戶的封包。

      您可以輸入 0 到 500000000 (5 億) 之間的值。預設值為 1000000 (100 萬)。其他欄位的預設值會根據您在這個欄位輸入的值動態設定。

    • AGGR_INGRESS_PPS:指定可用區中,網域內所有多點傳播群組的匯總輸入每秒封包數。「輸入」是指從多點傳播供應端傳送至多點傳播基礎架構的封包。

      您可以輸入 0 到 2000000 (200 萬) 之間的值。您為 aggrIngressPps 輸入的值不得大於 aggrEgressPps 的值。

    • AVG_PACKET_SIZE:平均封包大小 (以位元組為單位)。您可以輸入 64 到 1500 之間的值。

    • MAX_PER_GROUP_INGRESS_PPS:指定可用區中,網域內單一多點傳播群組的輸入 pps 上限。使用這個旗標指定網域中最活躍的多點傳播群組,有助於 Google Cloud 更準確地判斷多點傳播基礎架構所需的規模。

      您可以輸入 0 到 2000000 (200 萬) 之間的值。您為 maxPerGroupIngressPps 輸入的值不得大於 aggrIngressPps 的值。

    • MAX_PER_GROUP_SUBSCRIBERS:指定可用區中,網域內單一多點傳播群組的多點傳播消費者數量上限。使用這個旗標指定多點傳播消費者最多的群組,有助於更準確地判斷多點傳播基礎架構所需的規模。 Google Cloud 提供這項規格不會強制限制群組的多點傳播用戶數量。

      您可以輸入 1 到 500 之間的值。

後續步驟