Cloud Composer 3 | Cloud Composer 2 | Cloud Composer�
本頁面說明 Cloud Composer 3 中私人 IP 和公開 IP 環境網路類型的差異,並提供切換環境網路類型的操作說明。
如要僅在安裝 PyPI 套件時停用或啟用網際網路存取權,請參閱「在安裝 PyPI 套件時設定網際網路存取權」。
如要從環境啟用虛擬私有雲網路的存取權,請參閱「將環境連線至虛擬私有雲網路」。
關於環境網路類型
Cloud Composer 3 使用兩種環境網路類型:
公開 IP 網路:
環境的 Airflow 元件可以存取網際網路。這是預設的網路類型。
-
在公開 IP 環境中,Airflow 元件會從自動分配的公開 IP 位址和通訊埠建立傳出連線。如要讓公開 IP 環境使用預先決定的 IP 位址和連接埠,可以將虛擬私有雲網路連線至環境,然後切換至私人 IP。在這種情況下,Cloud Composer 會透過這個網路,將所有流量 (Google 服務流量除外) 傳送至該網路。
私人 IP 網路:
與公開 IP 網路相比,私人 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存取的服務和網域清單,請參閱虛擬私有雲說明文件中的「網路設定」。如果私人 IP 環境已連結至自訂虛擬私有雲網路,則所有內部流量都會路由至該虛擬私有雲網路,但透過私人 Google 存取權提供給私人 IP 環境的 Google API、服務和網域流量除外。
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 中,無法存取環境的叢集。
Cloud Composer 3 不支援下列 DNS 設定:
- Cloud Composer 3 不支援使用者定義的
.internalDNS 區域。如果您為.internal建立 DNS 區域,將無法連線至該區域。
變更環境網路類型
主控台
前往 Google Cloud 控制台的「Environments」頁面。
在環境清單中,按一下環境名稱。 「環境詳細資料」頁面隨即開啟。
前往「環境設定」分頁。
在「網路設定」部分中,找出「網路類型」項目,然後按一下「編輯」。
在「Networking type」(網路類型) 對話方塊中,選取:
- 公開 IP 網路的公開 IP 環境 (預設)。
- 私人 IP 網路的私人 IP 環境。
按一下 [儲存]。
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
建立
environments.patchAPI 要求。在這項要求中:
在
updateMask參數中,指定config.private_environment_config.enable_private_environment遮罩。在要求主體的
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_proxy 和 https_proxy 環境變數。這些標準 Linux 變數是由環境叢集容器中執行的網路用戶端使用,可透過指定的 Proxy 轉送流量。
根據預設,NO_PROXY 變數會設為 Google 網域和 localhost 清單,因此這些網域會排除在 Proxy 之外:.google.com,.googleapis.com,metadata.google.internal,localhost。如果 Proxy 未設定為處理 Google 服務的流量,您可以使用這項設定建立環境,並設定 http_proxy 和 https_proxy 環境變數。