本頁面說明如何使用Google Cloud 控制台、Google Cloud CLI 或 Terraform,設定防火牆端點並與虛擬私有雲 (VPC) 網路建立關聯。
您可以在可用區層級建立防火牆端點,然後將其與相同可用區中的一或多個虛擬私有雲網路建立關聯。如果與虛擬私有雲網路相關聯的防火牆政策已啟用第 7 層檢查,系統會以透明方式攔截相符的流量,並轉送至防火牆端點。
您可以建立支援或不支援巨型封包的防火牆端點。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。
事前準備
設定防火牆端點和關聯之前,請先完成下列步驟:
- 確認您有虛擬私有雲網路和子網路。
- 啟用必要的 API:
- Compute Engine API (Compute Engine API) 專案。 Google Cloud
- 在要用於帳單的 Google Cloud 專案中啟用 Network Security API。
- 在您的 Google Cloud 專案中啟用憑證授權單位服務 API。
- 如要執行
gcloud指令列範例,請安裝 gcloud CLI。
角色和權限
如要取得建立防火牆端點所需的權限,請要求管理員在您的機構或專案中,授予您必要的身分與存取權管理 (IAM) 角色。詳情請參閱「管理存取權」。
如要查看本頁列出作業的進度,請確保使用者帳戶具有「Compute 網路使用者」(roles/compute.networkUser) 角色,該角色包含下列權限:
networksecurity.operations.getnetworksecurity.operations.list
配額
如要查看防火牆端點和關聯的配額,請參閱「配額與限制」。
建立防火牆端點
在特定可用區中建立防火牆端點。
機構層級端點
您可以在機構層級建立防火牆端點。這些端點僅支援機構層級的安全性設定檔群組。
控制台
前往 Google Cloud 控制台的「Firewall endpoints」(防火牆端點) 頁面。
在專案選取器選單中,選取您的機構。
點選「建立」。
在「Region」(區域) 清單中,選取要建立防火牆端點的區域。
在「Zone」(可用區) 清單中,選取要建立防火牆端點的可用區。
在「名稱」欄位中輸入名稱。
在「帳單專案」清單中,選取要用於防火牆端點帳單的 Google Cloud 專案。
按一下「繼續」。
如要讓端點支援巨型封包,請勾選「啟用巨型封包支援功能」核取方塊;否則請取消勾選這個核取方塊。
按一下「繼續」。
如要新增防火牆端點關聯,請按一下「新增端點關聯」,否則請略過這個步驟。
- 在「Project」(專案) 清單中,選取要建立防火牆端點關聯的專案 Google Cloud 。
- 如果 Google Cloud 專案尚未啟用 Compute Engine API 或 Network Security API,請按一下「啟用」。
- 在「Network」(網路) 清單中,選取要與防火牆端點建立關聯的網路。
- 在「TLS 檢查政策」清單中,選取要新增至這項關聯的 TLS 檢查政策。
- 如要新增其他關聯,請按一下「新增端點關聯」。
點選「建立」。
gcloud
如要建立防火牆端點,請使用 gcloud network-security
firewall-endpoints create 指令:
gcloud network-security firewall-endpoints create NAME \
--organization ORGANIZATION_ID \
--zone ZONE \
--enable-jumbo-frames \
--billing-project BILLING_PROJECT_ID
更改下列內容:
NAME:防火牆端點的名稱。ORGANIZATION_ID:啟用端點的機構。ZONE:啟用端點的可用區。BILLING_PROJECT_ID:用於防火牆端點帳單的專案 ID。 Google Cloud
如要建立支援巨型封包 (大小上限為 8,500 個位元組) 的防火牆端點,請使用選用的 --enable-jumbo-frames 標記。略過這個旗標,即可建立不支援巨型封包的端點。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。
如要將防火牆端點與虛擬私有雲網路建立關聯,請參閱「建立防火牆端點關聯」。
Terraform
使用 google_network_security_firewall_endpoint Terraform 資源。
resource "google_network_security_firewall_endpoint" "default" {
name = "my-firewall-endpoint"
parent = "organizations/123456789"
location = "us-central1-a"
billing_project_id = "my-project-name"
enable_jumbo_frames = true
}
如要建立支援巨型封包 (大小上限為 8,500 個位元組) 的防火牆端點,請將 enable_jumbo_frames 欄位設為 true。如要建立不支援巨型封包的防火牆端點,請將這個欄位設為 false。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
專案層級端點
您可以在專案層級建立防火牆端點。這些端點支援機構層級和專案層級的安全性設定檔群組。
gcloud
如要建立防火牆端點,請使用 gcloud beta network-security
firewall-endpoints create 指令:
gcloud beta network-security firewall-endpoints create NAME \
--project PROJECT_ID \
--zone ZONE \
--enable-jumbo-frames
更改下列內容:
NAME:防火牆端點的名稱。PROJECT_ID:啟用端點的專案。ZONE:啟用端點的可用區。
如要建立支援巨型封包 (大小上限為 8,500 個位元組) 的防火牆端點,請使用選用的 --enable-jumbo-frames 標記。略過這個旗標,即可建立不支援巨型封包的端點。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。
如要將防火牆端點與虛擬私有雲網路建立關聯,請參閱「建立防火牆端點關聯」。
建立防火牆端點關聯
防火牆端點關聯會將防火牆端點連結至特定可用區中的虛擬私有雲網路。建立關聯後,系統會確保該可用區中與相關聯網路的攔截規則相符的流量,都會由防火牆端點檢查。
建立關聯前,請先確認您有防火牆端點。
關聯資格條件
設定端點關聯時,請遵守下列規定:
- 區域限制:您必須在與防火牆端點相同的區域中建立關聯。如要有效檢查流量,請在部署運算執行個體的區域中建立關聯。
- 每個可用區一個端點:在單一可用區中,您只能將虛擬私有雲網路與一個防火牆端點建立關聯 (專案層級 (預先發布) 或機構層級)。不過,您可以將單一虛擬私有雲網路與多個不同區域的不同防火牆端點建立關聯。
- 跨專案關聯:您可以將虛擬私有雲網路與其他專案中的防火牆端點建立關聯。
- 如果您使用專案層級端點 (預覽版),端點的專案必須與虛擬私有雲網路位於相同機構。
- 資源對應:關聯是專案層級的資源。即使關聯指向機構層級的防火牆端點,您仍可在部署運算執行個體的特定專案中建立關聯。
支援巨型封包的防火牆端點只能接受大小上限為 8,500 個位元組的封包。或者,不支援巨型封包的防火牆端點只能接受大小上限為 1,460 個位元組的封包。如需網址篩選服務或入侵偵測與防護服務,建議您將相關聯的 VPC 網路設定為使用最大傳輸單元 (MTU) 限制,分別為 8,500 位元組和 1,460 位元組。詳情請參閱「 支援的封包大小」。
控制台
前往 Google Cloud 控制台的「Firewall endpoints」(防火牆端點) 頁面。
在專案選取器選單中,選取 Google Cloud 專案。
按一下「建立端點關聯」。
在「Region」(區域) 清單中,選取要建立防火牆端點關聯的區域。
在「Zone」(可用區) 清單中,選取要建立防火牆端點關聯的可用區。
在「防火牆端點」清單中,選取要新增至關聯的防火牆端點。
在「網路」清單中,選取要加入關聯的網路。
在「TLS 檢查政策」清單中,選取要新增至這個關聯的 TLS 檢查政策。
點選「建立」。
gcloud
如要建立防火牆端點關聯,請使用 gcloud network-security firewall-endpoint-associations create 指令。
機構層級防火牆端點
gcloud network-security firewall-endpoint-associations \
create NAME \
--endpoint organizations/ORGANIZATION_ID/locations/ZONE/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
--network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
--zone ZONE \
--project PROJECT_ID \
[ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]
專案層級防火牆端點
gcloud beta network-security firewall-endpoint-associations \
create NAME \
--endpoint projects/ENDPOINT_PROJECT_ID/locations/ZONE/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
--network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
--zone ZONE \
--project PROJECT_ID \
[ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]
更改下列內容:
NAME:防火牆端點關聯的名稱。ORGANIZATION_ID:建立機構層級防火牆端點的機構 ID。ENDPOINT_PROJECT_ID:建立專案層級防火牆端點的 Google Cloud 專案 ID。ZONE:防火牆端點的可用區。FIREWALL_ENDPOINT_NAME:防火牆端點的名稱。PROJECT_NAME:網路的 Google Cloud 專案名稱。NETWORK_NAME:網路名稱。PROJECT_ID:建立關聯的 Google Cloud 專案 ID。這應是您要攔截流量的專案。TLS_PROJECT_NAME:TLS 檢查政策的 Google Cloud 專案名稱。REGION_NAME:TLS 檢查政策的區域名稱。TLS_POLICY_NAME:TLS 檢查政策的名稱。這項政策用於指定網路中加密流量的 TLS 檢查。這是選用引數。