Crée une ou plusieurs règles de cycle de vie pour un groupe Auto Scaling spécifié. Ces règles interviennent à des étapes critiques du cycle de vie de l'instance, par exemple avant le démarrage ou l'arrêt, ce qui vous permet d'exécuter des opérations personnalisées telles que l'envoi de notifications ou l'exécution de scripts automatisés. Cette fonctionnalité permet un contrôle et une gestion plus précis, vous permettant d'authentifier, de configurer ou de sauvegarder des données avant et après que les instances sont affectées par une activité de mise à l'échelle, améliorant ainsi la flexibilité et la fiabilité des déploiements d'applications.
Description de l'opération
Un groupe de mise à l'échelle peut avoir jusqu'à 10 règles de cycle de vie. Lorsqu'une activité de mise à l'échelle se produit dans un groupe de mise à l'échelle doté de règles de cycle de vie, ces règles suspendent l'activité de mise à l'échelle pendant un certain temps. Vous pouvez spécifier le temps d'attente à l'aide du paramètre HeartbeatTimeout. Pendant le temps d'attente, vous pouvez effectuer des opérations telles que l'initialisation des configurations des instances ECS et l'obtention de données d'instance ECS.
Lors d'une activité d'extension, les instances ECS entrent dans l'état d'attente après avoir été ajoutées à la liste blanche de l'instance ApsaraDB RDS, et sont ajoutées au groupe de serveurs backend de l'instance Server Load Balancer (SLB) une fois l'état d'attente terminé. Lors d'une activité de réduction, 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 ApsaraDB RDS une fois l'état d'attente terminé.
Vous pouvez configurer des méthodes de notification pour les règles de cycle de vie. Les méthodes de notification prises en charge incluent les rubriques Message Service (MNS), les files d'attente MNS et les modèles Operation Orchestration Service (OOS). Si vous configurez un modèle OOS, vous devez créer un rôle Resource Access Management (RAM) pour OOS. Pour plus d'informations, consultez Accorder des autorisations RAM à OOS.
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 cloud autre qu'ApsaraDB RDS, vous devez ajouter manuellement les instances ECS existantes à la liste blanche de la base de données cloud.
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
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 de la règle de cycle de vie. Le nom doit être unique au sein du groupe de mise à l'échelle. Il doit comporter de 2 à 64 caractères et peut contenir des lettres, des chiffres, des traits de soulignement (_), des traits d'union (-) et des points (.). Il doit commencer par une lettre, un chiffre ou un caractère chinois.\n\nValeur par défaut : la valeur de LifecycleHookId. |
lifecyclehook**** |
| LifecycleTransition |
string |
Oui |
Le type d'activité de mise à l'échelle auquel la règle de cycle de vie s'applique. Valeurs valides :\n- SCALE_OUT : activités d'extension du groupe de mise à l'échelle.\n- SCALE_IN : activités de réduction du groupe de mise à l'échelle. |
SCALE_OUT |
| DefaultResult |
string |
Non |
L'action à exécuter après la fin de l'état d'attente. Valeurs valides :
Lorsqu'une activité de scale-in se produit dans le groupe de mise à l'échelle et que plusieurs hooks de cycle de vie sont déclenchés, si le DefaultResult d'un hook de cycle de vie est défini sur ABANDON ou ROLLBACK et que l'état d'attente du hook se termine, les états d'attente des autres hooks de cycle de vie sont terminés par anticipation. Dans les autres cas, l'action à exécuter 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 |
Le temps d'attente défini par la règle de cycle de vie pour l'activité de mise à l'échelle. Une fois l'état d'attente expiré, l'action suivante est effectuée. Valeurs valides : 30 à 21600. Unité : secondes.\n\nAprès avoir créé une règle de cycle de vie, vous pouvez appeler l'opération RecordLifecycleActionHeartbeat pour prolonger le temps d'attente de l'instance ECS, ou appeler l'opération CompleteLifecycleAction pour mettre fin à l'état d'attente de l'activité de mise à l'échelle à l'avance.\n\nValeur par défaut : 600. |
600 |
| NotificationMetadata |
string |
Non |
Le message de notification envoyé au NotificationArn (destinataire de la notification) lorsque le hook de cycle de vie met en pause l'activité de mise à l'échelle. Ce paramètre vous aide à gérer et à marquer différents types de messages de notification. Vous devez spécifier NotificationArn conjointement avec ce paramètre. La valeur peut contenir 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 spécifié sous forme de 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. Vous devez spécifier les paramètres qui n'ont pas de valeurs par défaut dans NotificationMetadata. Si vous spécifiez un paramètre qui possède une valeur par défaut, la valeur par défaut d'origine est écrasée. Toutefois, conservez les valeurs par défaut pour les paramètres suivants afin d'obtenir les informations pertinentes lors de l'exécution de l'activité de mise à l'échelle :
Remarque
|
Test lifecycle hook. |
| NotificationArn |
string |
Non |
L'identifiant du destinataire de la notification pour la règle de cycle de vie. Si vous ne spécifiez pas ce paramètre, aucune notification n'est envoyée. Si vous spécifiez ce paramètre, les méthodes de notification suivantes sont prises en charge :\n- File d'attente MNS. Format : acs:mns:{region-id}:{account-id}:queue/{queuename}.\n- Rubrique MNS. Format : acs:mns:{region-id}:{account-id}:topic/{topicname}.\n- Modèle OOS. Format : acs:oos:{region-id}:{account-id}:template/{templatename}.\n- EventBridge. Format : acs:eventbridge:{region-id}:{account-id}:eventbus/default.\n\nLes variables dans les formats ont les significations suivantes :\n- region-id : l'identifiant de la région où réside le groupe de mise à l'échelle.\n- account-id : l'identifiant du compte Alibaba Cloud. L'identifiant d'un utilisateur RAM n'est pas pris en charge.\n- queuename : le nom de la file d'attente MNS.\n- topicname : le nom de la rubrique MNS.\n- 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 |
|||
| LifecycleHookId |
string |
L'identifiant de la règle de cycle de vie. |
ash-bp1at9ufhmcf9cmy**** |
| RequestId |
string |
L'identifiant de la requête. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E |
Exemples
JSON format
{
"LifecycleHookId": "ash-bp1at9ufhmcf9cmy****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}
Codes d'erreur
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.