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 不支援使用者定義的
.internal
DNS 區域。如果您為.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.patch
API 要求。在這項要求中:
在
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
環境變數。