Soluciona problemas de la configuración de tu conector local

En esta página, se proporcionan instrucciones paso a paso para ayudarte a solucionar problemas relacionados con la configuración de tu IAP local. Para obtener información adicional sobre la solución de problemas, consulta Depuración de Traffic Director.

Soluciona problemas de error 500

A continuación, se describen varios problemas y posibles soluciones para ayudarte a resolver un error 500 que recibes cuando intentas acceder a tu aplicación.

La aplicación local no está conectada a la red de Google Cloud.

Es posible que tu aplicación local no esté conectada a la red de Google Cloud. Verifica la conectividad mediante un ping a la aplicación local desde una de las instancias de Compute Engine del conector local. Si no se puede acceder al extremo del conector local, depure la conectividad de la red y la configuración antes de continuar.

Envoy no está instalado de forma correcta en las VM

Completa los siguientes pasos para verificar que Envoy esté instalado de forma correcta:

  1. Accede a una de las VM de Compute Engine desde el conector local. El nombre de la VM del conector local comienza con opc-on-prem-app-deployment-ig-${app}.
  2. En Cloud Console, verifica que las verificaciones de estado del servicio de backend del balanceo de cargas opc-on-prem-app-deployment-gclb-urlmap sean de color verde.
  3. Si el servicio de backend no aparece como en buen estado, establece una conexión SSH a una de las instancias:
     gcloud compute ssh instance-name --zone=zone name
  4. Ejecuta el siguiente comando para verificar que Envoy esté en funcionamiento:

     ps aux | grep envoy
    
    Debe haber más de un proceso en ejecución, además de grep envoy.

    Este es un resultado de ejemplo:

    envoy      943  0.0  0.0   5488  3076 ?        Ss   06:25   0:00 /bin/bash /usr/local/bin/run-proxy.sh
    envoy      944  0.1  1.5 178928 57352 ?        Sl   06:25   1:23 /usr/local/bin/envoy --config-path /usr/local/etc/
    envoy/envoy-proxy-bootstrap.json --allow-unknown-static-fields --disable-hot-restart --log-level info --drain-time-
    s 60
    
  5. Verifica que el directorio de registro de Envoy se cree en /var/log/envoy/.

  6. Ejecute el siguiente comando para asegurarse de que las VM puedan acceder al bucket gce-mesh:

    gsutil cp gs://gce-mesh/service-proxy-agent/releases/service-proxy-agent-0.2.tgz .

Si alguna de las validaciones en este paso falló, Envoy no está instalado de forma correcta. Revisa los registros de inicio en /var/log/daemon.log para obtener más información.

Si observaste que Envoy no se ejecuta desde los pasos anteriores, uno de los motivos podría ser los Controles del servicio de VPC. La secuencia de comandos de inicio en las VM descarga la imagen de Envoy del bucket gce-mesh. Si las reglas de los Controles del servicio de VPC no permiten la conexión, la implementación del conector local no funcionará.

Para garantizar que Envoy se instale de forma correcta, permite el acceso al bucket de almacenamiento gce-mesh en los Controles del servicio de VPC en el proyecto host. Además, asegúrate de que la VPC tenga una regla de enrutamiento para permitir el tráfico a la Internet pública. Esto permite la implementación de Envoy. Para obtener más información, consulta Reglas de entrada y salida.

Tu aplicación local no está conectada a Envoy

Si puedes hacer ping a la aplicación local desde la VM, pero no puedes usar el conector local, es posible que Envoy no pueda conectarse a la aplicación.

Para verificar que Envoy se pueda conectar a su aplicación local, intente realizar una llamada a Envoy desde la máquina en la que se ejecuta Envoy. Establece una conexión SSH a la VM opc-on-prem-app-deployment-ig-${app} y ejecuta el siguiente comando. Puedes encontrar el número de puerto de Envoy en Grupos de instancias > Detalles > Asignación del nombre de puerto.

shell curl -x -v localhost:${envoy_port}

Si no se puede acceder al extremo, comprueba lo siguiente:

  • /var/log/envoy/envoy.err.log para los registros de errores Si no hay registros de errores, verifica si Traffic Director está habilitado y si puede configurar Envoy mediante la ejecución del siguiente comando:
    sudo curl 0.0.0.0:15000/config_dump 
  • Verifica que esté configurado TRAFFICDIRECTOR_INTERCEPTION_LISTENER. Si TRAFFICDIRECTOR_INTERCEPTION_LISTENER no está configurado, Traffic Director no podría configurar Envoy.
  • Comprueba si hay mensajes de error en cada objeto de escucha.

Los permisos de la cuenta de Envoy y de Traffic Director no están configurados

Si ves el error GRPC 403 en envoy.err.log o si no ves TRAFFICDIRECTOR_INTERCEPTION_LISTENER en la configuración de Envoy, es posible que no tengas los permisos de cuenta correctos establecidos.

Verifica que la cuenta de servicio de la VM tenga permisos de acceso TD para xDS v3:

  • Verifique los permisos: https://cloud.google.com/traffic-director/docs/prepare-for-envoy-setup#grant
  • Verifique la cuenta: https://cloud.google.com/traffic-director/docs/prepare-for-envoy-setup#enable-service

Soluciona errores ERR_SSL_VERSION_OR_CIPHER_MISMATCH.

Si el navegador muestra el error ERR_SSL_VERSION_OR_CIPHER_MISMATCH sin redireccionar a la página de acceso, verifica el estado de los certificados en la página de detalles del balanceador de cargas de Google Cloud.

Ten en cuenta que el aprovisionamiento de un certificado administrado por Google puede tomar hasta 60 minutos.