Todos los productos
Search
Centro de documentos

Auto Scaling:Automatically bind and release EIPs for ECS instances during auto scaling

Última actualización: Sep 02, 2026

Para garantizar la accesibilidad del servicio, puede vincular automáticamente una dirección IP elástica (EIP) a cada nueva instancia ECS durante un evento de escalado horizontal. Por el contrario, durante un evento de reducción horizontal, puede liberar automáticamente las EIP de las instancias que se eliminan. Esta práctica resulta útil en periodos de baja demanda o cuando ya no se requiere acceso público. Asimismo, optimiza el uso de recursos y reduce costos al eliminar los cargos por recursos inactivos.

Nota

Una EIP es una dirección IP pública que puede adquirir y gestionar de forma independiente. Puede vincular una EIP a una instancia ECS o liberarla según sea necesario. Para obtener más información, consulte What is an elastic ip address.

Requisitos previos

  • Cree un grupo de escalado y asegúrese de que se encuentre en estado Enable. Para obtener más información, consulte Create a scaling group.

  • Otorgue permisos a CloudOps Orchestration Service (OOS) para acceder a otros servicios en la nube. Para obtener más información, consulte Set a RAM role and grant permissions to OOS.

    1. Cree un rol de RAM.

      Establezca el servicio de confianza para el rol de RAM como OOS. Este tema utiliza OOSServiceRole como nombre del rol de RAM.

    2. Adjunte directivas al rol de RAM.

      Cuando OOS ejecuta una tarea, requiere acceso a recursos de ECS, Auto Scaling y EIP. Por lo tanto, adjunte las siguientes directivas del sistema al rol OOSServiceRole:

      • AliyunECSFullAccess

      • AliyunESSFullAccess

      • AliyunEIPFullAccess

Vincular automáticamente EIP durante el escalado horizontal

  1. Cree un hook de ciclo de vida.

    La siguiente tabla describe los parámetros clave. Puede conservar los valores predeterminados para el resto de los parámetros. Para obtener más información, consulte Create a lifecycle hook.

    Parámetro

    Descripción

    Name

    Introduzca ESSHookForAttachEip.

    Scaling Activity

    Seleccione Scale-out Event.

    Timeout Period

    Introduzca un periodo de tiempo de espera adecuado, como 300 segundos.

    Importante

    Este parámetro especifica el tiempo máximo para completar la acción personalizada. Si el periodo de tiempo de espera es demasiado corto, la acción podría fallar. Establezca un tiempo suficiente para que su acción personalizada se complete correctamente.

    Send Notification When Lifecycle Hook Takes Effect

    Seleccione OOS Template y configure los siguientes parámetros:

    1. En OOS Template Type, seleccione Public Templates.

    2. Seleccione la plantilla pública de OOS ACS-ESS-LifeCycleAllocateEipAddressAndAttachToInstance. Esta plantilla vincula automáticamente una EIP a una instancia ECS durante un evento de escalado horizontal.

    3. Haga clic en Parameter Settings junto a la plantilla ACS-ESS-LifeCycleAllocateEipAddressAndAttachToInstance.

      A continuación se muestran ejemplos de parámetros clave. Puede conservar los valores predeterminados para el resto de los parámetros.

      • Billing method for EIP: PayByBandwidth especifica el método de facturación por ancho de banda. PayByTraffic especifica el método de facturación por tráfico. Este tema utiliza PayByBandwidth como ejemplo.

      • Peak bandwidth for EIP: Este ejemplo utiliza un valor de 5, lo que establece el ancho de banda máximo de la EIP en 5 Mbit/s.

      • EIP tags: Agregue etiquetas a las EIP para simplificar su gestión.

      • The RAM role assumed by OOS. : Seleccione OOSServiceRole.

        Este rol otorga a OOS los permisos necesarios para gestionar recursos de ECS, Auto Scaling y EIP.

  2. Desencadene un evento de escalado horizontal.

    Este ejemplo desencadena un evento de escalado horizontal mediante la ejecución manual de una regla de escalado. También puede utilizar tareas programadas o activadas por eventos. Para obtener más información, consulte Execute a scaling rule.

    Nota

    Cuando ejecuta manualmente una regla de escalado para desencadenar un evento de escalado horizontal, el hook de ciclo de vida entra en vigor. Sin embargo, si agrega manualmente una instancia ECS existente, el hook de ciclo de vida no se activa.

    Una vez desencadenado correctamente el evento de escalado horizontal, el grupo de escalado crea automáticamente una instancia ECS. Dado que el hook de ciclo de vida ESSHookForAttachEip está creado en el grupo de escalado, este coloca la instancia ECS en estado pendiente y notifica a OOS para que ejecute una tarea que cree y vincule una EIP a la instancia.

    Si el estado de la actividad de escalado cambia a Failed y se reporta un error similar al siguiente, compruebe los detalles de ejecución de la tarea en la consola de OOS. Para obtener más información, consulte (Optional) View OOS execution details.

    Los detalles de la actividad de escalado muestran el siguiente error: Fail to create Instances into scaling group(code:"LifecycleActionResult.Abandon", msg:"Abandon lifecycleActionResult parameter caused the instance to rollback.")

  3. Compruebe que se haya vinculado automáticamente una EIP a la instancia ECS escalada horizontalmente.

    En la pestaña Instances > Auto Create del grupo de escalado, haga clic en el ID de la instancia ECS creada automáticamente para ir a la página de detalles de la instancia. Para obtener más información, consulte Query the instance list of a scaling group.

    En la sección de información básica de la instancia ECS, revise el parámetro EIP. La presencia de una dirección IP en este campo indica que la EIP se vinculó correctamente.

    Nota

    Si la instancia ECS se creó pero no se vinculó ninguna EIP, compruebe los detalles de ejecución de la tarea en la consola de OOS.

  4. (Opcional) Consulte los detalles de ejecución de OOS.

    La página de detalles de ejecución de la tarea muestra información como el ID de ejecución y el estado en el área Basic Information, y proporciona detalles de ejecución y registros en el área Execution Steps and Results. Para obtener más información, consulte View task execution details.

    Importante

    Si la ejecución falla, se muestra un mensaje de error relevante en la página de detalles de ejecución.

Liberar automáticamente EIP durante la reducción horizontal

  1. Cree un hook de ciclo de vida.

    La siguiente tabla describe los parámetros clave. Puede conservar los valores predeterminados para el resto de los parámetros. Para obtener más información, consulte Create a lifecycle hook.

    Parámetro

    Descripción

    Name

    Introduzca ESSHookForReleaseEip.

    Scaling Activity

    Seleccione Scale-in Event.

    Timeout Period

    Introduzca un periodo de tiempo de espera adecuado, como 300 segundos.

    Importante

    Este parámetro especifica el tiempo máximo para completar la acción personalizada. Si el periodo de tiempo de espera es demasiado corto, la acción podría fallar. Establezca un tiempo suficiente para que su acción personalizada se complete correctamente.

    Send Notification When Lifecycle Hook Takes Effect

    Seleccione OOS Template y configure los siguientes parámetros:

    1. En OOS Template Type, seleccione Public Templates.

    2. Seleccione la plantilla pública de OOS ACS-ESS-LifeCycleReleaseEipAddressFromInstance. Esta plantilla libera automáticamente la EIP de una instancia ECS durante un evento de reducción horizontal.

    3. Haga clic en Parameter Settings junto a la plantilla ACS-ESS-LifeCycleReleaseEipAddressFromInstance.

      Establezca The RAM role assumed by OOS. como OOSServiceRole y conserve los valores predeterminados para el resto de los parámetros. Este rol otorga a OOS los permisos necesarios para gestionar recursos de ECS, Auto Scaling y EIP.

  2. Desencadene un evento de reducción horizontal.

    Este ejemplo desencadena un evento de reducción horizontal mediante la ejecución manual de una regla de escalado. También puede utilizar tareas programadas o activadas por eventos. Para obtener más información, consulte Execute a scaling rule.

    Nota

    Cuando ejecuta manualmente una regla de escalado para desencadenar un evento de reducción horizontal, el hook de ciclo de vida entra en vigor. Sin embargo, si elimina manualmente una instancia ECS existente, el hook de ciclo de vida no se activa.

    Una vez desencadenado correctamente el evento de reducción horizontal, el grupo de escalado elimina automáticamente una instancia ECS. Dado que el hook de ciclo de vida ESSHookForReleaseEip está creado en el grupo de escalado, este coloca la instancia ECS en estado pendiente y notifica a OOS para que ejecute una tarea que libere la EIP de la instancia.

  3. Compruebe que la EIP se haya liberado automáticamente de la instancia ECS reducida horizontalmente.

    Revise la lista de direcciones IP elásticas para buscar la EIP. La EIP se habrá liberado correctamente si ya no aparece en la lista.

    Nota

    Si la instancia ECS se eliminó pero la EIP no se liberó, compruebe los detalles de ejecución de la tarea en la consola de OOS.

  4. (Opcional) Consulte los detalles de ejecución de OOS.

    La página de detalles de ejecución de la tarea muestra información como el ID de ejecución y el estado en el área Basic Information, y proporciona detalles de ejecución y registros en el área Execution Steps and Results. Para obtener más información, consulte View task execution details.

    Importante

    Si la ejecución falla, se muestra un mensaje de error relevante en la página de detalles de ejecución.

Preguntas frecuentes

Si no logra ejecutar una tarea de operación y mantenimiento, solucione el problema basándose en el mensaje de error del resultado de ejecución. Para obtener más información, consulte FAQ.

La siguiente tabla describe los mensajes de error comunes.

Mensaje de error

Causa

Solución

Forbidden.Unauthorized message: A required authorization for the specified action is not supplied.

No ha autorizado a Auto Scaling para realizar la acción actual.

Compruebe si el rol de RAM OOSServiceRole tiene los permisos necesarios.

Forbidden.RAM message: User not authorized to operate on the specified resource, or this API doesn't support RAM.

El usuario de RAM o el rol de RAM no tienen permisos para operar los recursos correspondientes.

Compruebe si el rol de RAM OOSServiceRole tiene los permisos necesarios. Por ejemplo, puede otorgar permisos de OOS al rol de RAM. Antes de que OOS pueda gestionar los recursos declarados en la plantilla de OOS, debe otorgar los permisos necesarios al rol de RAM.

LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken and lifecycleActionId you provided does not match any in process lifecycle action.

La acción del hook de ciclo de vida en curso ha finalizado o se ha detenido.

Evalúe el periodo de tiempo de espera del hook de ciclo de vida para asegurarse de que las tareas de operación y mantenimiento especificadas en la plantilla de OOS puedan completarse dentro del límite de tiempo asignado.

Documentos relacionados

  • Un hook de ciclo de vida es una herramienta utilizada para gestionar el ciclo de vida de las instancias en un grupo de escalado. Puede usar hooks de ciclo de vida para realizar acciones personalizadas en una instancia antes de que se ponga en servicio o se termine. Para obtener más información, consulte Lifecycle hook overview.

  • CloudOps Orchestration Service (OOS) es un servicio automatizado de operación y mantenimiento proporcionado por Alibaba Cloud que puede utilizar para automatizar la gestión y ejecución de tareas. Para obtener más información, consulte What is CloudOps Orchestration Service.

  • Para escenarios de red avanzados, como crear una solución de failover de bajo costo que requiera acceso a Internet público, puede vincular automáticamente una interfaz de red elástica (ENI) secundaria con una EIP a una instancia ECS durante un evento de escalado horizontal. Por el contrario, durante un evento de reducción horizontal, puede liberar automáticamente la ENI secundaria y su EIP asociada cuando la instancia se termina o si ya no se requiere acceso público. Para obtener más información, consulte Automatically attach and release secondary ENIs with EIPs.