Tous les produits
Search
Centre de documentation

Auto Scaling:CreateLifecycleHook

Dernière mise à jour :Sep 10, 2026

Crée un ou plusieurs hooks de cycle de vie pour un groupe de mise à l'échelle.

Description de l'opération

Description de l'opération

  • Un groupe de mise à l'échelle peut avoir un maximum de 6 hooks de cycle de vie. Lorsqu'une activité de mise à l'échelle se produit dans un groupe de mise à l'échelle doté de hooks de cycle de vie, ces derniers suspendent l'activité de mise à l'échelle pendant une période d'attente. Vous pouvez spécifier la période d'attente à l'aide du paramètre HeartbeatTimeout. Pendant cette période d'attente, vous pouvez effectuer des opérations telles que l'initialisation des configurations d'instances ECS et la récupération des données des instances ECS.

  • Lors d'une activité de montée en charge, les instances ECS entrent dans l'état d'attente après avoir été ajoutées à la liste blanche de l'instance RDS, et sont ajoutées au groupe de serveurs backend de l'instance SLB une fois l'état d'attente terminé. Lors d'une activité de descente en charge, les instances ECS entrent dans l'état d'attente après avoir été retirées du groupe de serveurs backend de l'instance SLB, et sont retirées de la liste blanche de l'instance RDS une fois l'état d'attente terminé.

  • Vous pouvez configurer des méthodes de notification pour les hooks de cycle de vie. Les méthodes de notification prises en charge incluent les sujets MNS, les files d'attente MNS et les modèles OOS. Si vous configurez un modèle OOS, créez un rôle RAM pour le service OOS. Pour plus d'informations, consultez Configuration des autorisations RAM pour OOS.

Remarque

Si le groupe de mise à l'échelle contient des instances ECS existantes et que le modèle OOS configuré est utilisé pour ajouter ou supprimer des instances de la liste blanche d'une base de données autre que RDS, vous devez ajouter manuellement les instances ECS existantes à la liste blanche de la base de données.

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

ess:CreateLifecycleHook

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

Aucune Aucune

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

ScalingGroupId

string

Oui

L'identifiant du groupe de mise à l'échelle.

asg-bp1eyv4qn8ssgv43****

LifecycleHookName

string

Non

Le nom du hook de cycle de vie. Le nom doit être unique au sein du groupe de mise à l'échelle. Le nom doit comporter entre 2 et 64 caractères et peut contenir des lettres, des chiffres, des traits de soulignement (_), des traits d'union (-) et des points (.). Le nom doit commencer par une lettre, un chiffre ou un caractère chinois.

Valeur par défaut : la valeur de LifecycleHookId.

lifecyclehook****

LifecycleTransition

string

Oui

Le type d'activité de mise à l'échelle auquel le hook de cycle de vie s'applique. Valeurs valides :

  • SCALE_OUT : activité de montée en charge du groupe de mise à l'échelle.

  • SCALE_IN : activité de descente en charge du groupe de mise à l'échelle.

SCALE_OUT

DefaultResult

string

Non

L'action à entreprendre une fois l'état d'attente terminé. Valeurs valides :

  • CONTINUE : continue de répondre à l'activité de montée ou de descente en charge.

  • ABANDON : libère les instances ECS créées lors de l'activité de montée en charge, ou retire les instances ECS du groupe de mise à l'échelle lors de l'activité de descente en charge.

  • ROLLBACK : pour une activité de descente en charge, le système refuse la libération des instances ECS et effectue une restauration. Pour une activité de montée en charge, le système libère les instances ECS créées, ce qui a le même effet que ABANDON.

Lorsqu'une activité de descente en charge (SCALE_IN) déclenche plusieurs hooks de cycle de vie dans un groupe de mise à l'échelle, si le DefaultResult d'un hook de cycle de vie est défini sur ABANDON ou ROLLBACK et que l'état d'attente de ce hook se termine, les états d'attente des autres hooks de cycle de vie se terminent prématurément. Dans les autres cas, l'action à entreprendre est déterminée par le dernier hook de cycle de vie dont l'état d'attente se termine.

Valeur par défaut : CONTINUE.

CONTINUE

HeartbeatTimeout

integer

Non

La période d'attente définie par le hook de cycle de vie pour l'activité du groupe de mise à l'échelle. Une fois l'état d'attente expiré, l'action suivante est exécutée. Valeurs valides : 30 à 21600. Unité : secondes.

Une fois un hook de cycle de vie créé, vous pouvez appeler RecordLifecycleActionHeartbeat pour prolonger la période d'attente d'une instance ECS, ou appeler CompleteLifecycleAction pour mettre fin prématurément à l'état d'attente d'une activité de mise à l'échelle.

Valeur par défaut : 600.

600

NotificationMetadata

string

Non

Les informations de notification qui sont transmises à NotificationArn (le destinataire de la notification) lorsque le hook de cycle de vie suspend une activité de mise à l'échelle. Ce paramètre vous aide à gérer et à baliser les informations de notification de différentes catégories. Vous devez également spécifier NotificationArn. La valeur peut comporter jusqu'à 4 096 caractères.

Si NotificationArn est défini sur un modèle OOS, qu'il s'agisse d'un modèle public ou personnalisé, NotificationMetadata doit être défini sur une chaîne JSON correspondant aux paramètres du modèle OOS.

Par exemple, {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}, où dbInstanceId et modifyMode sont des paramètres définis dans le modèle OOS. Certains paramètres du modèle OOS ont des valeurs par défaut. NotificationMetadata doit spécifier les paramètres qui n'ont pas de valeurs par défaut. Si vous spécifiez des paramètres qui ont des valeurs par défaut, les valeurs spécifiées remplacent les valeurs par défaut d'origine. Cependant, conservez les valeurs par défaut pour les paramètres suivants, qui sont utilisés pour récupérer les informations pertinentes lors des activités de mise à l'échelle :

  • regionId : la région où l'activité de mise à l'échelle est exécutée. Valeur par défaut : ${regionId}.

  • instanceIds : la liste des instances associées à l'activité de mise à l'échelle. Valeur par défaut : ${instanceIds}.

  • lifecycleHookId : l'identifiant du hook de cycle de vie. Valeur par défaut : ${lifecycleHookId}.

  • lifecycleActionToken : l'identifiant de l'état d'attente pour l'activité de mise à l'échelle, qui est utilisé pour mettre fin prématurément à l'activité suspendue en cours. Valeur par défaut : ${lifecycleActionToken}.

  • scalingGroupId : l'identifiant du groupe de mise à l'échelle auquel l'activité de mise à l'échelle appartient. Valeur par défaut : ${scalingGroupId}.

  • lifecycleActionResult : l'action à entreprendre une fois l'état d'attente du hook de cycle de vie terminé, qui est utilisée pour mettre fin prématurément à l'activité suspendue en cours en cas d'échec du modèle OOS. Lorsque DefaultResult est défini sur ROLLBACK, la valeur par défaut est ROLLBACK. Dans les autres cas, la valeur par défaut est ABANDON.

Remarque
  • Vous pouvez définir la valeur de lifecycleActionResult pour remplacer la valeur par défaut actuelle. Valeurs valides : ABANDON, CONTINUE, ROLLBACK et ${lifecycleActionResult}. ${lifecycleActionResult} indique que la valeur de lifecycleActionResult est cohérente avec la valeur de DefaultResult.

  • Vous pouvez obtenir des informations détaillées sur les paramètres du modèle correspondant dans la console OOS.

Test de hook de cycle de vie

NotificationArn

string

Non

L'Alibaba Cloud Resource Name (ARN) du destinataire de la notification du hook de cycle de vie. Si ce paramètre n'est pas défini, aucune notification n'est envoyée. Les méthodes de notification suivantes sont prises en charge lorsque vous définissez ce paramètre :

  • File d'attente MNS. La valeur est au format acs:mns:{region-id}:{account-id}:queue/{queuename}.

  • Sujet MNS. La valeur est au format acs:mns:{region-id}:{account-id}:topic/{topicname}.

  • Modèle OOS. La valeur est au format acs:oos:{region-id}:{account-id}:template/{templatename}.

  • EventBridge. La valeur est au format acs:eventbridge:{region-id}:{account-id}:eventbus/default.

Les variables dans le format ont les significations suivantes :

  • region-id : l'identifiant de la région du groupe de mise à l'échelle.

  • account-id : l'identifiant du compte Alibaba Cloud. L'identifiant de compte d'un utilisateur Resource Access Management (RAM) n'est pas pris en charge.

  • queuename : le nom de la file d'attente MNS.

  • topicname : le nom du sujet MNS.

  • templatename : le nom du modèle OOS.

acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****

Éléments de réponse

Élément

Type

Description

Exemple

object

RequestId

string

L'identifiant de la requête.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

LifecycleHookId

string

L'identifiant du hook de cycle de vie.

ash-bp1at9ufhmcf9cmy****

Exemples

JSON format

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "LifecycleHookId": "ash-bp1at9ufhmcf9cmy****"
}

Codes d'erreur

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.