設定私人 IP 網路

代管 Airflow (第 3 代) | 代管 Airflow (第 2 代) | 代管 Airflow (舊版第 1 代)

本頁面說明如何為私人 IP 環境設定 Google Cloud專案網路。

在私人 IP 環境中,Managed Airflow 只會將私人 IP (RFC 1918) 位址指派給環境中代管的 Google Kubernetes Engine 和 Cloud SQL VM。

您也可以選擇使用私人使用的公開 IP 位址和 IP 偽裝代理程式,節省 IP 位址空間並使用非 RFC 1918 位址。

如要瞭解如何連線至環境中的資源,請參閱「私人 IP」。

事前準備

查看網路需求

確認專案的虛擬私有雲網路符合下列規定:

  • 確認私人 IP 區塊沒有衝突。如果虛擬私有雲網路和已建立的虛擬私有雲對接,與 Google 代管租戶專案中的虛擬私有雲網路有重疊的 IP 區塊,Managed Airflow 就無法建立環境。如要瞭解各區域使用的預設值,請參閱預設 IP 範圍表格。

  • 請確認 Managed Airflow GKE Pod 和服務有足夠的次要 IP 範圍。GKE 會搜尋次要 IP 範圍,以便進行 IP 別名設定。如果 GKE 找不到範圍,Managed Airflow 就無法建立環境。

  • 請確認子網路中的次要範圍數量不超過 30 個。請考量下列事項:

    • 私人 IP 環境的 GKE 叢集會在子網路中建立兩個次要範圍。您可以在同一區域中,為同一個虛擬私有雲網路建立多個子網路。
    • 次要範圍數量上限為 30 個。每個私人 IP 環境都需要兩個次要範圍,用於 Managed Airflow GKE Pod 和服務。
  • 請確認專案網路可容納單一虛擬私有雲網路的連線數量上限。可建立的私人 IP 環境數量上限,取決於虛擬私有雲網路中現有的虛擬私有雲對等互連連線數量。

  • 每個私人 IP 環境最多使用兩個虛擬私有雲對接。Managed Airflow 會為租戶專案網路建立一個虛擬私有雲對接。第二個對接是由環境的 GKE 叢集建立,GKE 叢集可以重複使用這個連線。

選擇網路、子網路和網路範圍

選擇私人 IP 環境的網路範圍 (或使用預設範圍)。稍後建立私人 IP 環境時,會用到這些網路範圍。

如要建立私人 IP 環境,您必須具備下列資訊:

  • 虛擬私有雲網路 ID
  • 虛擬私有雲子網路 ID
  • 虛擬私有雲子網路中的兩個次要 IP 範圍:
    • pod 的次要 IP 範圍
    • 服務的次要 IP 範圍
  • 環境元件的 IP 範圍:

    • GKE 控制層 IP 範圍:GKE 控制層的 IP 範圍。
      • 網路伺服器 IP 範圍。
    • 網路伺服器 IP 範圍。Airflow 網路伺服器執行個體的 IP 範圍。
    • Cloud SQL IP 範圍。Cloud SQL 執行個體的 IP 範圍。

請參閱預設 IP 範圍表,瞭解各區域使用的預設值。

預設 IP 範圍

區域 GKE 控制層 IP 範圍 網路伺服器 IP 範圍 Cloud SQL IP 範圍
africa-south1 172.16.64.0/23 172.31.223.0/24 10.0.0.0/12
asia-east1 172.16.42.0/23 172.31.255.0/24 10.0.0.0/12
asia-east2 172.16.0.0/23 172.31.255.0/24 10.0.0.0/12
asia-northeast1 172.16.2.0/23 172.31.254.0/24 10.0.0.0/12
asia-northeast2 172.16.32.0/23 172.31.239.0/24 10.0.0.0/12
asia-northeast3 172.16.30.0/23 172.31.240.0/24 10.0.0.0/12
asia-south1 172.16.4.0/23 172.31.253.0/24 10.0.0.0/12
asia-south2 172.16.50.0/23 172.31.230.0/24 10.0.0.0/12
asia-southeast1 172.16.40.0/23 172.31.235.0/24 10.0.0.0/12
asia-southeast2 172.16.44.0/23 172.31.233.0/24 10.0.0.0/12
australia-southeast1 172.16.6.0/23 172.31.252.0/24 10.0.0.0/12
australia-southeast2 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
europe-central2 172.16.36.0/23 172.31.237.0/24 10.0.0.0/12
europe-north1 172.16.48.0/23 172.31.231.0/24 10.0.0.0/12
europe-southwest1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
europe-west1 172.16.8.0/23 172.31.251.0/24 10.0.0.0/12
europe-west10 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
europe-west12 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
europe-west2 172.16.10.0/23 172.31.250.0/24 10.0.0.0/12
europe-west3 172.16.12.0/23 172.31.249.0/24 10.0.0.0/12
europe-west4 172.16.42.0/23 172.31.234.0/24 10.0.0.0/12
europe-west6 172.16.14.0/23 172.31.248.0/24 10.0.0.0/12
europe-west8 172.16.60.0/23 172.31.225.0/24 10.0.0.0/12
europe-west9 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
me-central1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
me-central2 172.16.64.0/23 172.31.223.0/24 10.0.0.0/12
me-west1 172.16.54.0/23 172.31.228.0/24 10.0.0.0/12
northamerica-northeast1 172.16.16.0/23 172.31.247.0/24 10.0.0.0/12
northamerica-northeast2 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
northamerica-south1 172.16.68.0/23 172.31.221.0/24 10.0.0.0/12
southamerica-east1 172.16.18.0/23 172.31.246.0/24 10.0.0.0/12
southamerica-west1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
us-central1 172.16.20.0/23 172.31.245.0/24 10.0.0.0/12
us-east1 172.16.22.0/23 172.31.244.0/24 10.0.0.0/12
us-east4 172.16.24.0/23 172.31.243.0/24 10.0.0.0/12
us-east5 172.16.52.0/23 172.31.229.0/24 10.0.0.0/12
us-south1 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
us-west1 172.16.38.0/23 172.31.236.0/24 10.0.0.0/12
us-west2 172.16.34.0/23 172.31.238.0/24 10.0.0.0/12
us-west3 172.16.26.0/23 172.31.242.0/24 10.0.0.0/12
us-west4 172.16.28.0/23 172.31.241.0/24 10.0.0.0/12

(選用) 設定連至 Google API 和服務

您也可以選擇透過屬於 private.googleapis.com 網域的多個 IP 位址,將所有流量轉送至 Google API 和服務。在這項設定中,環境會透過只能從 Google Cloud內部轉送的 IP 位址,存取 Google API 和服務。

如果私人 IP 環境也使用 VPC Service Controls,請改為按照使用 VPC Service Controls 的環境操作說明操作。

Managed Airflow 環境會使用下列網域:

  • *.googleapis.com用於存取其他 Google 服務。

  • *.pkg.dev 用於取得環境映像檔,例如建立或更新環境時。

  • *.gcr.io無論 Managed Airflow 版本為何,GKE 都必須連線至 Container Registry 網域。

設定與 private.googleapis.com 端點的連線:

網域 DNS 名稱 CNAME 記錄 A 記錄
*.googleapis.com googleapis.com. DNS 名稱:*.googleapis.com.
資源記錄類型:CNAME
標準名稱:googleapis.com.
資源記錄類型:A
IPv4 位址:199.36.153.8、199.36.153.9、199.36.153.10、199.36.153.11
*.pkg.dev pkg.dev. DNS 名稱:*.pkg.dev.
資源記錄類型:CNAME
標準名稱:pkg.dev.
資源記錄類型:A
IPv4 位址:199.36.153.8、199.36.153.9、199.36.153.10、199.36.153.11
*.gcr.io gcr.io. DNS 名稱:*.gcr.io.
資源記錄類型:CNAME
標準名稱:gcr.io.
資源記錄類型:A
IPv4 位址:199.36.153.8、199.36.153.9、199.36.153.10、199.36.153.11

如要建立 DNS 規則,請按照下列步驟操作:

  1. 建立新的 DNS 區域,並使用「DNS name」(DNS 名稱) 做為這個區域的 DNS 名稱。

    範例:pkg.dev.

  2. 新增 CNAME 記錄的記錄集。

    範例:

    • DNS 名稱:*.pkg.dev.
    • 資源記錄類型:CNAME
    • 標準名稱:pkg.dev.
  3. 新增 A 記錄的記錄集:

    範例:

    • 資源記錄類型:A
    • IPv4 位址:199.36.153.8、199.36.153.9、199.36.153.10、199.36.153.11

詳情請參閱「設定連至 Google API 和服務的私人連線」。

(選用) 設定防火牆規則

只有在專案具有非預設防火牆規則時,才需要執行這個步驟,例如覆寫默示防火牆規則的規則,或修改預設網路中預先填入的規則。

舉例來說,如果防火牆規則拒絕所有輸出流量,Managed Airflow 可能無法建立環境。為避免發生問題,請定義遵循清單且優先順序高於全域 deny 規則的選擇性 allow 規則。

設定虛擬私有雲網路,允許來自環境的流量:

  • 請參閱「使用防火牆規則」,瞭解如何檢查、新增及更新虛擬私有雲網路的規則。
  • 使用連線能力工具驗證 IP 範圍之間的連線能力。
  • 您可以使用網路標記進一步限制存取權。您可以在建立環境時設定這些標記。
說明 方向 動作 來源或目的地 通訊協定 通訊埠
DNS 輸出 允許 任何目的地 (0.0.0.0/0) 或 DNS 伺服器 IP 位址 TCP、UDP 53
Google API 和服務 輸出 允許 您為 Google API 和服務選擇的網域 IP 位址範圍。如果您使用預設值,請參閱「預設網域的 IP 位址」。 TCP 443
環境的叢集節點 輸出 允許 環境子網路的主要 IP 位址範圍 TCP、UDP 全部
環境叢集的 Pod 輸出 允許 環境子網路中 Pod 的次要 IP 位址範圍 TCP、UDP 全部
環境的叢集控制層 輸出 允許 GKE 控制層 IP 範圍 TCP、UDP 全部
網路伺服器 輸出 允許 網路伺服器網路 IP 範圍 TCP 3306、3307

如要取得環境叢集的 IP 範圍,請按照下列步驟操作:

  • Pod、Service 和控制層位址範圍位於環境叢集的「Clusters」(叢集) 頁面:

    1. 前往 Google Cloud 控制台的「Environments」(環境) 頁面。

      前往「Environments」(環境)

    2. 在環境清單中,按一下環境名稱。「Environment details」(環境詳細資料) 頁面隨即開啟。

    3. 前往「Environment configuration」(環境設定) 分頁。

    4. 點選「查看叢集詳細資料」連結。

  • 您可以在「Environment configuration」(環境設定) 分頁中查看環境的網路伺服器 IP 範圍。

  • 您可以在「Environment configuration」(環境設定) 分頁中查看環境的網路 ID。如要取得子網路的 IP 範圍,請前往「VPC Networks」(虛擬私有雲網路) 頁面,然後按一下網路名稱查看詳細資料:

    前往「VPC Networks」(虛擬私有雲網路) 頁面

VPC 原生叢集設定

Managed Airflow 支援環境中的 VPC 原生 GKE 叢集。

建立環境時,您可以啟用虛擬私有雲原生 (使用別名 IP) 並設定網路,例如 IP 分配,不啟用私人 IP。

Airflow 任務必須使用 VPC 原生叢集,才能與可透過私人 IP 連線的其他 VM 通訊,因此您也必須啟用 VPC 原生功能,才能設定私人 IP 環境。

設定 Proxy 伺服器變數

您可以在環境中設定 http_proxy 和 https_proxy 環境變數。在環境叢集容器中執行的網路用戶端會使用這些標準 Linux 變數,透過指定的 Proxy 轉送流量。

NO_PROXY 變數預設會設為 Google 網域清單、環境叢集 Compute Engine 中繼資料伺服器的 IP 位址,以及 localhost,以便將這些項目排除在 Proxy 之外:

.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost

如果 Proxy 未設定為處理 Google 服務的流量,這項設定可讓您建立具有 http_proxy 和 https_proxy 環境變數的環境。

後續步驟