Descripción general de las pruebas de conectividad

Las pruebas de conectividad son una herramienta de diagnóstico que te permite verificar la conectividad entre los extremos de red. Analiza tu configuración y, en algunos casos, realiza una verificación en el entorno de ejecución entre los extremos. Un extremo es una fuente o un destino del tráfico de red, como una VM, un clúster de Google Kubernetes Engine (GKE), una regla de reenvío del balanceador de cargas o una dirección IP en Internet.

Para analizar las configuraciones de red, las pruebas de conectividad simulan la ruta de reenvío prevista para un paquete a través de tu red de nube privada virtual (VPC), túneles de Cloud VPN o adjuntos de VLAN. Las pruebas de conectividad también pueden simular la ruta de reenvío entrante esperada a los recursos en tu red de VPC.

Para algunas situaciones de conectividad, las pruebas de conectividad también realizan la verificación de tiempo de ejecución. Esta característica envía paquetes a través del plano de datos para validar la conectividad y proporciona un diagnóstico de referencia de la latencia y la pérdida de paquetes. Si una ruta es compatible con la característica, cada prueba que ejecutes incluye un resultado de verificación dinámica.

La API para las pruebas de conectividad es la API de administración de redes. Para obtener más información, consulta la documentación de la API.

¿Por qué usar las pruebas de conectividad?

Las pruebas de conectividad pueden ayudarte a solucionar los siguientes problemas de conectividad de red:

  • Opciones de configuración incoherentes no deseadas
  • Opciones de configuración obsoletas debido a cambios en la configuración de la red o migraciones
  • Errores de configuración para una variedad de servicios y funciones de red

Cuando pruebes los servicios administrados por Google, las pruebas de conectividad también pueden ayudarte a determinar si hay un problema en tu red de VPC o en la red de VPC de Google que se usa para los recursos de servicio.

Cómo las pruebas de conectividad analizan los parámetros de configuración

Cuando se analizan las configuraciones de red, las pruebas de conectividad usan una máquina de estado abstracto para modelar la forma en que una red de VPC debe procesar los paquetes. Google Cloud procesa un paquete en varios pasos lógicos.

Debido a la variedad de servicios de red de VPC y funciones que admite el análisis de configuración, un paquete de prueba que atraviesa una configuración de red de VPC puede tomar muchas rutas posibles.

En el siguiente diagrama, se muestra un modelo de cómo el análisis de configuración simula el tráfico de seguimiento entre dos instancias de máquina virtual (VM) de Compute Engine: una a la izquierda y otra a la derecha.

Según la red de Google Cloud y las configuraciones de recursos, este tráfico puede pasar a través de un túnel de Cloud VPN, un balanceador de cargas de Google Cloud o una red de VPC similar antes de llegar a la instancia de VM de destino.

La máquina de estado abstracto de la red
La máquina de estado abstracto de la red

La cantidad limitada de pasos entre estados discretos hasta que un paquete se entregó o descartó se modela como una máquina de estado finito. Esta máquina de estado finito puede estar en exactamente uno de los numerosos estados finitos a la vez y podría tener varios estados de éxito.

Por ejemplo, cuando las pruebas de conectividad coinciden con varias rutas según la precedencia de ruta, Google Cloud puede elegir una ruta entre varias según una función de hash no especificada en el plano de datos.

En el caso anterior, el seguimiento de pruebas de conectividad muestra todas las rutas posibles, pero no puede determinar el método que Google Cloud utilizó para mostrar las rutas. Esto se debe a que ese método es interno de Google Cloud y está sujeto a cambios.

Servicios administrados por Google

Los servicios administrados por Google, como Cloud SQL y Google Kubernetes Engine (GKE), asignan recursos para los clientes en proyectos y redes de VPC que Google posee y administra. Los clientes no tienen permiso para acceder a estos recursos.

Los análisis de configuración de pruebas de conectividad aún pueden ejecutar una prueba y proporcionar un resultado de accesibilidad general para los servicios administrados por Google, pero no proporcionan detalles para los recursos probados en el proyecto que es propiedad de Google.

En el siguiente diagrama, se muestra un modelo de cómo el análisis de configuración simula el tráfico de seguimiento desde una instancia de VM en una red de VPC de un cliente en una instancia de Cloud SQL en la red de VPC de Google. En este ejemplo, las redes se conectan mediante el intercambio de tráfico entre redes de VPC.

Al igual que en una prueba estándar entre dos VM, los pasos lógicos incluyen verificar las reglas de firewall de salida relevantes y hacer coincidir la ruta. Cuando ejecutas una prueba, el análisis de configuración de pruebas de conectividad proporciona detalles sobre estos pasos. Sin embargo, en el último paso lógico de analizar la configuración en la red de VPC de Google, el análisis proporciona solo un resultado general de accesibilidad. Las pruebas de conectividad no proporcionan detalles de los recursos en el proyecto de Google porque no tienes permiso para verlos.

Para obtener más información, consulta los ejemplos de prueba en la sección Prueba la conectividad desde y hacia los servicios administrados por Google.

Máquina de estado abstracto de la red para los servicios administrados por Google
Máquina de estado abstracto de la red para los servicios administrados por Google

Configuraciones admitidas

El análisis de configuración de las pruebas de conectividad admite la prueba de las configuraciones de red descritas en las siguientes secciones.

Flujos de tráfico

  • Instancias de VM hacia y desde Internet
  • Instancia de VM a instancia de VM
  • Desde Google Cloud hacia y desde redes locales
  • Entre dos redes locales que están conectadas mediante Network Connectivity Center

Funciones de la red de VPC

Puedes probar la conectividad entre los recursos que usan las siguientes funciones:

Soluciones de redes híbridas de Google Cloud

Se admiten las siguientes soluciones de redes híbridas:

Network Connectivity Center

Network Connectivity Center es compatible.

Cloud NAT

Cloud NAT es compatible.

Cloud Load Balancing

  • La conectividad a los siguientes balanceadores de cargas de Google Cloud es compatible: balanceadores de cargas HTTP(S) externos, balanceadores de cargas de red, balanceadores de cargas HTTP(S) internos, balanceadores de cargas TCP/UDP internos, balanceadores de cargas de proxy TCP y balanceadores de cargas de proxy SSL.
  • Se admite la conectividad a las direcciones IP del balanceador de cargas.
  • Se admite la conectividad de las verificaciones de estado de Cloud Load Balancing con los backends. Los backends pueden ser grupos de instancias o grupos de extremos de red (NEG).

Para las funciones de Cloud Load Balancing que no son compatibles, consulte la sección Configuraciones no compatibles.

Google Kubernetes Engine (GKE)

  • Se admite la conectividad entre los nodos de GKE y el plano de control de GKE.
    • Cuando se prueba la dirección IP privada de un plano de control de GKE, el análisis de configuración de las pruebas de conectividad determina si el paquete se puede entregar al plano de control. Esto incluye analizar la configuración dentro de la red de VPC de Google.
    • Cuando se prueba la dirección IP pública de un plano de control de GKE, el análisis de configuración de las pruebas de conectividad determina si el paquete se puede enviar a la red de VPC de Google en la que el plano de control se ejecuta. Esto no incluye el análisis de la configuración dentro de la red de VPC de Google.
  • Se admite la conectividad al servicio de GKE a través de Cloud Load Balancing.
  • Se admite la conectividad a un Pod de GKE en un clúster nativo de la VPC.

Para las funciones de GKE que no son compatibles, consulte la sección Opciones de configuración no compatibles.

Otros productos y servicios de Google Cloud

Se admiten los siguientes productos o servicios adicionales de Google Cloud:

  • Las instancias de Cloud SQL son compatibles.
    • Cuando se prueba la dirección IP privada de una instancia de Cloud SQL, el análisis de configuración determina si el paquete se puede entregar a la instancia. Esto incluye analizar la configuración dentro de la red de VPC de Google.
    • Cuando se prueba la dirección IP pública de una instancia de Cloud SQL, el análisis de configuración determina si el paquete se puede enviar a la red de VPC de Google donde se ejecuta la instancia. Esto no incluye el análisis de la configuración dentro de la red de VPC de Google.

Opciones de configuración no compatibles

El análisis de configuración de pruebas de conectividad no admite las pruebas de las siguientes configuraciones de red:

  • Las políticas Google Cloud Armor no se consideran ni se utilizan al rastrear la conectividad a una dirección IP del balanceador de cargas HTTP(S) externo.
  • Política de red de GKE. Las pruebas de conectividad no incorporan políticas de red cuando se realiza un seguimiento de la conectividad a direcciones IP dentro de clústeres de GKE.
  • No se admite un balanceador de cargas HTTP(S) externo que use depósitos de Cloud Storage.

De qué forma las pruebas de conectividad analizan el plano de datos en vivo

La función de verificación dinámica prueba la conectividad mediante el envío de varios paquetes de seguimiento desde el extremo de origen al de destino. Los resultados de la verificación dinámica te muestran la cantidad de sondeos enviados, la cantidad de sondeos que llegaron con éxito al destino y un estado de accesibilidad. Este estado se determina en función de la cantidad de sondeos que se entregaron correctamente, como se describe en la siguiente tabla.

Estado Cantidad de sondeos que alcanzaron su destino
Accesible Por lo menos 95%
No se puede acceder Ninguna
Parcialmente accesible Más de 0 y menos de 95%

Además de mostrar cuántos paquetes se enviaron correctamente, la verificación dinámica también muestra información sobre la latencia unidireccional de 95% y la mediana.

La verificación dinámica no depende del análisis de configuración. En su lugar, proporciona una evaluación independiente del estado de conectividad.

Si ves discrepancias evidentes entre el análisis de configuración y los resultados de la verificación dinámica, consulta Soluciona problemas de pruebas de conectividad.

Configuraciones admitidas

La verificación dinámica admite las siguientes configuraciones de red.

Flujos de tráfico

  • Instancia de VM a instancia de VM
  • Protocolos IP: TCP, UDP

Funciones de la red de VPC

Puedes verificar la conectividad de forma dinámica entre los recursos que usan las siguientes funciones:

Opciones de configuración no compatibles

Toda configuración que no se mencione de forma explícita como compatible no se admite. Además, no se admiten las configuraciones en las que la conectividad está bloqueada por reglas de firewall de salida.

Para cualquier prueba, si no se ejecuta la función de verificación dinámica, aparecerá un valor N/A o - en el campo Resultado de la última transmisión de paquetes.

Consideraciones

Evalúe las siguientes consideraciones al decidir si usar pruebas de conectividad.

El análisis de configuración que realizan las pruebas de conectividad se basa completamente en información de configuración de los recursos de Google Cloud y puede no representar la condición o el estado real del plano de datos de una red de VPC.

Si bien las pruebas de conectividad adquieren información de configuración dinámica, como el estado del túnel de Cloud VPN y las rutas dinámicas en Cloud Router, no accede ni mantiene el estado de la infraestructura de producción interna de Google y los componentes del plano de datos.

Un estado de Packet could be delivered para una prueba de conectividad no garantiza que el tráfico pueda pasar a través del plano de datos. El propósito de la prueba es validar los problemas de configuración que pueden causar una disminución del tráfico.

En el caso de las rutas admitidas, los resultados de la verificación dinámica complementan los resultados del análisis de configuración mediante la prueba si los paquetes transmitidos llegan al destino.

Las pruebas de conectividad no tienen conocimiento de redes fuera de Google Cloud

Las redes externas se definen de la siguiente manera:

  • Redes locales que residen en su centro de datos o en otra instalación donde opera sus dispositivos de hardware y aplicaciones de software.
  • Otros proveedores de servicios en la nube en los que ejecuta recursos.
  • Un host en Internet que envía tráfico a su red de VPC.

Las pruebas de conectividad no realizan el seguimiento de la conexión de firewall.

El seguimiento de conexión para los firewalls de VPC almacena información sobre conexiones nuevas y establecidas y permite permitir o restringir el tráfico posterior en función de esa información.

El análisis de configuración de pruebas de conectividad no admite el seguimiento de la conexión de firewall porque la tabla de conexión de firewall se encuentra en el plano de datos para una instancia de VM y no se puede acceder a ella. Sin embargo, el análisis de configuración puede simular el seguimiento de la conexión, ya que permite una conexión de retorno que una regla de firewall de entrada normalmente negaría, siempre que las pruebas de conectividad inicien la conexión saliente.

La verificación dinámica no admite la prueba del seguimiento de conexión de firewall.

Las pruebas de conectividad no pueden probar las instancias de VM configuradas para modificar el comportamiento de reenvío

Las pruebas de conectividad no pueden probar las instancias de VM que se configuraron para actuar en el plano de datos como routers, firewalls, puertas de enlace NAT, VPN, etcétera. Este tipo de configuración dificulta la evaluación del entorno que se ejecuta en la instancia de VM. Además, la verificación dinámica no admite esta situación de prueba.

Los tiempos de resultados de las pruebas de conectividad pueden variar

Obtener los resultados de las pruebas de conectividad puede llevar desde 30 segundos hasta 10 minutos. El tiempo que se realiza una prueba se basa en el tamaño de la configuración de tu red de VPC y la cantidad de recursos de Google Cloud que usas.

En la siguiente tabla, se muestran los tiempos de respuesta que puede esperar para todos los usuarios que ejecutan una prueba en una configuración de muestra en una consulta. Esta configuración contiene instancias de VM, un túnel de Cloud VPN y balanceadores de cargas de Google Cloud.

Tiempos de respuesta por consulta
Tamaño del proyecto Cantidad de recursos de Google Cloud Latencia de respuesta
Proyecto pequeño Menos de 50 60 segundos para el 95% de las consultas de todos los usuarios
Proyecto medio Superior a 50, pero menos de 5,000 120 segundos para el 95% de las consultas de todos los usuarios
Proyecto grande Mayor que 5,000 600 segundos para el 95% de las consultas de todos los usuarios

La verificación dinámica no está diseñada para la supervisión continua

La verificación dinámica realiza una verificación única de conectividad de red con fines de diagnóstico. Para supervisar continuamente la conectividad y la pérdida de paquetes, usa el Panel de rendimiento.

La verificación dinámica no prueba varios seguimientos

La verificación dinámica no se admite en los casos en que la ruta no es determinista.

¿Qué es la accesibilidad?

Se puede acceder a un recurso desde otro extremo si las configuraciones de red, como los firewalls y las rutas, permiten que el tráfico pase de uno a otro. Por ejemplo, si la configuración de red debería permitir que VM1 envíe paquetes a VM2, se dice que VM2 es accesible desde VM1.

Las pruebas de conectividad miden la accesibilidad de una fuente a un destino en particular. El hecho de que la VM1 pueda alcanzar la VM2 no significa necesariamente que la VM3 pueda alcanzar la VM2.

Las pruebas de conectividad miden la accesibilidad unidireccional. El hecho de que VM1 pueda abrir una conexión a VM2 no significa que VM2 pueda abrir una conexión con VM1. Las reglas de firewall pueden permitir el tráfico en una dirección, pero no en la otra.

Las pruebas de conectividad miden la accesibilidad para un protocolo y un puerto de destino en particular. El hecho de que la VM1 pueda llegar a la VM2 en tcp:443 no significa que pueda hacerlo en tcp:80.

Las pruebas de conectividad solo prueban las configuraciones de red de VPC de Google Cloud que podrían afectar la entrega de paquetes desde el origen hasta el destino. No verifica si un servidor válido se ejecuta en el destino, si las reglas de firewall del sistema operativo podrían bloquear el tráfico o si el software de seguridad bloquea un paquete que lleva una carga útil de virus.

El concepto de Accesibilidad que se originó en la teoría de gráficos De forma conceptual, el gráfico de accesibilidad completo de una red contiene todos los extremos como nodos y los bordes direccionales que indican la accesibilidad desde los nodos de origen hasta los nodos de destino.

El análisis de accesibilidad es un término más genérico que describe un conjunto de análisis que se puede realizar para determinar la accesibilidad de la red. Uno de los casos de uso de un análisis de accesibilidad es una prueba de conectividad. En este caso, la conectividad hace referencia al estado de las conexiones de red.

Para cada paso de la ruta de reenvío de la red, un análisis de accesibilidad prueba y proporciona resultados para la configuración de red subyacente. Por ejemplo, las pruebas de conectividad analizan las reglas y rutas de firewall de Google Cloud que se aplican a un paquete de prueba simulado.

Cómo funcionan las pruebas de conectividad

Las pruebas de conectividad incluyen dos componentes principales: un análisis de configuración y la verificación dinámica. En esta sección, se describe cómo funcionan estos dos tipos de análisis.

Cómo funciona el análisis de configuración

En esta sección, se describe cómo funcionan las pruebas de conectividad y sus componentes.

Las pruebas de conectividad realizan un análisis de accesibilidad que evalúa los recursos de Google Cloud en tu ruta de prueba con un modelo de configuración ideal. Este se mejora con la característica de verificación dinámica, que envía paquetes con el fin de verificar el estado del plano de datos y proporcionar información de referencia para las configuraciones compatibles (si deseas obtener más información sobre cómo funciona la verificación dinámica, consulta Cómo funciona el análisis de plano de datos en vivo).

Como administrador de red, tiene el control de muchas opciones de configuración que podrían afectar el resultado del análisis, aunque se aplican algunas excepciones. Por ejemplo, no tienes control sobre las redes de VPC que alojan servicios administrados por Google, como las instancias de Cloud SQL. Además, debido a las restricciones de permisos, es posible que no tengas control sobre las reglas de políticas de firewall jerárquicas que afectan a tu red.

Cuando ejecutas una prueba de conectividad, ingresa un conjunto específico de parámetros y recibe resultados formateados en forma de seguimiento de red, o consulta. Una prueba de conectividad genera más de un seguimiento si una prueba tiene varias rutas posibles en la red; (por ejemplo, cuando el extremo de destino es un balanceador de cargas de Google Cloud con múltiples backends).

  • Una coincidencia significa que las pruebas de conectividad encuentran una configuración de Google Cloud que permite que el paquete simulado continúe a través de la ruta de prueba.
  • Sin coincidencia significa que las pruebas de conectividad no pueden encontrar una coincidencia. Por lo tanto, la configuración no existe.
  • Una coincidencia denegada significa que las pruebas de conectividad encuentran una configuración de Google Cloud en la que se debe descartar el paquete de prueba simulado.

Componentes de las pruebas de conectividad

Una prueba de conectividad es el componente de nivel superior que contiene todos los demás subcomponentes de prueba necesarios para el análisis de configuración. Estos componentes incluyen lo siguiente:

  • Extremos de origen y destino
  • Detalles de accesibilidad para la prueba y sus seguimientos, incluido un resultado de accesibilidad general determinado por el análisis de configuración
  • Uno o más seguimientos que contienen uno o más pasos
  • Un estado para cada paso

Cada prueba tiene un nombre único y cada paso tiene un estado y metadatos Info asociados. Por ejemplo, si un paso verifica una ruta, los metadatos de RouteInfo se incluyen en ese paso.

En el siguiente diagrama, se muestra una prueba de una instancia de VM de Compute Engine a otra. Para obtener descripciones de los componentes de prueba, consulta las siguientes secciones.

Máquina de estado para un seguimiento de VM a VM
Máquina de estado para un seguimiento de VM a VM

Extremos de origen y destino

El análisis de configuración de las pruebas de conectividad admite un encabezado de paquete de 5 tuplas sin el puerto de origen. Esto se debe a que el puerto de origen no se utiliza para validar recursos en las opciones de configuración de red de Google Cloud. Por lo tanto, no necesitas proporcionarlo cuando ejecutas pruebas.

El encabezado del paquete contiene los siguientes componentes:

  • Un protocolo de red
  • Un extremo de origen, que consiste en una de las siguientes opciones:
    • Una dirección IP de origen
    • Un nombre de instancia de VM
    • Un nombre de clúster para un plano de control de GKE
    • Un nombre de instancia de Cloud SQL
  • Un extremo de destino que consiste en una de las siguientes opciones y un número de puerto:
    • Una dirección IP de destino
    • Un nombre de instancia de VM
    • Un nombre de clúster para un plano de control de GKE
    • Un nombre de instancia de Cloud SQL

También puedes especificar un tipo de red de Google Cloud o que no sea de Google Cloud, o una combinación de un tipo de red y una dirección IP o nombre de instancia de VM para identificar de forma exclusiva una ubicación de red.

Los siguientes protocolos de destino son compatibles con cualquier recurso de Google Cloud compatible:

  • TCP
  • UDP
  • ICMP
  • ESP
  • AH
  • SCTP
  • IPIP

Se admiten puertos de destino para los protocolos TCP o UDP. Si no especificas un puerto, la configuración predeterminada es el puerto 80.

Seguimientos, pasos y estados

El análisis de configuración contiene uno o más seguimientos. Cada seguimiento representa una ruta única de reenvío de paquetes simulados en una prueba.

  • Cada seguimiento contiene múltiples pasos ordenados.
  • Cada paso contiene un estado relacionado con la configuración de Google Cloud que las pruebas de conectividad verifican para ese paso.
  • Los estados se clasifican en estados no finales y finales.
Estados no finales

Los estados no finales representan una verificación de configuración para cada recurso de Google Cloud en la ruta de prueba, como una instancia de VM, un extremo, una regla de firewall de VPC, una ruta o un balanceador de cargas de Google Cloud.

Existen cuatro estados no finales:

  • Initial
  • Comprobación de la configuración
  • Reenvío
  • Transición

Para obtener más información, consulta Estados de prueba.

Estado final

Cada seguimiento debe terminar con un estado final, que es el último paso del seguimiento.

Existen cuatro estados finales posibles:

  • Drop
  • Abort
  • Forward
  • Deliver

Cada estado final tiene un motivo asociado. Si deseas obtener más información, consulta los detalles para cada estado final.

Resultado general de accesibilidad

El análisis de configuración también proporciona un resultado de accesibilidad general que puede tener uno de cuatro valores: Reachable, Unreachable, Ambiguous o Undetermined.

Conocer el resultado general de accesibilidad puede ser útil para configurar la supervisión o la automatización.

Para obtener más información, consulta Resultado de accesibilidad general.

Verificación de Falsificación de identidad

Las pruebas de conectividad realizan una verificación de falsificación de identidad cuando un paquete simulado desde o hacia una instancia de VM usa una dirección IP que no es propiedad de esa instancia. Las direcciones IP que pertenecen a una VM incluyen todas las direcciones IP internas de la VM y las direcciones IP secundarias.

Si la dirección es una dirección que parece originarse en el tráfico externo, también llamada dirección extranjera, entonces la dirección IP no pasa la verificación de falsificación de identidad.

Metadata

Cada estado puede tener metadatos asociados con él en la forma de un campo Info. Por ejemplo, InstanceInfo contiene detalles para una instancia de VM, incluidos el nombre y la dirección IP.

El análisis de configuración proporciona metadatos para la prueba en sí y metadatos para cada paso de una prueba.

Cómo funciona el análisis de plano de datos en vivo

El mecanismo de sondeo para la verificación dinámica no involucra al SO invitado y es completamente transparente para el usuario. Los sondeos se insertan en nombre del extremo de origen en la red y se descartan antes de su entrega al extremo de destino. Además, se excluyen de la facturación de red normal, las métricas de telemetría y los registros de flujo.

Compatibilidad con los Controles del servicio de VPC (vista previa)

Los Controles del servicio de VPC pueden proporcionar seguridad adicional para las pruebas de conectividad a fin de mitigar el riesgo de robo de datos. Con los Controles del servicio de VPC, puedes agregar proyectos a perímetros de servicio que protejan los recursos y servicios de las solicitudes que se originan fuera del perímetro.

Para obtener más información sobre los perímetros de servicio, consulta la página Configuración y detalles del perímetro de servicio de la documentación de Controles del servicio de VPC.

¿Qué sigue?