En esta página se explica cómo usar la API de Datastream para crear, obtener información sobre y eliminar 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 (internamente en Google Cloudo con fuentes externas conectadas a través de una VPN o Interconnect). Esta comunicación se produce a través de una interfaz de Private Service Connect o de una conexión de emparejamiento de nube privada virtual (VPC).
Crear una configuración de conectividad privada mediante el emparejamiento de VPCs
Antes de crear una configuración de conectividad privada, asegúrese de que:
- Tener una red de VPC para emparejarla con la red privada de Datastream. Para obtener más información sobre cómo crear una red de VPC, consulta el artículo Usar el emparejamiento entre redes de VPC.
- Tener un intervalo de IP disponible (con un bloque CIDR de /29 como mínimo) en la red de VPC. Datastream usa este intervalo de IPs para crear un peering de VPC con la VPC proporcionada, por lo que el intervalo no puede superponerse con las subredes de esa VPC. De esta forma, Datastream puede comunicarse con la fuente.
Hay dos parámetros asociados a la creación de una configuración de conectividad privada:
vpcName:
Especifica el nombre y la ruta de la red VPC.subnet:
Proporciona un intervalo de IPs disponibles en la red 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 emparejamiento de 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" } }
Una vez que se haya creado la configuración de conectividad privada, puede ver información sobre ella llamando al método privateConnections/get
. Verá 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
Crear una configuración de conectividad privada mediante una interfaz de Private Service Connect
Antes de crear una configuración de conectividad privada, asegúrese de que:
Tener una red de VPC a la que conectarse a la red privada de Datastream. Para obtener más información sobre cómo crear una red de VPC, consulta el artículo Crear y gestionar redes de VPC.
Crea un adjunto de red en tu proyecto de VPC.
Verifica que Google Cloud y el cortafuegos local permitan el tráfico desde el intervalo de direcciones IP de la conexión de red a la base de datos de origen desde la que quieras transmitir datos.
En el siguiente código se muestra una solicitud para crear una configuración de conectividad privada mediante 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, se muestra el nombre del proyecto productor que debes aprobar. Debes añadirlo a la lista de proyectos permitidos de tu adjunto de red:
- Usa el método
describe
para obtener elproducer-accept-list
actual de tu archivo adjunto de red. Para obtener más información, consulta la documentación del SDK de Google Cloud de Compute Engine. - Añade el proyecto 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 hayas añadido el proyecto 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
Obtener información sobre una configuración de conectividad privada
En el siguiente código se muestra una solicitud para obtener información sobre una configuración de conectividad privada que se ha creado.
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.
Mostrar configuraciones de conectividad privada
El siguiente código muestra una solicitud para obtener 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 cómo usar gcloud
para recuperar información sobre todas tus configuraciones de conectividad privada, consulta la documentación del SDK de Google Cloud.
Eliminar una configuración de conectividad privada
En el siguiente código se muestra una solicitud para eliminar una configuración de conectividad privada. Una vez que se haya eliminado la configuración, los perfiles de conexión que la usen dejarán de funcionar. Además, no se podrán usar los flujos que utilicen estos perfiles de conexión.
Para solucionar este problema, asigna una configuración de conectividad privada diferente a cada perfil de conexión. Para obtener más información, consulta Actualizar 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 eliminar tu configuración de conectividad privada, consulta la documentación del SDK de Google Cloud.
Siguientes pasos
- Más información sobre la conectividad privada
- Consulta otras opciones de conectividad de red que puedes usar con Datastream.
- Consulta cómo usar la API Datastream para gestionar perfiles de conexión.
- Consulta cómo usar la API DataStream para gestionar flujos.
- Para obtener más información sobre cómo usar la API Datastream, consulta la documentación de referencia.