Solución de problemas de roles de Azure Cloud Services (soporte extendido) que no se inician

Estos son algunos problemas y soluciones comunes relacionados con los roles de Azure Cloud Services (soporte extendido) que no se inician.

Se produce un error en la operación de servicio en la nube con RoleInstanceStartupTimeoutError

Es posible que una o varias instancias de rol de Azure Cloud Services (soporte extendido) sean lentas de iniciar o que se estén reciclando y se produzca un error en la instancia de rol. Aparece el error RoleInstanceStartupTimeoutError de aplicación de rol.

La aplicación de roles contiene dos partes que pueden provocar el reciclaje de roles: tareas de inicio y código de rol (implementación de RoleEntryPoint).

Si el rol se detiene, el agente de plataforma como servicio (PaaS) reinicia el rol.

Puede obtener el estado actual y los detalles de una instancia de rol para diagnosticar errores mediante PowerShell o el Azure Portal:

  • PowerShell: use el cmdlet Get-AzCloudServiceRoleInstanceView para obtener información sobre el estado en tiempo de ejecución de la instancia de rol:

    Get-AzCloudServiceRoleInstanceView -ResourceGroupName "ContosOrg" -CloudServiceName "ContosoCS" -RoleInstanceName "WebRole1_IN_0"
    
    Statuses           PlatformFaultDomain PlatformUpdateDomain
    --------           ------------------- --------------------
    {RoleStateStarting} 0                   0
    
  • Azure Portal: en el portal, vaya a la instancia del servicio en la nube. Para ver los detalles del estado, seleccione Roles e instancias y, a continuación, seleccione la instancia de rol.

    Captura de pantalla que muestra un error de inicio de rol en el Azure Portal.

Archivos DLL o ensamblados que faltan

Los roles y roles que no responden que se cícten entre estados pueden deberse a la falta de archivos DLL o ensamblados.

Estos son algunos síntomas de que faltan archivos DLL o ensamblados:

  • La instancia de rol recorre los estados Inicializando, Ocupado y Deteniendo.
  • La instancia de rol se ha movido al estado Listo , pero si va a la aplicación web, la página no estará visible.

Un sitio web que se implemente en un rol web y que falte un archivo DLL podría mostrar este error en tiempo de ejecución del servidor:

Captura de pantalla que muestra un error en tiempo de ejecución después de un error de inicio de rol.

Resolución de archivos DLL y ensamblados que faltan

Para resolver errores de archivos DLL y ensamblados que faltan:

  1. En Visual Studio, abra la solución.
  2. En Explorador de soluciones, abra la carpeta Referencias.
  3. Seleccione el ensamblado identificado en el error.
  4. En Propiedades, establezca la propiedad Copiar local en True.
  5. Vuelva a implementar el servicio en la nube.

Después de comprobar que los errores ya no aparecen, vuelva a implementar el servicio. Al configurar la implementación, no active la casilla Habilitar IntelliTrace para roles de .NET 4 .

Diagnóstico de errores de instancia de rol

Elija entre las siguientes opciones para diagnosticar problemas con instancias de rol.

Desactivar errores personalizados

Para ver la información de error completa, en el archivo web.config del rol web, establezca el modo de error personalizado en y, a continuación, vuelva a offimplementar el servicio:

  1. En Visual Studio, abra la solución.

  2. En Explorador de soluciones, abra el archivo web.config.

  3. En la system.web sección , agregue el código siguiente:

    <customErrors mode="Off" />
    
  4. Guarde el archivo.

  5. Vuelva a empaquetar y volver a implementar el servicio.

Cuando se vuelve a implementar el servicio, un mensaje de error incluye el nombre de los ensamblados o archivos DLL que faltan.

Uso de Escritorio remoto

Use Escritorio remoto para acceder al rol y ver la información de error completa:

  1. Agregue la extensión de Escritorio remoto para Azure Cloud Services (soporte extendido).
  2. En el Azure Portal, cuando la instancia del servicio en la nube muestra un estado Listo, use Escritorio remoto para iniciar sesión en el servicio en la nube. Para obtener más información, consulte Conexión a instancias de rol mediante Escritorio remoto.
  3. Inicie sesión en la máquina virtual con las credenciales que usó para configurar Escritorio remoto.
  4. Abra una ventana del símbolo del sistema.
  5. En el símbolo del sistema, escriba ipconfig. Tenga en cuenta el valor devuelto para la dirección IPv4.
  6. Abra Microsoft Internet Explorer.
  7. En la barra de direcciones, escriba la dirección IPv4 seguida de una barra diagonal y el nombre del archivo predeterminado de la aplicación web. Por ejemplo, http://<IPv4 address>/default.aspx.

Si va al sitio web ahora, verá mensajes de error que contienen más información. Aquí le mostramos un ejemplo:

Captura de pantalla que muestra un ejemplo de un mensaje de error.

Uso del emulador de proceso

Puede usar el emulador de proceso de Azure para diagnosticar y solucionar problemas de dependencias y errores deweb.config que faltan. Cuando use este método para diagnosticar problemas, para obtener mejores resultados, use un equipo o una máquina virtual que tenga una instalación limpia de Windows.

Para diagnosticar problemas mediante el emulador de proceso de Azure:

  1. Instale el SDK de Azure.
  2. En el equipo de desarrollo, compile el proyecto de servicio en la nube.
  3. En Explorador de archivos, en el proyecto de servicio en la nube, vaya a la carpeta bin\debug.
  4. Copie la carpeta .csx y el archivo .cscfg en el equipo que usa para depurar problemas.
  5. En la máquina limpia, abra una ventana del símbolo del sistema del SDK de Azure.
  6. En el símbolo del sistema, escriba csrun.exe /devstore:start.
  7. A continuación, escriba run csrun <path to .csx folder> <path to .cscfg file> /launchBrowser.
  8. Cuando se inicia el rol, Internet Explorer muestra información detallada del error.

Si se requiere más diagnóstico, puede usar herramientas de solución de problemas estándar de Windows.

Uso de IntelliTrace

Para los roles de trabajo y web que usan .NET Framework 4, puede usar IntelliTrace. IntelliTrace está disponible en Visual Studio Enterprise.

Para implementar el servicio en la nube con IntelliTrace activado:

  1. Confirme que azure SDK 1.3 o posterior está instalado.
  2. En Visual Studio, implemente la solución. Al configurar la implementación, active la casilla Habilitar IntelliTrace para roles de .NET 4 .
  3. Una vez iniciada la instancia de rol, abra el Explorador de servidores.
  4. Expanda el nodo Azure\Cloud Services.
  5. Expanda la implementación para enumerar las instancias de rol. Haga clic con el botón derecho en una instancia de rol.
  6. Seleccione Ver registros de IntelliTrace.
  7. En Resumen de IntelliTrace, vaya a Datos de excepción.
  8. Expanda Datos de excepción y busque un System.IO.FileNotFoundException error: Captura de pantalla de los datos de excepción para un error de inicio de rol.

Pasos siguientes

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure.