設定多點傳播消費者執行個體

本頁說明如何設定 Compute Engine 執行個體,以便接收多點播送流量。接收多點傳播流量的執行個體稱為多點傳播消費者

本頁面的程序說明如何設定多播消費者,如下所示:

如要進一步瞭解設定執行個體後 IGMPv2 的運作方式,請參閱「IGMPv2 的運作方式」。

事前準備

建立多播消費者執行個體前,請參閱下列各節。

查看多點播送消費者適用的電腦和作業系統注意事項

為確保最佳成效,請詳閱下列指引,並據此建立執行個體:

檢查是否有預先設定的刊登位置政策

如果多播管理員為多餘的多播網域設定網域群組,則 Google Cloud 會自動提供選用的放置政策,除非多播管理員在啟用網域時停用了該政策。將這項放置政策套用至新執行個體或現有執行個體時,Compute Engine 會盡量將執行個體放置在對應區域中,最靠近多點傳播網域基礎架構的位置。

如要確認你是否適用刊登位置政策,請按照下列步驟操作:

  1. 查看您打算建立執行個體的區域,其多點傳播用戶關聯的詳細資料。請參閱「查看多點傳播用戶關聯」。

  2. 如果輸出內容的 placementPolicy 欄位包含刊登位置政策名稱,您就可以在建立新執行個體或設定現有執行個體時套用刊登位置政策。請記下這個值,以便在本頁完成程序時使用。

建立多點播送消費者執行個體

本節說明如何建立新執行個體,啟用 IGMP 並視需要使用選用放置政策,做為多點播送消費者。

如要進一步瞭解如何建立執行個體,請參閱「建立及啟動 Compute Engine 執行個體」。

gcloud

  1. 如要建立新的多點播送消費者執行個體,請使用 compute instances create 指令,並指定 igmp-query 旗標:

    gcloud compute instances create INSTANCE_NAME \
       --zone=ZONE \
       --network-interface=network=MULTICAST_CONSUMER_NETWORK,subnet=MULTICAST_CONSUMER_SUBNET,igmp-query=IGMP_QUERY_V2[,no-address] \
       --machine-type=MACHINE_TYPE \
       --image-project=IMAGE_PROJECT \
       --image-family=IMAGE_FAMILY_NAME \
       [--maintenance-policy=MAINTENANCE_POLICY] \
       [--resource-policies=PLACEMENT_POLICY_NAME] \
       [--shielded-secure-boot] \
       [--shielded-vtpm] \
       [--shielded-integrity-monitoring]
    

    替換下列值:

    • INSTANCE_NAME:執行個體的名稱
    • ZONE:要建立執行個體的可用區。必須是您啟用多點傳播用戶虛擬私有雲網路的區域,該網路會代管執行個體。
    • MULTICAST_CONSUMER_NETWORKMULTICAST_CONSUMER_SUBNET:用於代管執行個體的組播消費者虛擬私有雲網路和子網路
    • MACHINE_TYPE:執行個體的機器類型。 如果尚未閱讀,請先參閱「多播生產者和消費者的機器考量事項」一文中的指引。
    • IMAGE_PROJECT:包含圖片的圖片專案,例如 ubuntu-os-cloud
    • IMAGE_FAMILY映像檔系列,例如 ubuntu-2404-lts-amd64

      指定映像檔系列時,系統會使用該系列中未淘汰的最新 OS 映像檔版本建立執行個體。或者,您也可以改用 --image 旗標,並指定圖片版本。

    • 如有配置政策,您可以使用下列標記,選擇性地建立含有配置政策的執行個體。詳情請參閱「在建立執行個體時套用密集配置政策」。

      • MAINTENANCE_POLICY:執行個體的主機維護政策。如果所選機器類型不支援即時遷移,則只能指定 TERMINATE。否則,您可以指定 MIGRATETERMINATE。或者,如要為執行個體類型使用預設維護政策,可以省略這個旗標。
      • PLACEMENT_POLICY_NAME:多點傳播用戶關聯輸出內容中的放置政策名稱。
    • 您也可以使用 --shieldedno-address 參數,建立沒有外部 IP 位址的 Shielded VM。詳情請參閱「什麼是 Shielded VM?」一文。

  2. 按照操作說明在客體 OS 中設定 IGMPv2

  3. 按照操作說明增加網路驅動程式的環形緩衝區大小

將現有執行個體設定為多點播送消費者

本節說明如何啟用 IGMP 並視需要使用選用放置位置政策,將現有執行個體設定為多點播送消費者。

gcloud

  1. 如要將現有執行個體設定為多點播送消費者,請使用 compute instances network-interfaces update 指令並指定 igmp-query 旗標。

    下列指令會更新 nic0 介面。如要指定其他介面,請使用 --network-interface 標記。

    gcloud compute instances network-interfaces update INSTANCE_NAME \
       --zone=ZONE \
       --igmp-query=IGMP_QUERY_V2
    

    替換下列值:

    • INSTANCE_NAME:執行個體的名稱
    • ZONE:執行個體的可用區
  2. 如有可用的配置政策,且您想將政策套用至執行個體,請參閱「將密集配置政策套用至現有執行個體」。政策名稱請使用多點傳播消費者關聯輸出內容中的配置政策名稱。

  3. 按照操作說明在客體 OS 中設定 IGMPv2

  4. 按照操作說明增加網路驅動程式的環形緩衝區大小

在客體 OS 中設定 IGMPv2

如要在執行個體的客體 OS 中設定 IGMPv2,請按照下列步驟操作:

  1. 使用 SSH 連線至執行個體

  2. 執行下列指令,找出附加至多點播送消費者 VPC 網路中子網路的網路介面名稱。

    sudo ifconfig
    
  3. 執行下列指令,強制使用 IGMPv2。

    sudo -i
    echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_NAME/force_igmp_version
    

    NETWORK_INTERFACE_NAME 替換為網路介面名稱。

增加網路驅動程式的環形緩衝區大小

本節說明如何增加執行個體上網路驅動程式的環形緩衝區大小。

視執行個體使用的 OS 版本而定,您可能需要手動將 gVNIC 驅動程式升級至 1.4.5 以上版本,才能順利執行下列指令。

如果多點播送消費者收到大量流量,請將網路驅動程式的環狀緩衝區大小增加至 2048,以避免封包遺失。請參閱下列指令範例:

sudo ethtool -G eth0 rx 2048 tx 2048

詳情請參閱「駕駛人功能和設定」。

後續步驟