Tous les produits
Search
Centre de documentation

Auto Scaling:Appliquer une stratégie de snapshot automatique aux instances ECS

Dernière mise à jour :Oct 14, 2026

Ce tutoriel explique comment utiliser un hook de cycle de vie d'Auto Scaling pour suspendre une instance ECS et lui appliquer automatiquement une stratégie de snapshot automatique via un modèle CloudOps Orchestration Service (OOS).

Prérequis

  • Vous avez créé un groupe de mise à l'échelle dont l'état est Enabled. Pour plus d'informations, consultez la rubrique Gérer les groupes de mise à l'échelle.

  • Vous avez créé une stratégie de snapshot automatique. Pour plus d'informations, consultez la rubrique Créer une stratégie de snapshot automatique.

  • Un rôle RAM (Resource Access Management) a été créé pour OOS. L'entité de confiance du rôle RAM doit être Alibaba Cloud Service, le service de confiance doit être CloudOps Orchestration Service et le rôle RAM doit disposer des autorisations nécessaires pour effectuer des opérations sur le modèle OOS. Pour plus d'informations, consultez la rubrique Créer un rôle RAM pour OOS et accorder des autorisations.

    Remarque

    Dans cette rubrique, le rôle RAM OOSServiceRole sert d'exemple. Vous pouvez également utiliser d'autres rôles.

Contexte

Une stratégie de snapshot automatique crée périodiquement des snapshots pour vos instances ECS, ce qui améliore la sécurité des données et la tolérance aux pannes opérationnelles. Bien qu'il ne soit pas possible d'associer une stratégie de snapshot automatique lors de la création d'une configuration de mise à l'échelle, vous pouvez automatiser ce processus en utilisant un hook de cycle de vie et un modèle OOS. Cette méthode s'avère plus efficace que l'application manuelle d'une stratégie à chaque nouvelle instance ECS.

Remarque

Une stratégie de snapshot automatique génère régulièrement des snapshots selon une planification définie afin de protéger les données stockées sur vos disques système et disques de données. Pour plus d'informations, consultez la rubrique Stratégies de snapshot automatique.

Procédure

Ce tutoriel utilise le modèle public OOS ACS-ESS-LifeCycleApplyAutoSnapshotPolicy comme exemple pour illustrer l'application automatique d'une stratégie de snapshot automatique aux instances ECS lors d'un scale-out. La procédure se déroule comme suit :

Étape 1 : Accorder des autorisations au rôle RAM OOS

Vous devez disposer des autorisations requises pour exécuter les modèles OOS. L'exécution des opérations d'exploitation et de maintenance définies dans ACS-ESS-LifeCycleApplyAutoSnapshotPolicy implique des ressources Elastic Compute Service (ECS) et Auto Scaling.

  1. Connectez-vous à la console RAM.

  2. Créez une stratégie d'autorisation.

    1. Dans le volet de navigation de gauche, choisissez Permissions > Policies.

    2. Sur la page Policies, cliquez sur Create Policy.

    3. Sur la page Create Policy, cliquez sur l'onglet JSON, saisissez le contenu de la stratégie ci-dessous, puis cliquez sur OK.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeDisks",
                      "ecs:ApplyAutoSnapshotPolicy",
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ess:CompleteLifecycleAction"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    4. Dans la boîte de dialogue Create Policy, saisissez un nom pour la stratégie.

      Le nom de la stratégie est ESSHookPolicyForApplyAutoSnapshotPolicy.

      Remarque

      Si vous devez modifier le contenu de la stratégie, cliquez sur Cancel pour continuer à modifier la stratégie d'autorisation.

    5. Cliquez sur OK.

  3. Attachez la stratégie d'autorisation au rôle RAM OOSServiceRole.

    1. Dans le volet de navigation de gauche, choisissez Identities > Roles.

    2. Localisez le rôle RAM OOSServiceRole et cliquez sur Grant Permission dans la colonne Actions.

      Ajoutez les autorisations requises pour le rôle RAM OOSServiceRole endossé par OOS afin de finaliser l'autorisation.

    3. Sur la page Grant Permission, configurez les paramètres et cliquez sur OK.

      Le tableau suivant décrit les paramètres utilisés dans ce tutoriel. Utilisez les valeurs par défaut pour tous les paramètres non mentionnés.Basic Information

      Parameter

      Description

      Grant Scope

      Sélectionnez Alibaba Cloud Account.

      Policies

      Ajoutez la stratégie personnalisée ESSHookPolicyForApplyAutoSnapshotPolicy.

Étape 2 : Créer un hook de cycle de vie et déclencher un scale-out

  1. Connectez-vous à la console Auto Scaling.

  2. Dans le volet de navigation de gauche, cliquez sur Scaling Groups.

  3. Dans la barre de navigation supérieure, sélectionnez une région.

  4. Localisez le groupe de mise à l'échelle à gérer et accédez à sa page de détails en suivant l'une des méthodes suivantes :

    • Dans la colonne Scaling Group Name/ID, cliquez sur l'ID du groupe de mise à l'échelle.

    • Dans la colonne Actions, cliquez sur Details.

  5. Créez un hook de cycle de vie pour l'événement de scale-out.

    1. En haut de la page, cliquez sur l'onglet Events and Lifecycle Hooks.

    2. Cliquez sur Create Lifecycle Hook.

    3. Configurez le hook de cycle de vie et cliquez sur OK.

      Le tableau suivant décrit les paramètres utilisés dans ce tutoriel. Utilisez les valeurs par défaut pour tous les paramètres non mentionnés.

      Parameter

      Description

      Name

      Saisissez ESSHookForApplyAutoSnapshotPolicy.

      Scaling Activity Type

      Sélectionnez Scale-Out.

      Timeout Period

      Indiquez une durée d'expiration appropriée, par exemple 300 secondes.

      Remarque

      La durée d'expiration correspond au temps maximal autorisé pour l'exécution de l'action personnalisée. Si l'action n'est pas terminée dans ce délai, elle échoue. Définissez une durée suffisante pour permettre l'exécution réussie de votre action.

      Default Execution Policy

      Sélectionnez Continue.

      Send Notification When Lifecycle Hook Takes Effect

      Configurez le modèle comme suit :

      • Méthode de notification : sélectionnez OOS Template.

      • Type de modèle OOS : sélectionnez Public Templates.

      • Modèle public : sélectionnez ACS-ESS-LifeCycleApplyAutoSnapshotPolicy.

      Les paramètres d'exécution pour ACS-ESS-LifeCycleApplyAutoSnapshotPolicy sont les suivants :

      • autoSnapshotPolicyId : saisissez l'ID de votre stratégie de snapshot automatique.

      • OOSAssumeRole : sélectionnez OOSServiceRole. À l'étape 1, vous avez accordé à ce rôle RAM les autorisations nécessaires pour gérer les ressources ECS et Auto Scaling. OOS endosse ce rôle pour acquérir ces autorisations.

  6. Déclenchez un événement de scale-out.

    Dans ce tutoriel, nous exécutons manuellement une règle de mise à l'échelle pour déclencher l'événement de scale-out. Vous pouvez également utiliser d'autres méthodes, telles que des tâches planifiées ou déclenchées par des événements.

    Remarque

    Les hooks de cycle de vie sont déclenchés lors de l'exécution d'une règle de mise à l'échelle, mais ils ne le sont pas lorsque vous ajoutez ou supprimez manuellement des instances ECS existantes d'un groupe de mise à l'échelle.

    1. En haut de la page, cliquez sur l'onglet Scaling Rules and Event-triggered Tasks.

    2. Sur l'onglet Scaling Rules, cliquez sur Create Scaling Rule.

    3. Configurez la règle de mise à l'échelle et cliquez sur OK.

      Le tableau suivant décrit les paramètres utilisés dans ce tutoriel. Utilisez les valeurs par défaut pour tous les paramètres non mentionnés.

      Parameter

      Description

      Rule Name

      Saisissez Add1.

      Rule Type

      Sélectionnez Simple Scaling Rule.

      Operation

      Définissez l'ajout d'une instance.

    4. Dans la liste des règles de mise à l'échelle, localisez la règle Add1 et cliquez sur Actions dans la colonne Recurrently.

    5. Cliquez sur OK.

    Après l'exécution de la règle de mise à l'échelle, une instance ECS est automatiquement créée. Le hook de cycle de vie ESSHookForApplyAutoSnapshotPolicy du groupe de mise à l'échelle suspend alors l'instance ECS et notifie simultanément le service OOS pour exécuter les opérations d'exploitation et de maintenance définies dans ACS-ESS-LifeCycleApplyAutoSnapshotPolicy.

  7. Vérifiez que la stratégie de snapshot automatique est appliquée à la nouvelle instance ECS.

    1. En haut de la page, cliquez sur l'onglet Instance Management.

    2. Localisez l'instance ECS nouvellement créée et cliquez sur son ID dans la colonne ECS Instance ID/Name.

    3. Sur la page Instance Details, cliquez sur l'onglet Block Storage.

    4. Localisez le disque cloud et, dans la colonne Actions, cliquez sur Set Snapshot Policy.

      • L'illustration ci-dessous montre qu'une stratégie de snapshot automatique est activée pour le disque cloud. Cette stratégie correspond à l'Automatic Snapshot Policy ID défini lors de la création du hook de cycle de vie, ce qui constitue le comportement attendu lors de l'utilisation du modèle public ACS-ESS-LifeCycleApplyAutoSnapshotPolicy.SCR-20240710-lpiu

      • Si l'instance ECS a été créée mais que la stratégie de snapshot automatique n'a pas été appliquée, accédez à la console OOS pour vérifier l'état d'exécution de la tâche.

(Facultatif) Étape 3 : Consulter l'état d'exécution OOS

  1. Connectez-vous à la console OOS.

  2. Dans le volet de navigation de gauche, choisissez Automated Task > Task Execution Management.

  3. Localisez la tâche d'exécution par date et heure, puis cliquez sur Details dans la colonne Actions.

  4. Sur la page des détails d'exécution, consultez les informations d'exécution.

    Par exemple, vous pouvez consulter l'ID et l'état d'exécution dans la section Basic Information. Vous pouvez également cliquer sur un nœud de tâche dans la section Task Execution pour afficher les détails de cette étape. Pour plus d'informations, consultez la rubrique Afficher les détails d'une exécution.

    Remarque

    Si une exécution échoue, la page des détails d'exécution affiche un message d'erreur.

FAQ

Si l'exécution d'une tâche d'exploitation et de maintenance échoue, résolvez le problème en vous basant sur le message d'erreur figurant dans le résultat d'exécution. Pour plus d'informations, consultez la rubrique FAQ.

Le tableau suivant décrit les messages d'erreur courants.

Error message

Cause

Solution

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

Vous n'avez pas autorisé Auto Scaling à effectuer l'action actuelle.

Vérifiez si le rôle RAM OOSServiceRole dispose des autorisations requises.

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

L'utilisateur RAM ou le rôle RAM ne dispose pas des autorisations nécessaires pour opérer sur les ressources correspondantes.

Vérifiez si le rôle RAM OOSServiceRole dispose des autorisations requises. Par exemple, vous pouvez accorder des autorisations OOS au rôle RAM. Avant qu'OOS puisse gérer les ressources déclarées dans le modèle OOS, vous devez accorder les autorisations nécessaires au rôle RAM.

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

L'action de hook de cycle de vie en cours est terminée ou arrêtée.

Évaluez la durée d'expiration du hook de cycle de vie afin de vous assurer que les tâches d'exploitation et de maintenance spécifiées dans le modèle OOS peuvent être achevées dans le délai imparti.

Rubriques connexes

Vous pouvez également utiliser un hook de cycle de vie Auto Scaling et un modèle CloudOps Orchestration Service (OOS) pour exécuter automatiquement des scripts sur une instance ECS lors d'un événement de scale-in ou de scale-out. Pour plus d'informations, consultez la rubrique Exécuter automatiquement des scripts sur des instances ECS.