Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina spiega come creare un ambiente IP privato che utilizzi Private Service Connect anziché i peering VPC.
Per informazioni generali sulla creazione di ambienti IP privati, consulta Configurare un ambiente IP privato.
Informazioni su Private Service Connect in Cloud Composer
I componenti dell'ambiente sono distribuiti tra il tenant e il progetto del cliente. In ambienti IP privati, i componenti situati in questi due progetti si connettono tramite peering VPC. I peering VPC presentano alcune limitazioni, compreso il limite al numero massimo di peering in un VPC. Questi limiti possono diventare più evidenti se si utilizzano reti su larga scala con ambienti Cloud Composer.
Grazie al supporto di Private Service Connect in Cloud Composer, i tuoi ambienti IP privati comunicano internamente senza l'utilizzo di peering VPC. Questi ambienti utilizzano l'architettura IP privato con PSC.
Prima di iniziare
Il supporto di Private Service Connect è disponibile solo in Cloud Composer 2.
Puoi abilitare Private Service Connect solo quando crei un nuovo ambiente. Non è possibile cambiare un ambiente esistente per utilizzare Private Service Connect.
Il tuo ambiente deve essere un ambiente IP privato. Poiché i peering VPC non vengono utilizzati, non è necessario specificare gli intervalli CIDR per l'istanza Cloud SQL e la rete Cloud Composer interna.
Se il vincolo dei criteri dell'organizzazione Disabilita Private Service Connect per i consumatori nega gli endpoint SERVICE_PRODUCER, non è possibile creare ambienti con Private Service Connect. Questo criterio non influisce sugli ambienti Cloud Composer con PSC esistenti. Questi ambienti possono funzionare quando questo criterio è abilitato.
Abilita Private Service Connect quando crei un ambiente
Console
Per creare un ambiente con Private Service Connect, seleziona il tipo di connettività Private Service Connect quando crei un ambiente IP privato. Quindi, specifica la subnet per la connessione Private Service Connect.
Quando crei un ambiente IP privato:
Nella sezione Configurazione di rete, espandi l'elemento Mostra configurazione di rete.
Nella sezione Tipo di rete, seleziona l'opzione Ambiente IP privato per creare un ambiente IP privato.
Nella sezione Connettività del Composer, seleziona Private Service Connect.
Nell'elenco a discesa Subnet connessione Composer, seleziona la subnet per gli endpoint Private Service Connect.
Puoi utilizzare la subnet del tuo ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo avrai un maggiore controllo sull'intervallo CIDR da cui viene selezionato l'indirizzo IP per l'endpoint PSC.Questo intervallo può essere condiviso da più ambienti Cloud Composer. Ogni ambiente richiede un indirizzo IP.
Specifica altri parametri per il tuo ambiente IP privato.
gcloud
Per creare un ambiente con Private Service Connect, utilizza l'argomento --connection-subnetwork
quando crei un ambiente IP privato. Quindi, specifica la subnet per
la connessione Private Service Connect.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.8.3-airflow-2.7.3 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.ENVIRONMENT_PSC_SUBNETWORK
con l'URI della subnet per gli endpoint Private Service Connect.Puoi utilizzare la subnet del tuo ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo avrai un maggiore controllo sull'intervallo CIDR da cui viene selezionato l'indirizzo IP per l'endpoint PSC. Questo intervallo può essere condiviso da più ambienti Cloud Composer. Ogni ambiente richiede un indirizzo IP.
Esempio:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.8.3-airflow-2.7.3 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"
API
Creare una richiesta API environments.create
. Nella risorsa Ambiente, specifica i parametri di configurazione per la connessione Private Service Connect.
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.8.3-airflow-2.7.3"
},
"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"
}
]
}
}
}
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.ENVIRONMENT_NETWORK
con l'URI della rete del tuo ambiente.ENVIRONMENT_SUBNETWORK
con l'URI della subnet del tuo ambiente.ENVIRONMENT_PSC_SUBNETWORK
con l'URI della subnet per gli endpoint PSC.Puoi utilizzare la subnet del tuo ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo avrai un maggiore controllo sull'intervallo CIDR da cui viene selezionato l'indirizzo IP per l'endpoint PSC. Questo intervallo può essere condiviso da più ambienti Cloud Composer. Ogni ambiente richiede un indirizzo IP.
Esempio:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.8.3-airflow-2.7.3"
},
"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
Quando crei un ambiente, il campo cloud_composer_connection_subnetwork
nel blocco private_environment_config
abilita Private Service Connect.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.8.3-airflow-2.7.3"
}
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"
}
}
}
}
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.ENVIRONMENT_NETWORK
con l'URI della rete del tuo ambiente.ENVIRONMENT_SUBNETWORK
con l'URI della subnet del tuo ambiente.ENVIRONMENT_PSC_SUBNETWORK
con l'URI della subnet per gli endpoint PSC.Puoi utilizzare la subnet del tuo ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo avrai un maggiore controllo sull'intervallo CIDR da cui viene selezionato l'indirizzo IP per l'endpoint PSC. Questo intervallo può essere condiviso da più ambienti Cloud Composer. Ogni ambiente richiede un indirizzo IP.
Esempio:
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.8.3-airflow-2.7.3"
}
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"
}
}
}
}
Passaggi successivi
- Configurazione di ambienti IP privati
- Creazione di ambienti
- Architettura dell'ambiente
- Informazioni sugli ambienti IP privati