變更環境網路類型 (私人或公開 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,以及查看可透過 private.googleapis.com 存取的服務和網域清單,請參閱虛擬私有雲說明文件中的「網路設定」。

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

      如要進一步瞭解 restricted.googleapis.com,以及查看可透過 restricted.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. 在「網路類型」對話方塊中,選取:

    • 公開 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_STATUS:私人 IP 為 true,公開 IP 為 false

範例 (私人 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 環境變數。

後續步驟