設定多點傳播消費者執行個體
本頁說明如何設定 Compute Engine 執行個體,以便接收多點播送流量。接收多點傳播流量的執行個體稱為多點傳播消費者。
本頁面的程序說明如何設定多播消費者,如下所示:
在新或現有執行個體上啟用 IGMP 查詢,並在客體 OS 中設定 IGMPv2。
完成這些步驟後,執行個體上執行的應用程式就能加入及離開多點傳播群組。
如果多播消費者收到大量流量,請增加網路驅動程式的環形緩衝區大小,避免封包遺失。
如要進一步瞭解設定執行個體後 IGMPv2 的運作方式,請參閱「IGMPv2 的運作方式」。
事前準備
建立多播消費者執行個體前,請參閱下列各節。
查看多點播送消費者適用的電腦和作業系統注意事項
為確保最佳成效,請詳閱下列指引,並據此建立執行個體:
機器類型:請參閱「多播製作人和消費者適用的機器注意事項」一文中的指引。
作業系統 (OS) 和網路驅動程式:請參閱下列說明:
建議使用 Linux 作業系統。詳情請參閱「作業系統詳細資料」。
對於接收大量流量的多點播送消費者,建議增加網路驅動程式的環形緩衝區大小,將值設為
2048,以避免封包遺失。如果您使用虛擬機器 (VM) 執行個體,請參閱下列 gVNIC 驅動程式注意事項:
部分較舊的 OS 版本可能不會使用支援增加環形緩衝區大小的 gVNIC 驅動程式版本。預設支援這項功能的作業系統版本範例包括 RHEL 10、Rocky Linux 10 和 Ubuntu 24.04。
如果無法預設增加環狀緩衝區大小,請先手動將 gVNIC 驅動程式升級至 1.4.5 以上版本。
檢查是否有預先設定的刊登位置政策
如果多播管理員為多餘的多播網域設定網域群組,則 Google Cloud 會自動提供選用的放置政策,除非多播管理員在啟用網域時停用了該政策。將這項放置政策套用至新執行個體或現有執行個體時,Compute Engine 會盡量將執行個體放置在對應區域中,最靠近多點傳播網域基礎架構的位置。
如要確認你是否適用刊登位置政策,請按照下列步驟操作:
查看您打算建立執行個體的區域,其多點傳播用戶關聯的詳細資料。請參閱「查看多點傳播用戶關聯」。
如果輸出內容的
placementPolicy欄位包含刊登位置政策名稱,您就可以在建立新執行個體或設定現有執行個體時套用刊登位置政策。請記下這個值,以便在本頁完成程序時使用。
建立多點播送消費者執行個體
本節說明如何建立新執行個體,啟用 IGMP 並視需要使用選用放置政策,做為多點播送消費者。
如要進一步瞭解如何建立執行個體,請參閱「建立及啟動 Compute Engine 執行個體」。
gcloud
如要建立新的多點播送消費者執行個體,請使用
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_NETWORK、MULTICAST_CONSUMER_SUBNET:用於代管執行個體的組播消費者虛擬私有雲網路和子網路MACHINE_TYPE:執行個體的機器類型。 如果尚未閱讀,請先參閱「多播生產者和消費者的機器考量事項」一文中的指引。IMAGE_PROJECT:包含圖片的圖片專案,例如ubuntu-os-cloud。IMAGE_FAMILY:映像檔系列,例如ubuntu-2404-lts-amd64。指定映像檔系列時,系統會使用該系列中未淘汰的最新 OS 映像檔版本建立執行個體。或者,您也可以改用
--image旗標,並指定圖片版本。如有配置政策,您可以使用下列標記,選擇性地建立含有配置政策的執行個體。詳情請參閱「在建立執行個體時套用密集配置政策」。
MAINTENANCE_POLICY:執行個體的主機維護政策。如果所選機器類型不支援即時遷移,則只能指定TERMINATE。否則,您可以指定MIGRATE或TERMINATE。或者,如要為執行個體類型使用預設維護政策,可以省略這個旗標。PLACEMENT_POLICY_NAME:多點傳播用戶關聯輸出內容中的放置政策名稱。
您也可以使用
--shielded和no-address參數,建立沒有外部 IP 位址的 Shielded VM。詳情請參閱「什麼是 Shielded VM?」一文。
按照操作說明在客體 OS 中設定 IGMPv2。
按照操作說明增加網路驅動程式的環形緩衝區大小。
將現有執行個體設定為多點播送消費者
本節說明如何啟用 IGMP 並視需要使用選用放置位置政策,將現有執行個體設定為多點播送消費者。
gcloud
如要將現有執行個體設定為多點播送消費者,請使用
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:執行個體的可用區
如有可用的配置政策,且您想將政策套用至執行個體,請參閱「將密集配置政策套用至現有執行個體」。政策名稱請使用多點傳播消費者關聯輸出內容中的配置政策名稱。
按照操作說明在客體 OS 中設定 IGMPv2。
按照操作說明增加網路驅動程式的環形緩衝區大小。
在客體 OS 中設定 IGMPv2
如要在執行個體的客體 OS 中設定 IGMPv2,請按照下列步驟操作:
使用 SSH 連線至執行個體。
執行下列指令,找出附加至多點播送消費者 VPC 網路中子網路的網路介面名稱。
sudo ifconfig
執行下列指令,強制使用 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
詳情請參閱「駕駛人功能和設定」。
後續步驟
- 如要快速測試多點傳播設定,而不啟動應用程式工作負載,可以使用
iperf工具,如「測試多點傳播流量的範例指令」一文所述。