啟用虛擬私有雲網路,產生多點傳播流量

本頁說明如何在Google Cloud 中設定資源,允許虛擬私有雲網路中的多點傳播供應端,為特定多點傳播網域和一或多個群組範圍傳送多點傳播流量。

事前準備

開始執行本頁面的程序前,請先完成下列各節的必要條件。

確認已完成多點傳播網域和群組範圍設定

確認您已完成要產生多點傳播流量的多點傳播網域和多點傳播群組範圍設定,如「Cloud Multicast 設定總覽」一文所述。如有需要,請與網域的多點播送管理員聯絡。

設定專案

本頁的程序要求您在多點傳播管理員的專案中建立多點傳播供應端資源。這個專案包含多點傳播網域和群組範圍資源。

將 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) 管理員授予您「服務使用情形管理員」(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 Network Admin (compute.networkAdmin)
  • 如要建立及管理防火牆規則: 多點傳播管理員專案的 Compute 安全管理員 (compute.securityAdmin)
  • 如要建立 NCC 輪輻:多點傳播管理員專案的輪輻管理員 (networkconnectivity.spokeAdmin)
  • 如要建立多點傳播資源:多點傳播管理員專案的「多點傳播管理員」(networkservices.multicastAdmin)

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

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

建立虛擬私有雲網路並新增至中樞

如果多播網域使用 NCC 星狀拓撲,其中有一或多個獨立的多播供應商 VPC 網路,則必須完成本節中的步驟。

如果多播網域使用單一虛擬私有雲網路拓撲,或多播網域使用 Network Connectivity Center 星狀拓撲,且多播管理員網路也做為多播供應商網路,則可以略過這個步驟,直接前往啟用虛擬私有雲網路以產生多播流量的步驟。

Create a VPC network

本節說明如何建立虛擬私有雲 (VPC) 網路,以產生多點播送流量。

如要進一步瞭解如何建立虛擬私有雲網路,請參閱「建立及管理虛擬私有雲網路」。

gcloud

  1. 使用 compute networks create 指令建立虛擬私有雲網路。

    gcloud compute networks create MULTICAST_PRODUCER_NETWORK --subnet-mode=custom
    

    將 MULTICAST_PRODUCER_NETWORK 替換為多播供應商虛擬私有雲網路的名稱。

  2. 使用 compute networks subnets create 指令,新增一或多個子網路來代管多播製作人。

    gcloud compute networks subnets create SUBNET \
       --network=MULTICAST_PRODUCER_NETWORK \
       --range=PRIMARY_RANGE \
       --region=REGION
    

    替換下列值:

    • SUBNET:子網路名稱
    • MULTICAST_PRODUCER_NETWORK:您先前建立的多播供應商網路名稱
    • PRIMARY_RANGE:子網路的主要 IPv4 範圍,採用 CIDR 標記法。詳情請參閱「IPv4 子網路範圍」。
    • REGION:建立新子網路的 Google Cloud 區域。必須是支援多點傳播的區域,例如 us-east5。

新增防火牆規則

本節說明如何在多播製作人虛擬私有雲網路中,為多播流量建立防火牆規則。

如要建立其他防火牆規則 (例如 SSH),請參閱「建立虛擬私有雲防火牆規則」。

允許輸出多點傳播流量

本節說明如何建立防火牆規則,允許虛擬私有雲網路的輸出多點播送流量。

所有虛擬私有雲網路都有預設的 IPv4 允許輸出規則,優先順序最低 (65535)。如果沒有優先順序較高的規則明確封鎖輸出流量,則不需要完成這個步驟。詳情請參閱「隱含規則」。

這項指令會預先填入範例防火牆規則名稱。 請注意,防火牆規則名稱在專案中不得重複。

gcloud

如要建立防火牆規則,允許虛擬私有雲網路傳送多點傳播輸出流量,請使用 compute firewall-rules create 指令。

gcloud compute firewall-rules create allow-multicast-egress --direction=EGRESS \
   --priority=1000 \
   --network=MULTICAST_PRODUCER_NETWORK \
   --action=ALLOW \
   --rules=udp[:PORT[-PORT]] \
   --destination-ranges=MULTICAST_GROUP_IP_RANGES

替換下列值:

  • MULTICAST_PRODUCER_NETWORK:您先前建立的多播供應商網路名稱
  • PORT:防火牆規則適用的通訊埠清單。 Google Cloud 會使用 udp 處理多點播送流量。您可以在通訊協定後方指定通訊埠或通訊埠範圍,防火牆規則會套用至透過特定通訊埠的流量。如未指定任何連接埠或連接埠範圍,系統會套用所有範圍的連線。

    舉例來說,指定 --rules=udp:1234 即可允許透過通訊埠 1234 傳輸多點播送流量。

    您也可以視需要使用 --rules=all 允許所有通訊協定和通訊埠。

  • MULTICAST_GROUP_IP_RANGES:多點傳播群組的 IP 位址範圍,多點傳播供應者會將流量傳送至這些群組。多點播送 IP 位址範圍必須是 D 類位址範圍,例如您可以使用 224.0.0.0/4 允許所有多點播送流量。

將虛擬私有雲網路新增至 NCC 中樞

本節說明如何將虛擬私有雲網路新增至多播管理員建立的 NCC 中樞。如要新增網路,請在中心群組中建立虛擬私有雲輪輻。

詳情請參閱 NCC 文件中的「星狀拓撲」和「建立虛擬私有雲輪輻」。

gcloud

如要將虛擬私有雲網路新增為中樞的中心輪輻,請使用 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_PRODUCER_NETWORK \
     --group="center" \
     --global \
     --include-export-ranges=INCLUDE_RANGES

替換下列值:

  • SPOKE_NAME:Spoke 名稱
  • MULTICAST_ADMIN_PROJECT:多點傳播管理員專案的 ID
  • HUB_NAME:多點傳播管理員建立的 NCC 中樞名稱
  • MULTICAST_PRODUCER_NETWORK:您先前建立的多播供應商網路名稱

    或者,您也可以使用下列格式提供多播製作人網路的 URI: projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_PRODUCER_NETWORK。

  • INCLUDE_RANGES:以半形逗號分隔的 IP 位址範圍清單,這些範圍會匯出至中樞。

    根據預設,輪輻會匯出所有子網路範圍。為避免與中樞上的其他輪輻重疊,您可以指定要匯出的子網路範圍。如果指定子網路範圍,請務必納入代管多點傳播製作人的範圍,以及與其他輪輻通訊所需的任何其他範圍,例如單點傳播流量。

    Google Cloud 禁止虛擬私有雲支點間的子網路重疊,如「子網路路徑獨特性」一文所述。如要進一步瞭解如何使用匯出篩選條件避免重疊,請參閱「使用匯出篩選條件的虛擬私有雲連線」。

啟用虛擬私有雲網路,產生多點傳播流量

本節說明如何啟用虛擬私有雲網路中的多點傳播供應端,以便傳送特定網域和一或多個群組範圍的多點傳播流量。

將多點傳播供應商虛擬私有雲網路新增至網域

本節說明如何建立網路與網域之間的多點傳播供應端關聯,將多點傳播供應端虛擬私有雲網路新增至網域。

針對要代管多播製作人的每個區域,完成下列步驟。

gcloud

如要將多點傳播供應商虛擬私有雲網路新增至網域,請使用 network-services multicast-producer-associations create 指令。

   gcloud network-services multicast-producer-associations create PRODUCER_ASSOCIATION_NAME \
      --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
      --network=projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK \
      --location=ZONE

替換下列值:

  • PRODUCER_ASSOCIATION_NAME:多點傳播供應端關聯的名稱
  • ADMIN_PROJECT:多點傳播管理員專案的 ID
  • ZONE:管理員啟用多點傳播網域的區域,也是您代管多點傳播製作人的區域
  • DOMAIN_ACTIVATION_NAME:多點傳播管理員建立的網域啟用名稱
  • MULTICAST_PRODUCER_NETWORK:產生多點播送流量的虛擬私有雲網路。多點傳播管理員網路或獨立的多點傳播供應端網路,視網域的多點傳播拓撲而定。

API

如要將多播供應商虛擬私有雲網路新增至網域,請使用 multicastProducerAssociations.create 方法。

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations?multicastProducerAssociationId=PRODUCER_ASSOCIATION_NAME
{
  "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
  "network": "projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK"
}

替換下列值:

  • PRODUCER_ASSOCIATION_NAME:多點傳播供應端關聯的名稱
  • ADMIN_PROJECT:多點傳播管理員專案的 ID
  • ZONE:管理員啟用多點傳播網域的區域,也是您代管多點傳播供應者的區域。
  • DOMAIN_ACTIVATION_NAME:多點傳播管理員建立的網域啟用名稱
  • MULTICAST_PRODUCER_NETWORK:產生多點播送流量的虛擬私有雲網路。多點傳播管理員網路或獨立的多點傳播供應端網路,視網域的多點傳播拓撲而定。

為群組範圍啟用多點傳播供應端虛擬私有雲網路

本節說明如何為群組範圍啟用多點傳播供應端虛擬私有雲網路。

針對要產生多點傳播流量的每個多點傳播群組範圍和區域,完成下列步驟。

gcloud

如要為群組範圍啟用多點傳播供應端虛擬私有雲網路,請使用 network-services multicast-group-producer-activations create 指令。

   gcloud network-services multicast-group-producer-activations create GROUP_PRODUCER_ACTIVATION_NAME \
      --multicast-producer-association="projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME" \
      --multicast-group-range-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME" \
      --location=ZONE

替換下列值:

  • GROUP_PRODUCER_ACTIVATION_NAME:多播群組供應端啟用作業的名稱
  • ADMIN_PROJECT:多點傳播管理員的專案 ID
  • ZONE:啟用多點播送供應商網路的區域。可用區中也必須存在對應的多點傳播供應端關聯和多點傳播群組範圍啟用作業。
  • PRODUCER_ASSOCIATION_NAME:先前建立的多點傳播供應者關聯名稱
  • GROUP_RANGE_ACTIVATION_NAME:多點傳播管理員建立的多點傳播群組範圍啟用作業名稱

API

如要為群組範圍啟用多點傳播供應端虛擬私有雲網路,請使用 multicastGroupProducerActivations.create 方法。

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastGroupProducerActivations?multicastGroupProducerActivationId=GROUP_PRODUCER_ACTIVATION_NAME
{
  "multicastProducerAssociation": "projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME",
  "multicastGroupRangeActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME"
}

替換下列值:

  • GROUP_PRODUCER_ACTIVATION_NAME:多播群組供應端啟用作業的名稱
  • ADMIN_PROJECT:多點傳播管理員的專案 ID
  • ZONE:啟用多點播送供應商網路的區域。可用區中也必須存在對應的多點傳播供應端關聯和多點傳播群組範圍啟用作業。
  • PRODUCER_ASSOCIATION_NAME:先前建立的多點傳播供應者關聯名稱
  • GROUP_RANGE_ACTIVATION_NAME:多點傳播管理員建立的多點傳播群組範圍啟用作業名稱

建立多點傳播供應商執行個體

如果還沒有,請建立一或多個 Compute Engine 執行個體,執行會產生多點播送流量的應用程式。請參閱以下資訊:

與多點傳播用戶端執行個體不同,多點傳播供應端執行個體不需要設定 IGMP,即可將流量傳送至多點傳播群組,無須加入群組。

後續步驟