為輸出流量指派靜態 IP 位址

根據預設,Secure Web Proxy 會使用受管理的 Cloud NAT 閘道 (swg-autogen-nat) 處理外送網路流量,這類流量通常會使用自動分配的 IP 位址。本頁說明如何設定 Cloud NAT 閘道,以便使用您在 Google Cloud 專案中擁有及管理的特定靜態外部 IPv4 位址。工作負載的所有傳出流量都會透過安全網頁 Proxy 轉送,然後源自其中一個預先定義的靜態 IP。

為輸出流量指派靜態 IP 位址有幾項主要優點:

  • 可預測的外送流量來源 IP:讓外部服務、合作夥伴和內部部署防火牆將特定 IP 位址新增至授權清單,確保系統會接受來自安全網頁 Proxy 執行個體的流量。如要存取受 IP 存取控制清單 (ACL) 保護的資源,就必須執行這項操作。

  • 動態通訊埠分配 (DPA):從您為輸出流量指派的靜態 IP 位址集,有效分配可用的來源通訊埠。DPA 可讓工作負載管理傳出流量,且靜態 IP 數量有限,不會用盡所有可用通訊埠。詳情請參閱「動態通訊埠分配」。

  • 提升安全防護:提供一組較小的已知 IP 位址,方便管理及監控,簡化安全稽核和威脅分析。

  • 改善第三方整合:方便與 SaaS 供應商和 API 順暢整合,這些供應商和 API 需要或建議使用 IP 允許清單,以提升安全性。

  • 簡化法規遵循程序:協助您符合所有出站流量點及其相關聯 IP 位址的法規遵循要求。

事前準備

  • 完成初始設定步驟

  • 預留一組靜態 IPv4 位址,供 Secure Web Proxy 執行個體使用。在 Google Cloud中預留 IP 位址之前,請務必使用 gcloud compute addresses create 指令建立位址資源。

  • 確認您已安裝 Google Cloud CLI 406.0.0 以上版本:

    gcloud version | head -n1
    

    如果您安裝的是舊版 gcloud CLI,請更新版本:

    gcloud components update --version=406.0.0
    

為 Secure Web Proxy 設定靜態 IP 位址

控制台

  1. 前往 Google Cloud 控制台的「Cloud NAT」頁面。

    前往 Cloud NAT

  2. 找出 Secure Web Proxy 執行個體使用的 Cloud NAT 閘道。名稱為 swg-autogen-nat,並與適當區域和虛擬私有雲網路中的 Cloud NAT (名稱格式為 swg-autogen-router-YYYY) 建立關聯。

  3. 如要前往 Cloud NAT 閘道的詳細資料頁面,請按一下swg-autogen-nat閘道名稱。系統會開啟「Cloud NAT 閘道詳細資料」頁面。

  4. 按一下「編輯」。「編輯 Cloud NAT 閘道」頁面隨即開啟。

  5. 在「Cloud NAT IP 位址」中,將設定從「自動 (建議)」變更為「手動」

  6. 在「IP addresses」(IP 位址) 部分,選取您預留的靜態 IP 位址。詳情請參閱「為 Secure Web Proxy 設定 Cloud NAT IP」。

    如要新增多個 IP 位址,請按一下「新增 IP 位址」按鈕。

  7. 展開「進階設定」部分,然後選取「啟用動態連接埠配置」核取方塊。

  8. 建議您在「每個 VM 的通訊埠數量下限」中輸入 2048

  9. 在「每個 VM 的通訊埠數量上限」部分,建議輸入 4096

  10. 按一下 [儲存]

  11. 儲存變更後,請確認下列事項:

    1. 在 Cloud NAT 閘道詳細資料頁面中,確認「IP addresses」(IP 位址) 區段現在列出您手動選取的靜態 IP 位址。

    2. 確認已為您先前設定的每個虛擬機器 (VM) 啟用動態通訊埠分配功能,並設定正確的通訊埠數量下限和上限。

Cloud Shell

  1. 如要找出佈建安全網路 Proxy 執行個體時指派的 Cloud Router 名稱,請使用 gcloud compute routers list 指令

    gcloud compute routers list \
        --region REGION \
        --filter="network:(NETWORK_NAME) AND name:(swg-autogen-router-*)" \
        --format="get(name)"
    

    更改下列內容:

    • REGION:部署 Cloud Router 的區域,適用於您的安全網路 Proxy 執行個體
    • NETWORK_NAME:虛擬私有雲網路名稱

    輸出結果會與下列內容相似:

    swg-autogen-router-1
    
  2. 如要列出在佈建 Secure Web Proxy 執行個體時自動佈建的外部 IP 位址,請使用 gcloud compute routers get-status 指令

    gcloud compute routers get-status ROUTER_NAME  \
        --region=REGION
    

    輸出結果會與下列內容相似:

    kind: compute#routerStatusResponse
    result:
      natStatus:
      - autoAllocatedNatIps:
        - 34.144.80.46
        - 34.144.83.75
        - 34.144.88.111
        - 34.144.94.113
        minExtraNatIpsNeeded: 0
        name: swg-autogen-nat
        numVmEndpointsWithNatMappings: 3
      network: https://www.googleapis.com/compute/projects/PROJECT_NAME/global/networks/NETWORK_NAME
    

    這項輸出內容包含下列值:

    • PROJECT_NAME:專案名稱 Google Cloud
    • NETWORK_NAME:虛擬私有雲網路名稱
  3. 如要更新 Cloud NAT 閘道,使其使用預先定義的 IP 範圍,請使用 gcloud compute routers nats update 指令

    gcloud compute routers nats update swg-autogen-nat  \
        --router=ROUTER_NAME \
        --nat-external-ip-pool=IPv4_ADDRESSES... \
        --region=REGION
    

    以半形逗號 (,) 分隔,將 IPv4_ADDRESSES 替換成您打算使用的外部 IPv4 位址資源名稱。

  4. 如要確認 IP 範圍已指派給 Cloud NAT 閘道,請使用 gcloud compute routers nats describe 指令

    gcloud compute routers nats describe swg-autogen-nat \
        --router=ROUTER_NAME  \
        --region=REGION
    

    輸出結果會與下列內容相似:

    enableEndpointIndependentMapping: false
    icmpIdleTimeoutSec: 30
    logConfig:
      enable: false
      filter: ALL
    name: swg-autogen-nat
    natIpAllocateOption: MANUAL_ONLY
    natIps:
    - https://www.googleapis.com/compute/projects/PROJECT_NAME/regions/REGION/addresses/ADDRESS
    sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES
    

    這項輸出內容包含下列值:

    • PROJECT_NAME:專案名稱 Google Cloud
    • REGION:部署 Cloud NAT 閘道的區域
    • ADDRESS:靜態 IPv4 位址資源的名稱
  5. 如要更新 Cloud NAT 閘道,改用動態連接埠分配 (DPA) 模式,請使用 gcloud compute routers nats update 指令。DPA 模式可讓 Secure Web Proxy 執行個體使用指派的 IP 位址。

    gcloud compute routers nats update swg-autogen-nat  \
        --router=ROUTER_NAME \
        --min-ports-per-vm=2048 \
        --max-ports-per-vm=4096 \
        --enable-dynamic-port-allocation \
        --region=REGION
    

    對於 --min-ports-per-vm--max-ports-per-vm 標記,建議您將值分別設為 20484096

    使用 Metrics Explorer 監控下列項目的指標資料,並視需要調整 DPA 最小值和最大值:

    • Cloud NAT Gateway - Port usage
    • Cloud NAT Gateway - New connection count
    • Cloud NAT Gateway - Open connections
  6. 如要確認 DPA 已啟用,且已設定通訊埠下限和上限值,請使用 gcloud compute routers nats describe 指令

    gcloud compute routers nats describe swg-autogen-nat \
        --router=ROUTER_NAME \
        --region=REGION
    

    檢查 natIpAllocateOption: MANUAL_ONLY 的輸出內容,確認 natIps 清單包含您的靜態 IP 位址。

    輸出結果會與下列內容相似:

    enableDynamicPortAllocation: true
    enableEndpointIndependentMapping: false
    endpointTypes:
    - ENDPOINT_TYPE_SWG
    logConfig:
      enable: true
      filter: ERRORS_ONLY
    maxPortsPerVm: 4096
    minPortsPerVm: 2048
    name: swg-autogen-nat
    natIpAllocateOption: MANUAL_ONLY
    natIps:
    - https://www.googleapis.com/compute/projects/PROJECT_NAME/regions/REGION/addresses/ADDRESS
    sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES
    type: PUBLIC
    

    這項輸出內容包含下列值:

    • PROJECT_NAME:專案名稱 Google Cloud
    • REGION:部署 Cloud NAT 閘道的區域
    • ADDRESS:靜態 IPv4 位址資源的名稱

後續步驟