Depura una instancia

Puedes habilitar el modo de depuración para una VM. En el modo de depuración, los miembros del proyecto con funciones de propietario, editor y administrador de App Engine tienen acceso a VM con permiso de administrador. Mientras el modo de depuración está habilitado, el lanzamiento automático de las actualizaciones del sistema operativo y de los parches de seguridad está inhabilitado. Sin embargo, la VM sigue siendo parte del grupo balanceador de cargas, y continúa recibiendo solicitudes externas.

Siempre que habilites o inhabilites la depuración, aparecerá un evento de “Habilitación/inhabilitación de la depuración de la instancia de VM” en Google Cloud Platform Console y el evento se registrará en el archivo /var/log/syslog.log de la VM.

Inhabilita y habilita el modo de depuración

Puedes usar gcloud para inhabilitar y habilitar el modo de depuración de una instancia.

Para inhabilitar y habilitar el modo de depuración en gcloud, haz lo siguiente:

  1. Usa el comando gcloud app instances enable-debug para depurar las VM de una instancia y versión en particular de la siguiente manera:
    gcloud app --project [PROJECT-ID] instances enable-debug
    Reemplaza PROJECT-ID con tu propio ID del proyecto, y sigue las indicaciones para especificar la versión de la instancia que vas a depurar.
  2. Cuando termine la depuración, inhabilita el modo de depuración de la manera siguiente:
    gcloud app --project [PROJECT-ID] instances disable-debug
    Sigue las indicaciones para especificar la versión de la instancia

Cuando inhabilitas el modo de depuración, la VM se detiene y se inicia una instancia nueva de tu aplicación, la cual se ejecuta en una VM nueva y limpia.

Conéctate a la instancia

Console

Para conectarte a una instancia en Console, haz lo siguiente:

  1. Visita la página de instancias de GCP Console que corresponde a tu proyecto:

    Ir a la página de instancias

  2. Haz clic en SSH en el extremo derecho de la fila que contiene la instancia a la que deseas acceder:

    Esto pone a la instancia en modo de depuración, y abre una sesión de SSH para la instancia en una ventana terminal.

    También puedes seleccionar opciones diferentes para iniciar una sesión SSH desde la lista desplegable.

  3. En este punto te encuentras en el host de instancia, que tiene varios contenedores ejecutándose en él. Consulta a continuación Información sobre los contenedores comunes para obtener más información al respecto.
  4. En la ventana de la terminal, enumera los contenedores que se ejecutan en la instancia:
    sudo docker ps
  5. La salida del comando sudo docker ps enumera los contenedores por fila. Localiza la fila que contiene tu ID del proyecto: es el contenedor que ejecuta tu código. Anota el NOMBRE de este contenedor.
  6. Otra opción es enumerar la información de registro de la aplicación invocando lo siguiente:
    sudo docker logs [CONTAINER-NAME]
  7. Inicia un shell en el contenedor que ejecuta tu código:
    sudo docker exec -it [CONTAINER-NAME] /bin/bash
  8. Cuando finalice la depuración, ingresa exit si deseas salir del contenedor, luego, ingresa exit nuevamente para salir de la sesión de SSH.
  9. Inhabilita la depuración de tu instancia para permitir que se reanude el funcionamiento normal.

gcloud

Para conectarse a una instancia mediante gcloud:

  1. Con la instancia habilitada para la depuración, invoca el comando:
    gcloud beta app instances --project [PROJECT-ID] ssh [INSTANCE-NAME] --service [SERVICE] --version [VERSION]
  2. En este punto te encuentras en el host de la instancia, que tiene varios contenedores en ejecución. Consulta a continuación Información sobre los contenedores comunes para obtener más información al respecto.
  3. En la ventana de la terminal, enumera los contenedores que se ejecutan en la instancia:
    sudo docker ps
  4. La salida del comando sudo docker ps enumera los contenedores por fila. Localiza la fila que contiene tu ID del proyecto: es el contenedor que ejecuta tu código. Anota el NOMBRE de este contenedor.
  5. Otra opción es enumerar la información de registro de la aplicación invocando lo siguiente:
    sudo docker logs [CONTAINER-NAME]
  6. Inicia un shell en el contenedor que ejecuta tu código:
    docker exec -it [CONTAINER-NAME] /bin/bash
  7. Cuando finalice la depuración, ingresa exit si deseas salir del contenedor, luego, ingresa exit nuevamente para salir de la sesión de SSH.
  8. Inhabilita la depuración de tu instancia para permitir que se reanude el funcionamiento normal.

Información sobre los contenedores comunes

Además del contenedor que ejecuta el código de tu aplicación, tu instancia también puede tener los siguientes contenedores:

Contenedor y código fuente Organización de código abierto Descripción
fluentd_logger fluentd.org/ Agente de registro
memcache_proxy Proxy de Memcache de código abierto Proporciona funciones de Memcache a la app
nginx_proxy nginx.org Solicitudes de proxies a la aplicación
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno de App Engine Flexible para Python