Conexiones entre el plano de control de ClickHouse y su VPC de BYOC
La siguiente sección describe cómo se utiliza la red privada Tailscale para la resolución de problemas y para el acceso de administración opcional.
Red privada de Tailscale
Descripción general
- Operaciones de gestión: servicios de gestión de ClickHouse que se coordinan con tu infraestructura de BYOC
- Acceso para resolución de problemas: ingenieros de ClickHouse que acceden a los servidores de la API de Kubernetes y a las tablas del sistema de ClickHouse para realizar diagnósticos
- Acceso a métricas: los paneles centralizados de monitoreo de ClickHouse acceden a las métricas de la pila de Prometheus implementada en tu VPC de BYOC, lo que proporciona a los ingenieros de ClickHouse observabilidad sobre el entorno.
Cómo funciona Tailscale en BYOC
-
Registro de direcciones tailnet: Cada endpoint registra una dirección tailnet única (p. ej.,
k8s.xxxx.us-east-1.aws.byoc.clickhouse-prd.compara el servidor de API de Kubernetes) -
Contenedor del agente de Tailscale: Un contenedor del agente de Tailscale se ejecuta en su clúster de EKS y se encarga de:
- Conectarse al servidor de coordinación de Tailscale
- Registrar servicios para que puedan detectarse
- Coordinar la configuración de red con los pods de Nginx
-
Pod de Kubernetes de Nginx: Un pod de Kubernetes de Nginx que:
- Termina el tráfico TLS procedente de Tailscale
- Enruta el tráfico a las IP adecuadas dentro de su clúster de EKS
Proceso de conexión de red
-
Conexión inicial:
- Los agentes de Tailscale en ambos extremos (el entorno de los ingenieros de ClickHouse y su clúster de EKS en BYOC) se conectan al servidor de coordinación de Tailscale
- El agente del clúster de EKS registra el servicio de Kubernetes para que sea detectable
- Los ingenieros de ClickHouse deben escalar internamente para obtener visibilidad del servicio
-
Modo de conexión:
- Modo directo: Los agentes intentan establecer una conexión directa mediante un túnel de NAT traversal
- Modo de retransmisión: Si el modo directo falla, la comunicación pasa al modo de retransmisión a través de un servidor DERP (Distributed Encrypted Relay Protocol) de Tailscale
-
Cifrado:
- Toda la comunicación está cifrada de extremo a extremo
- Cada agente de Tailscale genera su propio par de claves pública y privada (similar a la PKI)
- El tráfico permanece cifrado independientemente de si utiliza el modo directo o el de retransmisión
Características de seguridad
- Los agentes de Tailscale en su clúster de EKS inician conexiones salientes a los servidores de coordinación/retransmisión de Tailscale
- No se requieren conexiones entrantes — ninguna regla de grupo de seguridad necesita permitir tráfico entrante hacia los agentes de Tailscale
- Esto reduce la superficie de ataque y simplifica la configuración de seguridad de la red
- Los ingenieros deben solicitar acceso a través de un flujo interno de aprobación antes de que Tailscale pueda enrutarles a un endpoint del cliente
- El acceso está limitado en el tiempo y vence automáticamente
- Todo acceso se audita y queda registrado
Acceso a los servicios de gestión
- Puede configurar el servidor de la API de EKS para que utilice únicamente un endpoint privado
- En este caso, el servicio de administración accede al servidor de la API a través de Tailscale (de forma similar al acceso humano para la resolución de problemas)
- El acceso público se mantiene como mecanismo de respaldo para casos de investigación y soporte de emergencia
Flujo del tráfico de red
- Agente de Tailscale en el cluster de EKS → servidor de coordinación de Tailscale (saliente)
- Agente de Tailscale en la máquina del ingeniero → servidor de coordinación de Tailscale (saliente)
- Se establece una conexión directa o retransmitida entre los agentes
- El tráfico cifrado fluye a través del túnel establecido
- El pod de Nginx en EKS termina TLS y enruta el tráfico a los servicios internos
- Las conexiones de Tailscale se usan solo para administración y resolución de problemas
- El tráfico de consultas y los datos de los clientes nunca fluyen a través de Tailscale
- Todos los datos de los clientes permanecen dentro de su VPC
Límites de red
- Inbound: Tráfico que entra en la VPC BYOC del cliente.
- Outbound: Tráfico que se origina en la VPC BYOC del cliente y se envía a un destino externo.
- Public: Un endpoint de red accesible desde Internet pública.
- Private: Un endpoint de red accesible solo mediante conexiones privadas, como peering de VPC, VPC Private Link o Tailscale.