La conectividad privada permite que Datastream se comunique con los recursos de tu red de nube privada virtual (VPC) a través de una conexión de intercambio de tráfico entre redes de VPC a la red de VPC de Datastream.
La conexión de intercambio de tráfico entre redes de VPC entre tu red de VPC y la red de VPC de Datastream permite que Datastream se conecte a lo siguiente:
- Recursos como máquinas virtuales (VM) y balanceadores de cargas internos en tu red de VPC
- Recursos en otras redes conectadas a tu red de VPC con túneles de Cloud VPN, adjuntos de VLAN de interconexión dedicada, adjuntos de VLAN de interconexión de socios y Cloud Routers del Centro de conectividad de red
La conexión de intercambio de tráfico entre redes de VPC entre tu red de VPC y la red de VPC de Datastream no permite que Datastream se conecte a lo siguiente:
- Extremos de Private Service Connect ubicados en tu red de VPC
- Recursos ubicados en otra red de VPC, con intercambio de tráfico con tu red de VPC, pero no con la red de VPC de Datastream (Esto se debe a que el intercambio de tráfico entre redes de VPC no proporciona enrutamiento transitivo).
Para establecer la conectividad entre Datastream y un recurso al que solo se puede acceder desde tu red de VPC, puedes usar una VM de traducción de direcciones de red (NAT) en tu red de VPC. Un caso de uso común para una VM de NAT es cuando Datastream necesita conectarse a una instancia de Cloud SQL.
En esta página, se describe un ejemplo de configuración de VM de NAT que permite que Datastream se conecte de forma privada a una instancia de Cloud SQL.
Configura una VM de NAT
Identifica la dirección IP de la instancia de Cloud SQL a la que se debe conectar Datastream.
Identifica tu red de VPC. Esta es la red de VPC que está conectada a la red de VPC de Datastream mediante el intercambio de tráfico entre redes de VPC.
Si aún no lo hiciste, crea una configuración de conectividad privada en Datastream. De esta manera, se crea la conexión de intercambio de tráfico entre redes de VPC que conecta tu red de VPC y la red de VPC de Datastream. Toma nota del rango de direcciones IP que usa la configuración de conectividad privada de Datastream.
Elige un tipo de máquina para usar en la VM de NAT que crees en el siguiente paso. Google Cloud aplica un límite máximo de ancho de banda de salida por instancia, para los paquetes enrutados por los próximos saltos dentro de una red de VPC, según el tipo de máquina de la instancia de VM. Para obtener más información, consulta Salida a destinos enrutables dentro de una red de VPC y Ancho de banda máximo de salida por instancia.
Crea la VM con NAT en tu red de VPC. Si tu red de VPC es una red de VPC compartida, puedes crear la VM de NAT en el proyecto host o en cualquier proyecto de servicio, siempre y cuando la interfaz de red de la VM de NAT esté en la red de VPC compartida.
- Para minimizar el tiempo de ida y vuelta de la red, crea la VM de NAT en la misma región que Datastream.
- En este ejemplo, se supone que la VM de NAT tiene una sola interfaz de red.
- Ejecuta la secuencia de comandos en una distribución de Linux, por ejemplo, Debian 12.
- Usa la siguiente secuencia de comandos de inicio. El usuario raíz ejecuta la secuencia de comandos de inicio cada vez que se inicia la VM. Esta secuencia de comandos incluye comentarios que explican lo que hace cada línea de la secuencia de comandos. En la secuencia de comandos, reemplaza CLOUD_SQL_INSTANCE_IP por la dirección IP de la instancia de Cloud SQL y DATABASE_PORT por el puerto de destino que usa el software de la base de datos.
#! /bin/bash export DB_ADDR=CLOUD_SQL_INSTANCE_IP export DB_PORT=DATABASE_PORT # Enable the VM to receive packets whose destinations do # not match any running process local to the VM echo 1 > /proc/sys/net/ipv4/ip_forward # Ask the Metadata server for the IP address of the VM nic0 # network interface: md_url_prefix="http://169.254.169.254/computeMetadata/v1/instance" vm_nic_ip="$(curl -H "Metadata-Flavor: Google" ${md_url_prefix}/network-interfaces/0/ip)" # Clear any existing iptables NAT table entries (all chains): iptables -t nat -F # Create a NAT table entry in the prerouting chain, matching # any packets with destination database port, changing the destination # IP address of the packet to the SQL instance IP address: iptables -t nat -A PREROUTING \ -p tcp --dport $DB_PORT \ -j DNAT \ --to-destination $DB_ADDR # Create a NAT table entry in the postrouting chain, matching # any packets with destination database port, changing the source IP # address of the packet to the NAT VM's primary internal IPv4 address: iptables -t nat -A POSTROUTING \ -p tcp --dport $DB_PORT \ -j SNAT \ --to-source $vm_nic_ip # Save iptables configuration: iptables-save
Crea una regla de firewall de entrada permitida (o una regla en una política de firewall de red global, una política de firewall de red regional o una política de firewall jerárquica) con estas características:
- Dirección: entrada
- Acción: permitir
- Parámetro de destino: Al menos la VM de NAT
- Parámetro de origen: Es el rango de direcciones IP que usa la configuración de conectividad privada de Datastream.
- Protocolo: TCP
- Puerto: Debe incluir al menos el DATABASE_PORT.
La regla de firewall de permiso de salida implícita permite que la VM de NAT envíe paquetes a cualquier destino. Si tu red de VPC usa reglas de firewall de denegación de salida, es posible que debas crear una regla de firewall de permiso de salida para permitir que la VM de NAT envíe paquetes a la instancia de Cloud SQL. Si es necesario, usa estos parámetros para una regla de permiso de salida:
- Dirección: salida
- Acción: permitir
- Parámetro de destino: Al menos la VM de NAT
- Parámetro de destino: la dirección IP de la instancia de Cloud SQL
- Protocolo: TCP
- Puerto: Debe incluir al menos el DATABASE_PORT.
Asegúrate de haber configurado tu instancia de Cloud SQL para que acepte conexiones desde la dirección IPv4 interna principal que usa la interfaz de red de tu VM de NAT. Para obtener instrucciones, consulta Cómo autorizar con redes autorizadas en la documentación de Cloud SQL.
Crea un perfil de conexión en Datastream. En los detalles de la conexión del perfil, especifica la dirección IPv4 interna principal de la VM de NAT que creaste. Ingresa el puerto de la base de datos de origen en el campo de puerto del perfil de conexión.
Configura un par de VMs de NAT y un balanceador de cargas de red de transferencia interno
Para mejorar la confiabilidad de una solución de VM de NAT, considera la siguiente arquitectura, que usa un par de VMs de NAT y un balanceador de cargas de red de transferencia interno:
Crea dos VMs de NAT en diferentes zonas de la misma región. Sigue las instrucciones para configurar una VM de NAT para crear cada VM y colócala en su propio grupo de instancias no administrado por zona.
Como alternativa, puedes crear un grupo de instancias administrado regional. En la plantilla de grupo de instancias administrado, incluye una secuencia de comandos de inicio como la secuencia de comandos de ejemplo en las instrucciones para configurar una VM de NAT.
Crea un balanceador de cargas de red de transferencia interno cuyo servicio de backend use el grupo o los grupos de instancias del paso anterior como sus backends. Para ver un ejemplo de un balanceador de cargas de red de transferencia interna, consulta Configura un balanceador de cargas de red de transferencia interna con backends de grupos de instancias de VM.
Cuando configures la verificación de estado del balanceador de cargas, puedes usar una verificación de estado de TCP que use un puerto TCP de destino que coincida con DATABASE_PORT. Los paquetes de verificación de estado se enrutan a CLOUD_SQL_INSTANCE_IP según la configuración de la VM de NAT. Como alternativa, puedes ejecutar un proceso local en la VM de NAT que responda a una verificación de estado de TCP o HTTP en un puerto personalizado.
Crea reglas de firewall y configura las redes autorizadas de Cloud SQL como se describe en las instrucciones para configurar una VM de NAT. Asegúrate de que las redes autorizadas de Cloud SQL incluyan la dirección IPv4 interna principal de ambas VMs de NAT.
Cuando crees un perfil de conexión de Datastream, especifica la dirección IP de la regla de reenvío del balanceador de cargas de red de transferencia interna en los detalles de conexión del perfil.
¿Qué sigue?
- Obtén más información para crear una configuración de conectividad privada.
- Obtén información para ver tu configuración de conectividad privada.
- Obtén más información para borrar una configuración de conectividad privada.