Cloud Composer 3 | Cloud Composer 2 | Cloud Composer�
本頁說明如何建立私人 IP 環境,使用 Private Service Connect 而非虛擬私有雲對等互連。
如需建立私人 IP 環境的一般資訊,請參閱「設定私人 IP 環境」。
Cloud Composer 中的 Private Service Connect 簡介
環境的元件會分配至租戶和客戶專案。在私人 IP 環境中,這兩個專案中的元件會使用 VPC 對等互連連線。VPC 對等互連有一些限制,包括 VPC 中的對等互連數量上限。如果您在 Cloud Composer 環境中使用大規模網路,這些限制會更加明顯。
Cloud Composer 支援 Private Service Connect,因此私人 IP 環境可進行內部通訊,不必使用 VPC 對等互連。這類環境會使用私人 IP 和 PSC 架構。
事前準備
只有 Cloud Composer 2 支援 Private Service Connect。
您只能在建立新環境時啟用 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 connectivity」(Composer 連線) 區段中,選取「Private Service Connect」。
在「Composer connection subnetwork」(Composer 連線子網路) 下拉式選單中,選取 Private Service Connect 端點的子網路。
您可以使用環境的子網路。
或者,您也可以指定其他子網路。這樣一來,您就能更有效控管 PSC 端點 IP 位址的選取 CIDR 範圍。這個範圍可由多個 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.14.2-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。您可以使用環境的子網路。
或者,您也可以指定其他子網路。這樣做可讓您進一步控管 PSC 端點 IP 位址的選取 CIDR 範圍。多個 Cloud Composer 環境可以共用這個範圍。每個環境都需要一個 IP 位址。
範例:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.14.2-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 要求。在「環境」資源中,指定 Private Service Connect 連線的設定參數。
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.14.2-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。您可以使用環境的子網路。
或者,您也可以指定其他子網路。這樣做可讓您進一步控管 PSC 端點 IP 位址的選取 CIDR 範圍。多個 Cloud Composer 環境可以共用這個範圍。每個環境都需要一個 IP 位址。
範例:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.14.2-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.14.2-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。您可以使用環境的子網路。
或者,您也可以指定其他子網路。這樣做可讓您進一步控管 PSC 端點 IP 位址的選取 CIDR 範圍。多個 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.14.2-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"
}
}
}
}