Puedes usar la API de Datastream para crear, recuperar, enumerar y borrar configuraciones de conectividad privada. Estas configuraciones permiten que Datastream se comunique de forma privada con fuentes de datos en Google Cloud o fuentes externas conectadas a través de Cloud VPN o Cloud Interconnect. Puedes establecer conectividad privada con el intercambio de tráfico entre redes de nube privada virtual (VPC) o una interfaz de Private Service Connect.
Para usar una conexión privada, tus transmisiones, perfiles de conexión y configuración de conectividad privada deben estar en la misma región. Para evitar agregar de forma manual reglas de firewall entre regiones, ejecuta la base de datos de origen en una subred de esa región.
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 lo siguiente:
- 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 un intercambio de tráfico entre VPC con la VPC proporcionada, por lo que el rango no se puede superponer 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 el método de conectividad como el uso del 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 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 del productor que debes aprobar. Debes agregarlo a la lista de proyectos permitidos del adjunto de red:
- Usa el método
describepara obtener elproducer-accept-listactual de tu adjunto de red. Para obtener más información, consulta la documentación del SDK de Google Cloud de Compute Engine. - Agrega 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 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
En el siguiente código, se 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 el uso de gcloud para recuperar información sobre tu configuración de conectividad privada, consulta la documentación del SDK de Google Cloud.
Enumera los parámetros de configuración de conectividad privada
En el siguiente código, se muestra una solicitud para recuperar información sobre todos tus parámetros de configuración 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 borrar la configuración, los perfiles de conexión que la usen dejarán de funcionar. Además, no se podrán usar las transmisiones que utilicen 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 el uso de gcloud para borrar tu configuración de conectividad privada, consulta la documentación del SDK de Google Cloud.
¿Qué sigue?
- Obtén más información sobre la conectividad privada.
- Obtén información sobre otras opciones de conectividad de red que puedes usar con Datastream.
- Obtén información para usar la API de Datastream para administrar perfiles de conexión.
- Obtén información para usar la API de Datastream para administrar transmisiones.
- Para obtener más información sobre el uso de la API de Datastream, consulta la documentación de referencia.