Conecta un entorno a una red de VPC

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En esta página, se explica cómo tu entorno puede acceder a una red de VPC en Cloud Composer 3 proporciona instrucciones para conectar un entorno a una VPC y describe cómo inhabilitar una conexión configurada previamente.

Información acerca del acceso a la red de VPC

En Cloud Composer 3, puedes habilitar el acceso a una red de VPC para un en un entorno de nube.

Si habilitas el acceso a una red de VPC para un entorno, ten en cuenta lo siguiente:

  • Componentes de Airflow de tu entorno pueden acceder a los extremos de red privada en tu red de VPC. Por ejemplo: tu código DAG puede acceder a los recursos ubicados en tu red de VPC a través de un configurar la conexión de Airflow.

  • Si tu entorno usa redes con IP privadas todo el tráfico interno, excepto el tráfico hacia la API de Google Services, se enruta a tu red de VPC.

  • Según cómo configures tu red de VPC, una dirección IP privada pueden obtener acceso a Internet a través de tu red de VPC.

  • Sin importar el estado de acceso a la red de VPC, el acceso a las APIs siempre es posible.

  • Zonas de DNS privadas definidas en tu VPC estén disponibles automáticamente para las instancias de Airflow o los componentes de la solución.

  • El entorno reserva dos direcciones IP en tu subred de VPC.

Cloud Composer usa un adjunto de red para conectar tu entorno a una red de VPC:

  • Si especificas una red y una subred de VPC, Cloud Composer crea un nuevo adjunto de red en tu proyecto. Se borró este archivo adjunto después de borrar un entorno, inhabilitar la conexión a una red de VPC o reemplazar la parámetros de conexión.

  • Si especificas un un adjunto de red existente, debe estar ubicada en el mismo proyecto que el entorno. Esta el adjunto no se borrará después de borrar un entorno, inhabilitar la conexión o reemplazar los parámetros de conexión de VPC.

  • En las redes de VPC compartida:

    • Asegúrate de haber configurado las redes de VPC compartida Cloud Composer Consulta Configura la VPC compartida para obtener información sobre la configuración. proyectos y permisos para Cloud Composer.

    • Luego de configurar la red de VPC compartida, puedes conectar tu de VPC a una red de VPC desde el proyecto host. Si utilizas un adjunto de red existente, debe crearse en el proyecto de servicio (donde se encuentra el entorno) y conectado a una VPC compartida en cada red.

Acerca del rango de IP internas del entorno

Los entornos de Cloud Composer 3 requieren varias direcciones IP para su componentes que se ejecutan en el proyecto de usuario, como tu entre el clúster del entorno y el proxy de Cloud SQL. Estas direcciones IP son del rango de IP internas del entorno.

  • El rango de IP internas predeterminado es 100.64.128.0/20.

  • Puedes especificar un rango de IP internas diferente cuando creas un en un entorno de nube. Este rango debe usar una máscara /20.

  • No puedes cambiar el rango de IP internas de un entorno existente.

El rango de IP internas interactúa con tu red de VPC de las siguientes maneras:

  • El rango de IP internas no debe entrar en conflicto con la subred de VPC a la que El entorno de Cloud Composer al que está conectado. No es posible para habilitar una conexión con una subred de VPC que se superponga con la un rango de IP internas.

  • Si el rango de IP internas de un entorno se superpone con tu VPC rangos de red, entonces los extremos de tu red de VPC que tienen las direcciones IP superpuestas no son accesibles desde el entorno.

    Por ejemplo, si el rango interno es 100.64.128.0/20, cualquier solicitud al extremo 100.64.128.1 de tu red de VPC porque del usuario no sale del proyecto de usuario.

  • El rango de IP internas no está reservado. Puedes usar la misma dirección IP interna para varios entornos sin ninguna configuración adicional porque redes de VPC internas que usan diferentes entornos están separadas.

  • Puedes usar las direcciones IP de rango interno para otros fines, siempre y cuando Los DAG y las tareas de tu entorno no les realizan solicitudes.

Conectarse a una red de VPC

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En la sección Configuración de red, busca la Elemento Adjunto de red y haz clic en Editar.

  5. En el cuadro de diálogo Adjunto de red, haz lo siguiente:

    • Para crear un nuevo adjunto de red, en Adjunto de red selecciona Crear un nuevo adjunto de red. En Red, sigue estos pasos: y de Subred, selecciona una red de VPC y una subred.

    • Para usar un adjunto de red existente, en Adjunto de red selecciona un archivo adjunto.

  6. Haz clic en Guardar.

gcloud

Los siguientes argumentos de Google Cloud CLI especifican la conexión de red de VPC parámetros:

  • --network: Es el ID de la red de VPC.
  • --subnetwork: Es el ID de la subred de VPC.
  • --network-attachment: Usa un adjunto de red existente en su lugar.

Nuevo adjunto de red

Para conectar tu entorno a una red de VPC a través de una red nueva adjunto, ejecuta el siguiente comando de Google Cloud CLI:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --network NETWORK_ID \
  --subnetwork SUBNETWORK_ID

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • NETWORK_ID: ID de la red de VPC
  • SUBNETWORK_ID: ID de subred de VPC

Ejemplo:

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --network projects/example-project/global/networks/example-network \
  --subnetwork projects/example-project/regions/us-central1/subnetworks/example-subnetwork

Adjunto de red existente

Para conectar tu entorno a una red de VPC a través de una red nueva adjunto, ejecuta el siguiente comando de Google Cloud CLI:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --network-attachment NETWORK_ATTACHMENT_ID

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • NETWORK_ATTACHMENT_ID: Es el adjunto de red en la projects/{project}/regions/{region}/networkAttachments/{networkAttachment} de un conjunto de datos tengan un formato común.

Ejemplo:

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --network-attachment projects/example-project/regions/us-central1/networkAttachments/example-network-attachment

API

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    • Para crear un nuevo adjunto de red, haz lo siguiente:

      1. En el parámetro updateMask, especifica config.node_config.network,config.node_config.subnetwork máscara.

      2. En el cuerpo de la solicitud, en network y subnetwork especifica tus IDs de subred y de red de VPC.

    • Para usar un adjunto de red existente:

      1. En el parámetro updateMask, especifica config.node_config.composer_network_attachment máscara.

      2. En el cuerpo de la solicitud, proporciona un valor para la red existente un archivo adjunto en la projects/{project}/regions/{region}/networkAttachments/{networkAttachment} de un conjunto de datos tengan un formato común.

Ejemplo (nuevo adjunto de red):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.network,config.node_config.subnetwork

"config": {
  "nodeConfig": {
    "network": "projects/example-project/global/networks/example-network",
    "subnetwork": "projects/example-project/regions/us-central1/subnetworks/example-subnetwork"
  }
}

Ejemplo (adjunto de red existente):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.composer_network_attachment

"config": {
  "nodeConfig": {
    "composerNetworkAttachment": "projects/example-project/regions/us-central1/networkAttachments/example-network-attachment"
  }
}

Terraform

Los siguientes campos del bloque node_config especifican la red de VPC parámetros de conexión:

  • network: Es el ID de la red de VPC.
  • subnetwork: Es el ID de la subred de VPC.
  • composer_network_attachment: Usa un adjunto de red existente en su lugar.

Nuevo adjunto de red

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    node_config {
      network = NETWORK_ID
      subnetwork = SUBNETWORK_ID
    }

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • NETWORK_ID: ID de la red de VPC
  • SUBNETWORK_ID: ID de subred de VPC

Ejemplo (nuevo adjunto de red):

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    node_config {
      network = "projects/example-project/global/networks/example-network"
      subnetwork = "projects/example-project/regions/us-central1/subnetworks/example-subnetwork"
    }

    ... other configuration parameters
  }
}

Adjunto de red existente

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    node_config {
      composer_network_attachment = NETWORK_ATTACHMENT_ID
    }

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • NETWORK_ATTACHMENT_ID: Es el ID del adjunto de red.

Ejemplo (adjunto de red existente):

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    node_config {
      composer_network_attachment = projects/example-project/regions/us-central1/networkAttachments/example-network-attachment
    }

    ... other configuration parameters
  }
}

Inhabilita la conexión a una red de VPC

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En la sección Configuración de red, busca la Elemento Adjunto de red y haz clic en Editar.

  5. En el diálogo Adjunto de red, selecciona Ninguno y haz clic en Guardar.

gcloud

Los argumentos --disable-vpc-connectivity inhabilitan la red de VPC de tu entorno:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-vpc-connectivity

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.

Ejemplo:

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --disable-vpc-connectivity

API

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica config.node_config.network,config.node_config.subnetwork máscara.

    2. En el cuerpo de la solicitud, en los campos network y subnetwork, haz lo siguiente: especificar valores vacíos.

Ejemplo:

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.network,config.node_config.subnetwork

"config": {
  "nodeConfig": {
    "network": "",
    "subnetwork": ""
  }
}

Terraform

No es posible desconectar una red de VPC con Terraform. En cambio, puedes conectar una red de VPC diferente en su lugar o separar la red mediante con otras herramientas, como Google Cloud CLI.

¿Qué sigue?