Administrar las configuraciones de conectividad privada

En esta página, aprenderás a usar la API de Datastream para crear, recuperar información sobre y borrar configuraciones de conectividad privada.

Las configuraciones de conectividad privada contienen información que Datastream usa para comunicarse con una fuente de datos a través de una red privada (de forma interna dentro de Google Cloudo con fuentes externas conectadas a través de VPN o Interconnect). Esta comunicación se realiza a través de una interfaz de Private Service Connect o una conexión de intercambio de tráfico de la nube privada virtual (VPC).

Crea una configuración de conectividad privada con el intercambio de tráfico entre VPC

Antes de crear una configuración de conectividad privada, asegúrate de hacer lo siguiente:

  • Debes tener una red de VPC para intercambiar tráfico con la red privada de Datastream. Para obtener más información sobre cómo crear una red de VPC, consulta Usa el intercambio de tráfico entre redes de VPC.
  • Tener un rango de IP disponible (con un bloque CIDR de /29 como mínimo) en la red de VPC Datastream usa este rango de IP para crear el intercambio de tráfico de VPC con la VPC proporcionada, por lo que el rango no puede superponerse con las subredes dentro de esa VPC. Como resultado, Datastream puede comunicarse con la fuente.

Hay dos parámetros asociados con la creación de una configuración de conectividad privada:

  • vpcName: Especifica el nombre y la ruta de acceso de la red de VPC.
  • subnet: Asigna un rango de IP disponible en la red de VPC.

En el siguiente código, se muestra una solicitud para crear una configuración de conectividad privada y se especifica que el método de conectividad es el intercambio de tráfico entre VPC (vpcPeeringConfig).

REST

POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID
{
  "displayName": "DISPLAY_NAME",
  "vpcPeeringConfig": {
      "vpcName": "VPC_NAME",
      "subnet": "SUBNET"
  }
}

Por ejemplo:

POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections?privateConnectionId=myPrivateConnection
{
  "displayName": "my-private-connection",
  "vpcPeeringConfig": {
    "vpcName": "projects/my-project/global/networks/my-vpc",
    "subnet": "10.11.12.13/29"
  }
}

Después de crear la configuración de conectividad privada, puedes ver información sobre ella llamando al método privateConnections/get. Aparecerá un resultado similar al siguiente:

{
  "name": "projects/projectId/location/us-central1/privateConnections/myPrivateConnection",
  "createTime": "2019-12-22T16:17:37.159786963Z",
  "updateTime": "2019-12-22T16:17:37.159786963Z",
  "displayName": "my-private-connection",
  "state": "CREATED",
  "vpcPeeringConfig": {
    "vpcName": "projects/my-project/global/networks/my-vpc",
    "subnet": "10.11.12.13/29"
  }  
}

gcloud

gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION --display-name=DISPLAY_NAME --vpc=VPC_NAME --subnet=SUBNET

Por ejemplo:

gcloud datastream private-connections create my-privateConnection --location=us-central1 --display-name=my-private-connection --vpc=my-vpc --subnet=10.11.12.13/29

Crea una configuración de conectividad privada con una interfaz de Private Service Connect

Antes de crear una configuración de conectividad privada, asegúrate de hacer lo siguiente:

  • Debes tener una red de VPC para conectarte a la red privada de Datastream. Para obtener más información sobre cómo crear una red de VPC, consulta Crea y administra redes de VPC.

  • Crea un adjunto de red en tu proyecto de VPC.

  • Verifica que Google Cloud y el firewall local permitan el tráfico del rango de direcciones IP del adjunto de red a la base de datos de origen desde la que deseas transmitir datos.

En el siguiente código, se muestra una solicitud para crear una configuración de conectividad privada con interfaces de Private Service Connect. Primero, debes ejecutar un comando para crear una configuración de conectividad privada con la marca validateOnly (--validate-only para Google Cloud CLI):

REST

POST "https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID&validateOnly=true"

gcloud

gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION --display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME --validate-only

En la respuesta, obtendrás el nombre del proyecto de productor que se aprobará. Debes agregarlo a la lista de proyectos permitidos del adjunto de red:

  1. Usa el método describe para obtener el producer-accept-list actual de tu adjunto de red. Para obtener más información, consulta la documentación del SDK de Google Cloud de Compute Engine.
  2. Agrega el proyecto del productor a esta lista con el método update. Para obtener más información, consulta la documentación del SDK de Google Cloud de Compute Engine.

Una vez que agregues el proyecto del productor a la lista de proyectos permitidos, vuelve a ejecutar el comando para crear la configuración de conectividad privada, esta vez sin la marca validateOnly:

REST

POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID
{
  "displayName": "DISPLAY_NAME",
  "pscInterfaceConfig": {
      "networkAttachment": "NETWORK_ATTACHMENT_NAME"
  }
}

Por ejemplo:

POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections?privateConnectionId=myPrivateConnection
{
  "displayName": "my-private-connection",
  "pscInterfaceConfig": {
    "networkAttachment": "projects/my-project/regions/us-central1/networkAttachments/my-na"
  }
}

gcloud

gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION --display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME

Por ejemplo:

gcloud datastream private-connections create my-private-connection --location=us-central1 --display-name=my-private-connection --network-attachment=my-network-attachment

Obtén información sobre una configuración de conectividad privada

El siguiente código muestra una solicitud para recuperar información sobre una configuración de conectividad privada que se creó.

REST

GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections/PRIVATE_CONNECTIVITY_CONFIGURATION_ID

Por ejemplo:

GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection
     

gcloud

Para obtener más información sobre cómo usar gcloud para recuperar información sobre tu configuración de conectividad privada, consulta la documentación del SDK de Google Cloud.

Enumera las configuraciones de conectividad privada

En el siguiente código, se muestra una solicitud para recuperar información sobre todas tus configuraciones de conectividad privada.

REST

GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections

gcloud

Para obtener más información sobre el uso de gcloud para recuperar información sobre todas tus configuraciones de conectividad privada, consulta la documentación del SDK de Google Cloud.

Borrar una configuración de conectividad privada

En el siguiente código, se muestra una solicitud para borrar una configuración de conectividad privada. Después de que se borre la configuración, no funcionará ningún perfil de conexión que la use. Además, no se podrán operar las transmisiones que usen estos perfiles de conexión.

Para resolver este problema, asigna una configuración de conectividad privada diferente a cada perfil de conexión. Para obtener más información, consulta Actualiza un perfil de conexión.

REST

DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections/[private-connectivity-configuration-id] {"force": true} 

Por ejemplo:

DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection {"force": true} 

gcloud

Para obtener más información sobre cómo usar gcloud para borrar tu configuración de conectividad privada, consulta la documentación del SDK de Google Cloud.

¿Qué sigue?