設定私人 IP 網路

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer„�

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

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

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

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

使用 Private Service Connect 和虛擬私有雲對等互連的環境

Cloud Composer 2 預設使用 Private Service Connect,因此私人 IP 環境會在內部通訊,不必使用 VPC 對等互連,除非您在建立環境時另行指定。

如果沒有使用虛擬私有雲對等互連環境的特定需求,建議使用 Private Service Connect 環境。

事前準備

檢查網路需求

請確認您專案的虛擬私有雲網路符合下列條件:

  • 確認沒有任何私人 IP 區塊衝突。如果您的虛擬私有雲網路和其現有虛擬私有雲網路對等端,與 Google 代管用戶群專案中的虛擬私有雲網路有重疊的 IP 區塊,Cloud Composer 就無法建立環境。如要瞭解各區域使用的預設值,請參閱預設 IP 範圍表

  • 確認次要 IP 範圍足以供 Cloud Composer GKE Pod 和服務使用。GKE 會搜尋次要 IP 範圍以用於 IP 別名。如果 GKE 找不到範圍,Cloud Composer 就無法建立環境。

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

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

    • 每個使用 PSC 的私人 IP 環境,每個環境都會使用一個虛擬私有雲對等互連。這個虛擬私有雲對等互連是由環境的 GKE 叢集建立,GKE 叢集可以重複使用這個連線。如果是使用 PSC 的私人 IP 環境,每個位置最多可支援 75 個私人叢集

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

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

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

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

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

    如果您的環境使用 Private Service Connect:

    • GKE 控制層 IP 範圍。GKE 控制層的 IP 範圍。

      如果您為環境指定 GKE 控制層 IP 範圍,GKE 會在這個範圍內建立新的子網路,以佈建 IP 位址,與 GKE 控制層通訊。否則,系統會使用 Cloud Composer 連線子網路範圍中指定的子網路。

    • Cloud Composer 連線子網路。Cloud Composer 連線子網路的 IP 範圍。您只能指定兩個 IP 位址的範圍。專案中的多個環境都可以使用這個範圍。根據預設,這個範圍是環境的子網路 (虛擬私有雲子網路 ID)。

    如果您的環境使用虛擬私有雲對等互連:

    • GKE 控制層 IP 範圍。GKE 控制層的 IP 範圍。
    • Cloud Composer 用戶端網路的 IP 範圍。Cloud Composer 租戶網路的 IP 範圍。這個網路會代管環境的 SQL Proxy 元件
    • Cloud SQL IP 範圍。Cloud SQL 執行個體的 IP 範圍。

如要查看各區域使用的預設值,請參閱預設 IP 範圍表

預設 IP 範圍

使用 Private Service Connect 的環境

區域 GKE 控制層 IP 範圍
africa-south1 172.16.64.0/23
asia-east1 172.16.42.0/23
asia-east2 172.16.0.0/23
asia-northeast1 172.16.2.0/23
asia-northeast2 172.16.32.0/23
asia-northeast3 172.16.30.0/23
asia-south1 172.16.4.0/23
asia-south2 172.16.50.0/23
asia-southeast1 172.16.40.0/23
asia-southeast2 172.16.44.0/23
australia-southeast1 172.16.6.0/23
australia-southeast2 172.16.56.0/23
europe-central2 172.16.36.0/23
europe-north1 172.16.48.0/23
europe-southwest1 172.16.58.0/23
europe-west1 172.16.8.0/23
europe-west10 172.16.62.0/23
europe-west12 172.16.62.0/23
europe-west2 172.16.10.0/23
europe-west3 172.16.12.0/23
europe-west4 172.16.42.0/23
europe-west6 172.16.14.0/23
europe-west8 172.16.60.0/23
europe-west9 172.16.46.0/23
me-central1 172.16.58.0/23
me-central2 172.16.64.0/23
me-west1 172.16.54.0/23
northamerica-northeast1 172.16.16.0/23
northamerica-northeast2 172.16.46.0/23
northamerica-south1 172.16.68.0/23
southamerica-east1 172.16.18.0/23
southamerica-west1 172.16.58.0/23
us-central1 172.16.20.0/23
us-east1 172.16.22.0/23
us-east4 172.16.24.0/23
us-east5 172.16.52.0/23
us-south1 172.16.56.0/23
us-west1 172.16.38.0/23
us-west2 172.16.34.0/23
us-west3 172.16.26.0/23
us-west4 172.16.28.0/23

具有虛擬私有雲對等互連的環境

區域 GKE 控制層 IP 範圍 Cloud Composer 用戶端網路 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 Cloud內部路由傳送的 IP 位址,存取 Google API 和服務。

如果私人 IP 環境也使用 VPC Service Controls,請改用適用於 VPC Service Controls 環境的指示

Cloud Composer 環境會使用下列網域:

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

  • *.composer.cloud.google.com 用於存取環境的 Airflow 網路伺服器。您必須先套用這項規則,才能建立環境。

    • 或者,您也可以為特定區域建立規則。如要這麼做,請使用 REGION.composer.cloud.google.com。將 REGION 替換為環境所在的區域,例如 us-central1
  • (選用) 存取環境的 Airflow 網路伺服器時,會使用 *.composer.googleusercontent.com。只有在從虛擬私有雲網路中執行的執行個體存取 Airflow 網路伺服器時,才需要這項規則,否則不需要。這項規則的常見情境是您想從虛擬私有雲網路內呼叫 Airflow REST API。

    • 您也可以為特定環境建立規則。如要這麼做,請使用 ENVIRONMENT_WEB_SERVER_NAME.composer.googleusercontent.com。將 ENVIRONMENT_WEB_SERVER_NAME 替換為環境 Airflow UI 網址的專屬部分,例如 bffe6ce6c4304c55acca0e57be23128c-dot-us-central1
  • *.pkg.dev 用於取得環境映像檔,例如建立或更新環境時。

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

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

網域 DNS 名稱 CNAME 記錄 A 記錄
*.googleapis.com googleapis.com. DNS 名稱:*.googleapis.com.
資源記錄類型:CNAME
正式名稱:googleapis.com.
資源記錄類型:A
IPv4 位址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11
*.composer.cloud.google.com composer.cloud.google.com. DNS 名稱:*.composer.cloud.google.com.
資源記錄類型:CNAME
正式名稱:composer.cloud.google.com.
資源記錄類型:A
IPv4 位址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11
*.composer.googleusercontent.com
(選用,請參閱說明)
composer.googleusercontent.com. DNS 名稱:*.composer.googleusercontent.com.
資源記錄類型:CNAME
正式名稱:composer.googleusercontent.com.
資源記錄類型:A
IPv4 位址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11
*.pkg.dev pkg.dev. DNS 名稱:*.pkg.dev.
資源記錄類型:CNAME
正式名稱:pkg.dev.
資源記錄類型:A
IPv4 位址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11
*.gcr.io gcr.io. DNS 名稱:*.gcr.io.
資源記錄類型:CNAME
正式名稱:gcr.io.
資源記錄類型:A
IPv4 位址:199.36.153.8199.36.153.9199.36.153.10199.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.8199.36.153.9199.36.153.10199.36.153.11

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

(選用) 設定防火牆規則

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

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

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

  • 如要瞭解如何檢查、新增及更新虛擬私有雲網路的規則,請參閱「使用防火牆規則」。
  • 使用連線工具驗證 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 全部
(如果您的環境使用 Private Service Connect) 連線子網路 輸出 允許 Cloud Composer 連線子網路範圍 TCP 3306、3307
(如果您的環境使用 VPC 對等互連) 租戶網路 輸出 允許 Cloud Composer 用戶端網路 IP 範圍 TCP 3306、3307

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

  • 您可以在環境叢集的「叢集」頁面上查看 Pod、Service 和控制層的位址範圍:

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

      前往「環境」

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

    3. 前往「環境設定」分頁。

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

  • 您可以在「環境設定」分頁中,查看環境的 Cloud Composer 租戶網路 IP 範圍。

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

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

設定 Proxy 伺服器變數

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

根據預設,NO_PROXY 變數會設為 Google 網域和 localhost 清單,因此這些網域會排除在 Proxy 之外:.google.com,.googleapis.com,metadata.google.internal,localhost。如果 Proxy 未設定為處理 Google 服務的流量,您可以使用這項設定建立環境,並設定 http_proxyhttps_proxy 環境變數。

後續步驟