Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se explica cómo crear un entorno de IP privada que utilice Private Service Connect en lugar de emparejamientos de VPC.
Para obtener información general sobre cómo crear entornos de IP privada, consulta Configurar un entorno de IP privada.
Acerca de Private Service Connect en Cloud Composer
Los componentes de tu entorno se distribuyen entre el propietario y el proyecto del cliente. En los entornos de IP privada, los componentes ubicados en estos dos proyectos se conectan mediante emparejamientos de VPC. El emparejamiento entre redes de VPC tiene algunas limitaciones, como el número máximo de emparejamientos en una red de 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 privada se comunican internamente sin usar el peering de VPC. Estos entornos usan la arquitectura de IP privada con PSC.
Antes de empezar
La compatibilidad con Private Service Connect solo está disponible en Cloud Composer 2.
Solo puedes habilitar Private Service Connect cuando creas un entorno. No es posible cambiar un entorno para que use Private Service Connect.
Tu entorno debe ser un entorno de IP privada. Como no se usan las conexiones de VPC, no es necesario que especifiques los intervalos de CIDR de la instancia de Cloud SQL y de la red interna de Cloud Composer.
Si la restricción de la política de organización Disable Private Service Connect for Consumers (Inhabilitar Private Service Connect para consumidores) deniega los puntos finales de SERVICE_PRODUCER, no se podrán crear entornos con Private Service Connect. Esta política no afecta a los entornos de Cloud Composer que ya tengan Private Service Connect. Estos entornos pueden funcionar cuando esta política está habilitada.
Habilitar Private Service Connect al crear un entorno
Consola
Para crear un entorno con Private Service Connect, selecciona el tipo de conectividad Private Service Connect al crear un entorno de IP privada. A continuación, especifica la subred de la conexión de Private Service Connect.
Cuando creas un entorno de IP privada, ocurre lo siguiente:
En la sección Configuración de red, despliega el elemento Mostrar configuración de red.
En la sección Tipo de red, selecciona la opción Entorno de IP privada para crear un entorno de IP privada.
En la sección Conectividad de Composer, selecciona Private Service Connect.
En la lista desplegable Subred de conexión de Composer, selecciona la subred de los endpoints de Private Service Connect.
Puedes usar la subred de tu entorno.
También puedes especificar una subred diferente. De esta forma, tendrás más control sobre el intervalo CIDR del que se selecciona la dirección IP del endpoint de PSC.Varios entornos de Cloud Composer pueden compartir este intervalo. 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
al crear un entorno de IP privada. A continuación, especifica la subred de la conexión de Private Service Connect.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.13.9-airflow-2.10.5 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK
Sustituye:
ENVIRONMENT_NAME
con 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 de los endpoints de Private Service Connect.Puedes usar la subred de tu entorno.
También puedes especificar una subred diferente. De esta forma, tendrá más control sobre el intervalo CIDR del que se selecciona la dirección IP del endpoint de PSC. Varias instancias de Cloud Composer pueden compartir este intervalo. Cada entorno requiere una dirección IP.
Ejemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.13.9-airflow-2.10.5 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"
API
Crea una solicitud de la API environments.create
. En el recurso Environment, especifica los parámetros de configuración de 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.13.9-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"
}
]
}
}
}
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.ENVIRONMENT_NETWORK
con el URI de la red de tu entorno.ENVIRONMENT_SUBNETWORK
con el URI de la subred de tu entorno.ENVIRONMENT_PSC_SUBNETWORK
con el URI de la subred de los endpoints de PSC.Puedes usar la subred de tu entorno.
También puedes especificar una subred diferente. De esta forma, tendrás más control sobre el intervalo CIDR del que se selecciona la dirección IP del endpoint de PSC. Varias instancias de Cloud Composer pueden compartir este intervalo. 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.13.9-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
Cuando creas un entorno, el campo cloud_composer_connection_subnetwork
del 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.13.9-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"
}
}
}
}
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.ENVIRONMENT_NETWORK
con el URI de la red de tu entorno.ENVIRONMENT_SUBNETWORK
con el URI de la subred de tu entorno.ENVIRONMENT_PSC_SUBNETWORK
con el URI de la subred de los endpoints de PSC.Puedes usar la subred de tu entorno.
También puedes especificar una subred diferente. De esta forma, tendrás más control sobre el intervalo CIDR del que se selecciona la dirección IP del endpoint de PSC. Varias instancias de Cloud Composer pueden compartir este intervalo. Cada entorno requiere una dirección IP.
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.13.9-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"
}
}
}
}
Siguientes pasos
- Configurar entornos de IP privada
- Crear entornos
- Arquitectura del entorno
- Acerca de los entornos de IP privadas