Compartir a través de


Solución de problemas de asignación al implementar Cloud Services (clásico) en Azure

Importante

Cloud Services (clásico) ahora está en desuso para todos los clientes a partir del 1 de septiembre de 2024. Microsoft detendrá y apagará las implementaciones en ejecución existentes y los datos se perderán de forma permanente a partir de octubre de 2024. Las nuevas implementaciones deben utilizar el nuevo modelo de implementación basado en Azure Resource Manager Azure Cloud Services (soporte extendido) .

Resumen

Al implementar instancias en un servicio en la nube o agregar nuevas instancias de rol de trabajo o web, Microsoft Azure asigna recursos de proceso. En ocasiones, es posible que reciba errores a realizar estas operaciones incluso antes de llegar a los límites de la suscripción de Azure. En este artículo se explican las causas de algunos de los errores de asignación más comunes y se sugieren posibles soluciones. La información también puede ser útil si tiene pensado realizar la implementación de sus servicios.

Si tu problema con Azure no se trata en este artículo, visita los foros de Azure en Microsoft Q&A y Stack Overflow. Puede publicar su problema en ellos o en @AzureSupport en Twitter. También puede enviar una solicitud de soporte técnico de Azure. Para enviar una solicitud de soporte técnico, en la página de soporte técnico de Azure, seleccione Obtener soporte técnico.

Información de contexto: cómo funciona la asignación

Los servidores de los centros de datos de Azure están particionados en clústeres. Se intenta una nueva solicitud de asignación de servicio en la nube en varios clústeres. Cuando se implementa la primera instancia a un servicio en la nube (ya sea en ensayo o producción), ese servicio en la nube se ancla a un clúster. Todas las implementaciones posteriores para el servicio en la nube tendrán lugar en el mismo clúster. En este artículo, nos referiremos a dicho estado como "anclado a un clúster". En el siguiente diagrama, se ilustra el caso de una asignación normal que se intenta en varios clústeres. En el segundo diagrama, se ilustra el caso de una asignación que está anclada al clúster 2, porque ahí es donde se hospeda el servicio en la nube CS_1 existente.

Diagrama de asignación

¿Por qué se producen errores de asignación?

Cuando una solicitud de asignación está anclada a un clúster, existe una posibilidad menor de encontrar recursos libres dado que el grupo de recursos disponible se limita a un clúster. Además, si la solicitud de asignación está anclada a un clúster, pero el clúster no admite el tipo de recurso solicitado, se produce un error en la solicitud aunque el clúster tenga un recurso gratuito. En el siguiente diagrama, se ilustra el caso en el que una asignación anclada da error porque el único clúster candidato no tiene recursos libres. En el diagrama 4, se ilustra el caso en el que una asignación anclada da error porque el único clúster candidato no admite el tamaño de máquina virtual (VM) solicitado, a pesar de que el clúster tiene recursos libres.

Error de asignaciones ancladas

Solución de errores de asignación para servicios en la nube

Mensaje de error

En Azure Portal, vaya a su servicio en la nube y, en la barra lateral, seleccione Registros de operaciones (clásico) para ver los registros.

Consulte estas soluciones adicionales para las excepciones:

Tipo de excepción Mensaje de error Solución
FabricInternalServerError Error en la operación con el código "InternalError" y el mensaje de error "El servidor ha detectado un error interno. Vuelve a intentar realizar la solicitud". Solución de problemas de FabricInternalServerError
ServiceAllocationFailure Error en la operación con el código "InternalError" y el mensaje de error "El servidor ha detectado un error interno. Vuelve a intentar realizar la solicitud". Solución de problemas de ServiceAllocationFailure
LocationNotFoundForRoleSize Error en la operación "{Operation ID}": "El nivel de VM solicitado no está disponible actualmente en ({Region ID}) para esta suscripción. Pruebe con otro nivel o realice la implementación en una ubicación distinta". Solución de problemas de LocationNotFoundForRoleSize
ConstrainedAllocationFailed Error "{Operation ID}" en operaciones de Azure con el código Compute.ConstrainedAllocationFailed. Detalles: Error en la asignación; no se pudieron satisfacer las restricciones de la solicitud. La nueva implementación del servicio solicitada está enlazada a un grupo de afinidad, su destino es una instancia de Virtual Network o hay una implementación existente bajo este servicio hospedado. Todas estas condiciones restringen la nueva implementación a recursos específicos de Azure. Inténtelo de nuevo más tarde o pruebe a reducir el tamaño de la máquina virtual o el número de instancias de rol. También puede quitar, si es posible, las restricciones o intentar realizar la implementación en otra región. Solución de problemas de ConstrainedAllocationFailed
OverconstrainedAllocationRequest No se puede aprovisionar el tamaño de la máquina virtual (o la combinación de tamaños de la máquina virtual) que se necesita en esta implementación debido a restricciones en las solicitudes de implementación. Si es posible, intente relajar las restricciones como los enlaces de red virtual, intente realizar la implementación en un servicio hospedado que no tenga ninguna otra implementación y en otro grupo de afinidad o sin grupo de afinidad, o bien intente realizar la implementación en otra región. Solución de problemas de OverConstrainedAllocationRequest

Ejemplo de mensaje de error:

Error "Operación de Azure" {operation id}" con el código Compute.ConstrainedAllocationFailed. Detalles: Error en la asignación; no se pudieron satisfacer las restricciones de la solicitud. La nueva implementación del servicio solicitada está enlazada a un grupo de afinidad, su destino es una instancia de Virtual Network o hay una implementación existente bajo este servicio hospedado. Todas estas condiciones restringen la nueva implementación a recursos específicos de Azure. Inténtelo de nuevo más tarde o pruebe a reducir el tamaño de la máquina virtual o el número de instancias de rol. También puede quitar, si es posible, las restricciones mencionadas o intentar realizar la implementación en otra región.

Problemas comunes

A continuación se presentan los escenarios de asignación comunes que ocasionan que una solicitud de asignación quede anclada a un solo clúster.

  • Implementación en la ranura de ensayo - Si un servicio en la nube tiene una implementación en cualquier ranura, entonces todo el servicio en la nube se ancla a un clúster concreto. Esto significa que si una implementación ya existe en la ranura de producción, una nueva implementación de ensayo solo se puede asignar en el mismo clúster que la ranura de producción. Si la capacidad del clúster se está agotando, se puede producir un error en la solicitud.
  • Escalado - La incorporación de nuevas instancias a un servicio en la nube existente se debe asignar en el mismo clúster. Normalmente, las solicitudes de escalado pequeño se pueden asignar, pero no siempre. Si la capacidad del clúster se está agotando, se puede producir un error en la solicitud.
  • Grupo de afinidad: el tejido de cualquier clúster de esa región puede asignar una nueva implementación a un servicio en la nube vacío, a menos que el servicio en la nube esté anclado a un grupo de afinidad. Las implementaciones intentan usar el mismo grupo de afinidad en el mismo clúster. Si la capacidad del clúster se está agotando, se puede producir un error en la solicitud.
  • Red virtual del grupo de afinidad: las redes virtuales anteriores estaban vinculadas a grupos de afinidad en lugar de regiones, y los servicios en la nube de estas redes virtuales se anclaban al clúster del grupo de afinidad. Las implementaciones que se intenta realizar en este tipo de red virtual se producen en el clúster anclado. Si la capacidad del clúster se está agotando, se puede producir un error en la solicitud.

Soluciones

  1. Volver a implementar un nuevo servicio en la nube - Esta solución es probable que sea más exitosa, ya que permite a la plataforma elegir entre todos los clústeres de esa región.

    • Implementar la carga de trabajo en un nuevo servicio en la nube.
    • Actualizar el registro CNAME o A para que apunte el tráfico al nuevo servicio en la nube.
    • Una vez que ya no se dirige tráfico al sitio antiguo, puede eliminar el servicio en la nube antiguo. Esta solución debe incurrir en tiempo de inactividad cero.
  2. Eliminación de las ranuras de producción y almacenamiento provisional: esta solución conserva el nombre del sistema de nombres de dominio (DNS) existente, pero provoca tiempo de inactividad en la aplicación.

    • Eliminar las ranuras de producción y ensayo de un servicio en la nube existente para que dicho esté vacío y después
    • Crear una nueva implementación en el servicio en la nube existente. Esta solución vuelve a intentar la asignación en todos los clústeres de la región. Asegúrese de que el servicio en la nube no esté vinculado a un grupo de afinidad.
  3. Dirección IP reservada: esta solución conservará su dirección IP existente, pero provocará tiempo de inactividad en la aplicación.

    • Cree una dirección IP reservada para la implementación mediante PowerShell.

      New-AzureReservedIP -ReservedIPName {new reserved IP name} -Location {location} -ServiceName {existing service name}
      
    • Siga el punto 2 y asegúrese de especificar la nueva dirección IP reservada en el CSCFG del servicio.

  4. Quitar el grupo de afinidad para nuevas implementaciones - Ya no se recomienda utilizar grupos de afinidad. Siga los pasos del punto 1 para implementar un nuevo servicio en la nube. Asegúrese de que el servicio en la nube no se encuentre en un grupo de afinidad.

  5. Conversión a una red virtual regional: consulte Procedimiento para migrar elementos desde los grupos de afinidad a una red virtual regional (red virtual).