Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
本頁說明如何建立使用Private Service Connect 而非虛擬私有雲網路對等互連的私人 IP 環境。
如要進一步瞭解如何建立私人 IP 環境,請參閱「設定私人 IP 環境」一文。
關於 Cloud Composer 中的 Private Service Connect
環境的元件會分散在用戶群和客戶專案之間。在私人 IP 環境中,這兩個專案中的元件會透過虛擬私有雲網路對等連線連線。VPC 對等互連有某些限制,包括 VPC 中的對等互連數量上限。如果您在 Cloud Composer 環境中使用大規模網路,這些限制可能會更加明顯。
Cloud Composer 中的 Private Service Connect 支援可讓私人 IP 環境在內部通訊,不必使用虛擬私有雲對等互連。這類環境會使用Private IP 搭配 PSC 架構。
事前準備
Private Service Connect 僅支援 Cloud Composer 2。
您只能在建立新環境時啟用 Private Service Connect。您無法將現有環境切換為使用 Private Service Connect。
您的環境必須是私人 IP 環境。由於不會使用 VPC 對等互連,因此您不需要為 Cloud SQL 執行個體和內部 Cloud Composer 網路指定 CIDR 範圍。
如果「停用用戶的 Private Service Connect」組織政策限制拒絕 SERVICE_PRODUCER 端點,就無法使用 Private Service Connect 建立環境。這項政策不會影響已啟用 Private Service Connect 的現有 Cloud Composer 環境。這類環境可在啟用這項政策時運作。
在建立環境時啟用 Private Service Connect
主控台
如要建立使用 Private Service Connect 的環境,請在建立私人 IP 環境時,選取「Private Service Connect」連線類型。接著,請指定 Private Service Connect 連線的子網路。
建立私人 IP 環境時:
在「網路設定」部分,展開「顯示網路設定」項目。
在「網路類型」部分,選取「私人 IP 環境」選項,即可建立私人 IP 環境。
在「Composer 連線」部分,選取「Private Service Connect」。
在「Composer connection subnetwork」(Composer 連線子網路) 下拉式選單中,選取 Private Service Connect 端點的子網路。
您可以使用環境的子網路。
您也可以指定其他子網路。這樣一來,您就能更進一步控制 CIDR 範圍,從中選取 PSC 端點的 IP 位址。這個範圍可供多個 Cloud Composer 環境共用。每個環境都需要一個 IP 位址。
指定私人 IP 環境的其他參數。
gcloud
如要建立使用 Private Service Connect 的環境,請在建立私人 IP 環境時使用 --connection-subnetwork
引數。接著指定 Private Service Connect 連線的子網路。
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.13.4-airflow-2.10.5 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK
取代:
- 將
ENVIRONMENT_NAME
替換為環境的名稱。 LOCATION
改成環境所在的地區。ENVIRONMENT_PSC_SUBNETWORK
與 Private Service Connect 端點的子網路 URI。您可以使用環境的子網路。
您也可以指定其他子網路。這樣一來,您就能更進一步掌控 CIDR 範圍,並從中選取 PSC 端點的 IP 位址。這個範圍可由多個 Cloud Composer 環境共用。每個環境都需要一個 IP 位址。
範例:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.13.4-airflow-2.10.5 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"
API
建構 environments.create
API 要求。在 Environment 資源中,指定 Private Service Connect 連線的設定參數。
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.13.4-airflow-2.10.5"
},
"nodeConfig": {
"network": "ENVIRONMENT_NETWORK",
"subnetwork": "ENVIRONMENT_SUBNETWORK"
},
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true,
"privateClusterConfig": {
"enablePrivateEndpoint": false
},
"cloudComposerConnectionSubnetwork": "ENVIRONMENT_PSC_SUBNETWORK"
}
"webServerNetworkAccessControl": {
"allowedIpRanges": [
{
"value": "0.0.0.0/0",
"description": "Allows access from all IPv4 addresses"
},
{
"value": "::0/0",
"description": "Allows access from all IPv6 addresses"
}
]
}
}
}
取代:
- 將
ENVIRONMENT_NAME
替換為環境的名稱。 ENVIRONMENT_NETWORK
與環境網路的 URI。ENVIRONMENT_SUBNETWORK
與環境子網路的 URI。ENVIRONMENT_PSC_SUBNETWORK
,其中包含 PSC 端點子網路的 URI。您可以使用環境的子網路。
您也可以指定其他子網路。這樣一來,您就能更進一步掌控 CIDR 範圍,並從中選取 PSC 端點的 IP 位址。這個範圍可由多個 Cloud Composer 環境共用。每個環境都需要一個 IP 位址。
範例:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.13.4-airflow-2.10.5"
},
"nodeConfig": {
"network": "projects/example-project/global/networks/default",
"subnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
},
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true,
"privateClusterConfig": {
"enablePrivateEndpoint": false
},
"cloudComposerConnectionSubnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
}
"webServerNetworkAccessControl": {
"allowedIpRanges": [
{
"value": "0.0.0.0/0",
"description": "Allows access from all IPv4 addresses"
},
{
"value": "::0/0",
"description": "Allows access from all IPv6 addresses"
}
]
}
}
}
Terraform
建立環境時,private_environment_config
區塊中的 cloud_composer_connection_subnetwork
欄位會啟用 Private Service Connect。
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.13.4-airflow-2.10.5"
}
node_config {
network = "ENVIRONMENT_NETWORK"
subnetwork = "ENVIRONMENT_SUBNETWORK"
}
private_environment_config {
// Other private IP environment parameters
cloud_composer_connection_subnetwork = "ENVIRONMENT_PSC_SUBNETWORK"
}
web_server_network_access_control {
allowed_ip_range {
value = "0.0.0.0/0"
description = "Allows access from all IPv4 addresses"
}
allowed_ip_range {
value = "::0/0"
description = "Allows access from all IPv6 addresses"
}
}
}
}
取代:
- 將
ENVIRONMENT_NAME
替換為環境的名稱。 ENVIRONMENT_NETWORK
與環境網路的 URI。ENVIRONMENT_SUBNETWORK
與環境子網路的 URI。ENVIRONMENT_PSC_SUBNETWORK
,其中包含 PSC 端點子網路的 URI。您可以使用環境的子網路。
您也可以指定其他子網路。這樣一來,您就能更進一步掌控 CIDR 範圍,並從中選取 PSC 端點的 IP 位址。這個範圍可由多個 Cloud Composer 環境共用。每個環境都需要一個 IP 位址。
範例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
software_config {
image_version = "composer-2.13.4-airflow-2.10.5"
}
node_config {
network = "projects/example-project/global/networks/default"
subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
}
private_environment_config {
// Other private IP environment parameters
enable_private_endpoint = "true"
cloud_composer_connection_subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
}
web_server_network_access_control {
allowed_ip_range {
value = "0.0.0.0/0"
description = "Allows access from all IPv4 addresses"
}
allowed_ip_range {
value = "::0/0"
description = "Allows access from all IPv6 addresses"
}
}
}
}