Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
En esta página, se explica cómo crear un entorno de IP privada que use Private Service Connect en lugar de intercambios de tráfico de VPC.
Para obtener información general sobre la creación de entornos de IP privada, consulta Configura un entorno de IP privada.
Acerca de Private Service Connect en Cloud Composer
Los componentes del entorno se distribuyen el usuario y el proyecto del cliente. En IP privada, los componentes ubicados en estos dos proyectos se conectan mediante intercambios de tráfico de VPC. Los intercambios de tráfico de VPC tienen algunas limitaciones, incluido el límite de la cantidad máxima de intercambios de tráfico en una VPC. Estos límites pueden ser más evidentes si usas redes a gran escala con entornos de Cloud Composer.
Con la compatibilidad con Private Service Connect en Cloud Composer, tus entornos de IP privadas se comunican de forma interna sin usar el aprovisionamiento de VPC. Estos entornos usan el IP privada con arquitectura PSC.
Antes de comenzar
La compatibilidad con Private Service Connect está disponible solo en Cloud Composer 2.
Solo puedes habilitar Private Service Connect cuando creas un entorno nuevo. No es posible cambiar un entorno existente para usar Private Service Connect.
Tu entorno debe ser un entorno de IP privada. Debido a que no se usan intercambios de tráfico entre VPC, no es necesario especificar los rangos CIDR para la instancia de Cloud SQL y la red red de Cloud Composer.
Si la restricción de la política de la organización Inhabilitar Private Service Connect para consumidores niega los extremos SERVICE_PRODUCER, no es posible crear entornos con Private Service Connect. Esta política no afecta a los entornos existentes de Cloud Composer con Private Service Connect. Estos entornos pueden funcionar cuando se habilita esta política.
Habilita Private Service Connect cuando crees un entorno
Console
Para crear un entorno con Private Service Connect, seleccionar el tipo de conectividad Private Service Connect cuando crees una Entorno de IP privada. Luego, especifica la subred para la Private Service Connect.
Cuando creas un entorno de IP privada, sigue estos pasos:
En la sección Configuración de red, expande el elemento Mostrar configuración de red.
En la sección Tipo de red, selecciona la opción Entorno de IP privado para crear un entorno de IP privado.
En la sección Conectividad de Composer, selecciona Private Service Connect.
En la lista desplegable Subred de conexión de Composer, selecciona la subred para los extremos de Private Service Connect.
Puedes usar la subred de tu entorno.
Como alternativa, puedes especificar una subred diferente. De esta manera, obtienes más control sobre el rango de CIDR desde el que se selecciona la dirección IP del extremo de PSC. Varios entornos de Cloud Composer pueden compartir este rango. Cada entorno requiere una dirección IP.
Especifica otros parámetros para tu entorno de IP privada.
gcloud
Para crear un entorno con Private Service Connect, usa el argumento --connection-subnetwork
cuando crees un entorno de IP privada. Luego, especifica la subred para la conexión de Private Service Connect.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.9.7-airflow-2.9.3 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno.ENVIRONMENT_PSC_SUBNETWORK
con el URI de la subred para los extremos de Private Service Connect.Puedes usar la subred de tu entorno.
Como alternativa, puedes especificar una subred diferente. Hacerlo te brinda más control sobre el rango CIDR desde el que se obtiene la dirección IP se selecciona el extremo de PSC. Varias personas pueden compartir este rango Entornos de Cloud Composer. Cada entorno requiere una dirección IP.
Ejemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.9.7-airflow-2.9.3 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"
API
Realiza una solicitud a la API de environments.create
. En el recurso Entorno, especifica los parámetros de configuración para la conexión de Private Service Connect.
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.9.7-airflow-2.9.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"
}
]
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.ENVIRONMENT_NETWORK
por el URI de la red de tu entorno.ENVIRONMENT_SUBNETWORK
por el URI de la subred de tu entorno.ENVIRONMENT_PSC_SUBNETWORK
por el URI de la subred para PSC en los extremos.Puedes usar la subred de tu entorno.
Como alternativa, puedes especificar una subred diferente. Hacerlo te brinda más control sobre el rango CIDR desde el que se obtiene la dirección IP se selecciona el extremo de PSC. Varios entornos de Cloud Composer pueden compartir este rango. Cada entorno requiere una dirección IP.
Ejemplo:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.9.7-airflow-2.9.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
Cuando creas un entorno, el campo cloud_composer_connection_subnetwork
en el bloque private_environment_config
habilita Private Service Connect.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.9.7-airflow-2.9.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"
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.ENVIRONMENT_NETWORK
por el URI de la red de tu entorno.ENVIRONMENT_SUBNETWORK
por el URI de la subred de tu entorno.ENVIRONMENT_PSC_SUBNETWORK
por el URI de la subred para PSC en los extremos.Puedes usar la subred de tu entorno.
Como alternativa, puedes especificar una subred diferente. Hacerlo te brinda más control sobre el rango CIDR desde el que se obtiene la dirección IP se selecciona el extremo de PSC. Varios entornos de Cloud Composer pueden compartir este rango. Cada entorno requiere una IP web.
Ejemplo:
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.9.7-airflow-2.9.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"
}
}
}
}
¿Qué sigue?
- Configura entornos de IP privada.
- Crear entornos
- Arquitectura del entorno
- Información sobre los entornos de IP privada