Configura Private Service Connect en Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En esta página, se explica cómo crear una IP privada que usa Private Service Connect en lugar de intercambios de tráfico entre 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 con intercambios de tráfico de VPC. Intercambios de tráfico entre VPC tienen algunas limitaciones, como el límite de la cantidad máxima 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.

Gracias a la asistencia de Private Service Connect en Cloud Composer, los entornos de IP privada se comunican de forma interna sin el intercambio de tráfico entre 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 nuevo entorno. 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 opción Inhabilitar Private Service Connect para los consumidores restricción de la política de la organización rechaza extremos de SERVICE_PRODUCER, no es posible crear entornos con Private Service Connect Esta política no afecta entornos existentes de Cloud Composer con PSC. Estos entornos puede operar cuando esta política está habilitada.

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:

  1. En la sección Configuración de red, expande el elemento Mostrar configuración de red.

  2. En la sección Tipo de red, selecciona la opción Entorno de IP privado para crear un entorno de IP privado.

  3. En Conectividad de Composer, sigue estos pasos: selecciona Private Service Connect.

  4. En la lista desplegable Composer connection subnetwork, selecciona la para 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 del extremo de PSC. Entornos de Cloud Composer. Cada entorno requiere una dirección IP.

  5. 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 una IP privada en un entorno de nube. Luego, especifica la subred para la conexión de Private Service Connect.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.8.5-airflow-2.7.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 ubicado.
  • ENVIRONMENT_PSC_SUBNETWORK por el URI de la subred para 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.8.5-airflow-2.7.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 Environment, especifica la 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.8.5-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"
        }
      ]
    }
  }
}

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. Varias personas pueden compartir este rango Entornos de Cloud Composer. Cada entorno requiere una IP web.

Ejemplo:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "example-environment",
  "config": {

    "softwareConfig": {
      "imageVersion": "composer-2.8.5-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

Cuando creas un entorno, 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.8.5-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"
      }
    }
  }
}

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. Varias personas pueden compartir este rango Entornos de Cloud Composer. 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.8.5-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"
      }
    }
 }
}

¿Qué sigue?