變更環境網路類型 (私人或公開 IP)

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

本頁面說明 Cloud Composer 3 中私人 IP 和公開 IP 環境網路類型的差異,並提供切換環境網路類型的操作說明。

如果您只想在安裝 PyPI 套件時停用或啟用網際網路存取權,請參閱「安裝 PyPI 套件時設定網際網路存取權」。

如果您想從環境啟用虛擬私有雲網路的存取權,請參閱「將環境連線至虛擬私有雲網路」。

關於環境網路類型

Cloud Composer 3 使用兩種環境網路類型:

  • 公開 IP 網路

    • 環境中的 Airflow 元件可存取網際網路。這是預設的網路類型。

    • 在公開 IP 環境中,Airflow 元件會透過自動分配的公開 IP 位址和通訊埠建立傳出連線。如果您希望公開 IP 環境使用預先設定的 IP 位址和連接埠,可以將虛擬私人雲端網路連線至環境,然後切換為私人 IP。在這種情況下,Cloud Composer 會將所有流量 (除了 Google 服務的流量) 透過這個網路進行路由。

  • 私人 IP 網路

    • 環境中的 Airflow 元件無法存取網際網路。

    • 私人 IP 環境會透過 private.googleapis.com 範圍設定私人 Google 存取權,以便存取這個範圍支援的 Google API、服務和網域。

      如需詳細資訊和透過 private.googleapis.com 提供的服務和網域清單,請參閱虛擬私有雲說明文件中的「網路設定」一節。

    • 搭配 VPC Service Controls 的私人 IP 環境會透過 restricted.googleapis.com 範圍設定私人 Google 存取權,這樣就能存取這個範圍支援的 Google API、服務和網域。

      如需詳細資訊和透過 resrticted.googleapis.com 提供的服務和網域清單,請參閱虛擬私有雲說明文件中的「網路設定」一節。

除了兩種網路類型之外,您還可以為任何類型的環境啟用或停用對自訂 VPC 網路的存取權。視您設定虛擬私有雲網路的方式而定,私人 IP 環境可以透過虛擬私有雲網路存取網際網路。

Cloud Composer 2 網路與 Cloud Composer 3 的比較

在 Cloud Composer 3 中,私人 IP 環境不需要設定。

下列 Cloud Composer 2 網路功能在 Cloud Composer 3 中已不適用:

  • 設定私人 IP 網路。您不需要指定 IP 範圍、網路,也不需要設定連線和防火牆規則。

  • 設定 Private Service Connect。您不需要在 Cloud Composer 3 中設定 Private Service Connect 的範圍。

  • 使用私人使用的公開 IP 範圍。這項功能提供可延長可用 IP 範圍的選項,但在 Cloud Composer 3 中並非必要。

  • 使用 IP 偽裝代理程式。您不需要在 Cloud Composer 3 中設定叢集連線。

  • 設定授權網路。無法在 Cloud Composer 3 中存取環境的叢集。

變更環境網路類型

主控台

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

    前往「環境」

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

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

  4. 在「網路設定」專區中,找出「網路類型」項目,然後按一下「編輯」

  5. 在「Networking type」對話方塊中,選取:

    • 公開 IP 網路的公開 IP 環境 (預設)
    • 私人 IP 環境 (私人 IP 網路)。
  6. 按一下 [儲存]

gcloud

下列 Google Cloud CLI 引數可變更環境的網路類型:

  • --enable-private-environment:私人 IP 網路的變更。
  • --disable-private-environment:變更為公開 IP 網路 (預設)。

變更為私人 IP 網路:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --enable-private-environment

改用公開 IP 網路:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-private-environment

更改下列內容:

  • ENVIRONMENT_NAME:環境名稱。
  • LOCATION:環境所在的地區。

範例 (私人 IP):

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment

範例 (公開 IP):

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --disable-private-environment

API

  1. 建立 environments.patch API 要求。

  2. 在這個要求中:

    1. updateMask 參數中指定 config.private_environment_config.enable_private_environment 遮罩。

    2. 在要求主體的 enablePrivateEnvironment 欄位中:

      • 指定 true 以改用私人 IP 網路。
      • 指定 false 即可變更為公開 IP 網路 (預設)。

範例 (私人 IP):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.private_environment_config.enable_private_environment

"config": {
  "privateEnvironmentConfig": {
    "enablePrivateEnvironment": true
  }
}

Terraform

config 區塊中的 enable_private_environment 欄位會指定環境的網路類型:

  • true:私人 IP 網路。
  • false 或省略:公開 IP 網路 (預設)。
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    enable_private_environment = PRIVATE_IP_STATUS

  }
}

更改下列內容:

  • ENVIRONMENT_NAME:環境名稱。
  • LOCATION:環境所在的地區。
  • PRIVATE_IP_STATUStrue 代表私人 IP,false 代表公開 IP

範例 (私人 IP):

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    enable_private_environment = true

    ... other configuration parameters
  }
}

設定 Proxy 伺服器變數

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

預設情況下,NO_PROXY 變數會設為 Google 網域和 localhost 的清單,以便將這些項目排除在 Proxy 之外:.google.com,.googleapis.com,metadata.google.internal,localhost。在 Proxy 未設定為處理 Google 服務流量的情況下,這項設定可讓您建立環境,並設定 http_proxyhttps_proxy 環境變數。

後續步驟