如要在網路上啟用生產者服務,您必須設定生產者服務,例如鏡像流量部署項目群組和鏡像流量部署項目。本文提供高階工作流程,說明如何設定這些元件。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 確認您在專案中具備下列 Identity and Access Management (IAM) 角色:
- Compute 網路管理員角色 (
roles/compute.networkAdmin) - Mirroring 部署項目管理員角色 (
roles/networksecurity.mirroringDeploymentAdmin)
- Compute 網路管理員角色 (
啟用 Compute Engine 和 Network Security API。
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。- 請務必安裝 Google Cloud CLI。如需該工具的概念與安裝資訊,請參閱 gcloud CLI 總覽。
注意:如果您先前沒有執行過 Google Cloud CLI,請執行
gcloud init指令,將 gcloud CLI 目錄初始化。
設定 Producer 運算資源
如要在網路中設定生產者運算資源,請執行下列工作:
建立虛擬私有雲 (VPC) 網路,其中包含生產者部署群組和部署作業。詳情請參閱「建立網路」。
建立執行個體範本,並為第三方設備指定機型、開機磁碟映像檔、虛擬私有雲網路和其他屬性。接著,您可以使用執行個體範本建立代管執行個體群組。詳情請參閱「建立執行個體範本」。
建立代管執行個體群組 (MIG),並在特定可用區的多個相同 VM 上部署第三方設備。詳情請參閱在單一可用區中建立 MIG。
使用上一個步驟中建立的第三方設備執行個體群組,建立後端服務。
如要使用內部直通式網路負載平衡器建立後端服務,請按照下列步驟操作:
建立後端服務,並將通訊協定設為
UDP。 詳情請參閱「為 Packet Mirroring 建立內部負載平衡器」。將 VM 執行個體群組新增至後端服務。 建立內部直通式網路負載平衡器時,不能缺少後端服務。詳情請參閱「將代管執行個體群組新增至後端服務」。
為後端服務建立內部轉送規則,轉送源自消費者虛擬私有雲網路的鏡像流量。詳情請參閱「為 Packet Mirroring 建立內部負載平衡器」。
在網路防火牆政策中建立輸入防火牆規則,允許從生產者子網路閘道位址或本機子網路範圍,將通訊埠 6081 上的 UDP 流量傳送至 VM。生產者端防火牆不需要消費者 IP 範圍。詳情請參閱「建立全域網路防火牆規則」。
為封包鏡像建立內部負載平衡器
如要啟用封包鏡像功能,您需要內部直通式網路負載平衡器,做為封包鏡像產生器。內部直通式網路負載平衡器必須符合下列條件:
- 建立內部直通式網路負載平衡器的轉送規則時,必須啟用封包鏡像功能。建立規則後,就無法變更這項狀態。雖然轉送規則只接受 IPv4 流量,但以 Geneve 封裝的鏡像流量可以是 IPv4 或 IPv6。
- 內部直通式網路負載平衡器和要鏡像處理的執行個體必須位於相同區域。
- 內部直通式網路負載平衡器的後端服務會使用
NONE(5 元組雜湊) 的工作階段相依性。 - 內部直通式網路負載平衡器後端服務的後端子集已停用。
如果未將生產者執行個體設為回應為後端服務設定的健康狀態檢查,健康狀態檢查可能會失敗。不過,封包鏡像仍會繼續運作。
如要為封包鏡像建立內部直通式網路負載平衡器,請按照下列步驟操作。
控制台
開始設定
前往 Google Cloud 控制台的「Load balancing」(負載平衡) 頁面。
- 點選「建立負載平衡器」。
- 在「負載平衡器類型」部分,選取「網路負載平衡器 (TCP/UDP/SSL)」,然後點選「下一步」。
- 在「直通或使用 Proxy」部分,選取「直通式負載平衡器」,然後點選「下一步」。
- 在「公開或內部」部分,選取「內部」,然後點選「下一步」。
- 按一下 [設定]。
基本設定
在「建立內部直通式網路負載平衡器」頁面中,輸入下列資訊:
- 在「Load balancer name」(負載平衡器名稱) 部分輸入名稱。
- 在「Region」(地區) 中,選取要鏡像處理封包的 VM 執行個體所在地區。
- 在「Network」(網路) 中,選取要鏡像處理封包的網路。
設定後端
- 按一下「後端設定」。
- 在「Backend type」(後端類型) 部分,選取「Instance group」(執行個體群組)。
- 從「通訊協定」清單中選取「UDP」。
- 在「New Backend」(新增後端) 專區中,從「Instance group」(執行個體群組) 清單中,選取要將封包轉送至的執行個體群組。
在「New Backend」(新增後端) 部分,執行下列操作:
- 選取 IP 堆疊類型。
- 在「Instance group」(執行個體群組) 清單中,選取要將封包轉送至的執行個體群組。
- 按一下「完成」。
請注意,使用 Google Cloud 控制台建立負載平衡器時,系統會啟用全域健康狀態檢查。如要建立區域健康狀態檢查,請使用
gcloud或 API。
設定前端
- 在「建立內部直通式網路負載平衡器」頁面,按一下「前端設定」。
- 在「New Frontend IP and port」(新增的前端 IP 和通訊埠) 區段中,執行下列操作:
- 在「Name」(名稱) 中輸入名稱。
- 在「子網路」中,選取與要鏡像處理的執行個體位於相同區域的子網路。
- 在「通訊埠」部分,選取「單一」
,然後在「通訊埠編號」中輸入
6081。 - 按一下「進階設定」,然後選取「為這個負載平衡器啟用封包鏡像」。
- 按一下「完成」。
檢查設定
- 在「建立內部直通式網路負載平衡器」頁面上,按一下「檢查並完成」。
- 查看負載平衡器設定。
- 點選「建立」。
gcloud
建立新的區域 HTTP 健康狀態檢查,測試連至執行個體群組的 HTTP 連線:
gcloud compute health-checks create http HEALTH_CHECK_NAME \ --region REGION \ --port PORT更改下列內容:
HEALTH_CHECK_NAME:健康狀態檢查的名稱。REGION:要鏡像封包的 VM 執行個體所在區域。PORT:健康狀態檢查監控的通訊埠編號。如未指定,系統會使用80的預設通訊埠。
針對 HTTP 流量建立後端服務:
gcloud compute backend-services create COLLECTOR_BACKEND_SERVICE \ --region=REGION \ --health-checks-region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --load-balancing-scheme=internal \ --protocol=udp更改下列內容:
COLLECTOR_BACKEND_SERVICE:後端服務的名稱。REGION:要鏡像封包的 VM 執行個體所在區域。HEALTH_CHECK_NAME:健康狀態檢查的名稱。
將執行個體群組新增至後端服務:
gcloud compute backend-services add-backend COLLECTOR_BACKEND_SERVICE \ --region=REGION \ --instance-group=INSTANCE_GROUP \ --instance-group-zone=ZONE更改下列內容:
COLLECTOR_BACKEND_SERVICE:後端服務的名稱。REGION:執行個體群組的所在區域。INSTANCE_GROUP:執行個體群組的名稱。ZONE:執行個體群組的可用區。
為後端服務建立轉送規則:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --region REGION \ --load-balancing-scheme=internal \ --network NETWORK \ --subnet SUBNET \ --address=ADDRESS \ --ports=6081 \ --ip-protocol=UDP \ --backend-service COLLECTOR_BACKEND_SERVICE \ --backend-service-region BACKEND_REGION \ --is-mirroring-collector更改下列內容:
FORWARDING_RULE_NAME:轉送規則的名稱。REGION:轉送規則的區域。NETWORK:轉送規則的網路。SUBNET:VM 所在區域的子網路,您要鏡像處理封包。ADDRESS:轉送規則提供的 IP 位址。鏡像流量到達收集器 VM 時,這個值會設為目的地 IP 位址。COLLECTOR_BACKEND_SERVICE:負載平衡器的後端服務。BACKEND_REGION:後端服務的區域。
設定製作人鏡像資源
如要設定生產者鏡像資源 (例如網路中的鏡像部署群組和鏡像流量部署項目),請按照下列步驟操作:
建立鏡像流量部署項目群組,代表消費者可連線的供應商鏡像服務。詳情請參閱「建立及管理鏡像流量部署項目群組」。
在每個要透過網路安全整合服務公開後端服務的可用區中,建立鏡像流量部署項目。這些是您在上一個步驟中建立的後端服務。詳情請參閱「建立及管理鏡像部署作業」。
根據預設,鏡像部署群組和鏡像流量部署項目會受到保護,避免來自不明消費者的流量。如要允許消費者連接至鏡像流量部署項目群組,請務必在供應商的專案中擁有「鏡像流量部署項目管理員」角色 (
networksecurity.mirroringDeploymentGroups.use)。如果您具備 Mirroring 部署項目管理員角色,系統預設會包含 Mirroring 部署項目使用者角色 (roles/networksecurity.mirroringDeploymentUser)。