Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa pagina spiega come creare un ambiente IP privato che utilizza Private Service Connect anziché il peering VPC.
Per informazioni generali sulla creazione di ambienti IP privati, consulta Configurare un ambiente IP privato.
Informazioni su Private Service Connect in Managed Airflow
I componenti dell'ambiente sono distribuiti tra il progetto tenant e il progetto cliente. Negli ambienti IP privati, i componenti che si trovano in questi due progetti si connettono utilizzando il peering VPC. Il peering VPC presenta alcune limitazioni, tra cui il limite al numero massimo di peering in un VPC. Questi limiti possono diventare più evidenti se utilizzi reti su larga scala con ambienti Managed Airflow.
Con il supporto di Private Service Connect in Managed Airflow, gli ambienti IP privati comunicano internamente senza l'utilizzo del peering VPC. Questi ambienti utilizzano l'architettura IP privato con PSC.
Prima di iniziare
Il supporto di Private Service Connect è disponibile solo in Managed Airflow (seconda generazione).
Puoi abilitare Private Service Connect solo quando crei un nuovo ambiente. Non è possibile passare a un ambiente esistente per utilizzare Private Service Connect.
L'ambiente deve essere un ambiente IP privato. Poiché non vengono utilizzati peering VPC, non è necessario specificare gli intervalli CIDR per l'istanza Cloud SQL e la rete interna di Managed Airflow.
Se il vincolo del criterio dell'organizzazione Disabilita Private Service Connect per i consumer nega gli endpoint SERVICE_PRODUCER, non è possibile creare ambienti con Private Service Connect. Questo criterio non influisce sugli ambienti Managed Airflow esistenti con Private Service Connect. Questi ambienti possono operare quando questo criterio è abilitato.
Abilitare Private Service Connect durante la creazione di 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à di Composer, seleziona Private Service Connect.
Nell'elenco a discesa Subnet di connessione di Composer, seleziona la subnet per gli endpoint Private Service Connect.
Puoi utilizzare la subnet dell'ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo, hai un maggiore controllo sull'intervallo CIDR da cui vengono selezionati gli indirizzi IP per l'endpoint PSC.Questo intervallo può essere condiviso da più ambienti Managed Airflow. Ogni ambiente richiede un indirizzo IP.
Specifica altri parametri per l'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.17.14-airflow-2.11.1 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.ENVIRONMENT_PSC_SUBNETWORKcon l'URI della subnet per gli endpoint Private Service Connect.Puoi utilizzare la subnet dell'ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo, hai un maggiore controllo sull'intervallo CIDR da cui vengono selezionati gli indirizzi IP per l'endpoint PSC. Questo intervallo può essere condiviso da più ambienti Managed Airflow. Ogni ambiente richiede un indirizzo IP.
Esempio:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.17.14-airflow-2.11.1 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"
API
Crea
una environments.create richiesta API. 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.17.14-airflow-2.11.1"
},
"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_NAMEcon il nome dell'ambiente.ENVIRONMENT_NETWORKcon l'URI della rete dell'ambiente.ENVIRONMENT_SUBNETWORKcon l'URI della subnet dell'ambiente.ENVIRONMENT_PSC_SUBNETWORKcon l'URI della subnet per gli endpoint PSC.Puoi utilizzare la subnet dell'ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo, hai 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 Managed Airflow. 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.17.14-airflow-2.11.1"
},
"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.17.14-airflow-2.11.1"
}
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_NAMEcon il nome dell'ambiente.ENVIRONMENT_NETWORKcon l'URI della rete dell'ambiente.ENVIRONMENT_SUBNETWORKcon l'URI della subnet dell'ambiente.ENVIRONMENT_PSC_SUBNETWORKcon l'URI della subnet per gli endpoint PSC.Puoi utilizzare la subnet dell'ambiente.
In alternativa, puoi specificare una subnet diversa. In questo modo, hai 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 Managed Airflow. 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.17.14-airflow-2.11.1"
}
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
- Configurare gli ambienti IP privati
- Creare ambienti
- Architettura dell'ambiente
- Informazioni sugli ambienti IP privati