Pour mettre en place un cluster haute disponibilité, implémenter un basculement économique et assurer une gestion réseau fine tout en offrant un accès au réseau public, joignez automatiquement des interfaces réseau élastiques (ENI) secondaires dotées d'adresses IP élastiques (EIP) aux nouvelles instances Elastic Compute Service (ECS) lors des événements de montée en charge. Si les instances ECS d'un groupe de mise à l'échelle disposent déjà d'ENI secondaires avec des EIP associées, mais que vous devez libérer rapidement les ressources ECS (par exemple, lorsque votre activité entre dans une période creuse) ou que vous n'avez plus besoin d'accès au réseau public, libérez automatiquement les ENI secondaires et les EIP devenues inutiles lors des événements de réduction de capacité afin d'optimiser l'utilisation des ressources et de réduire les coûts.
Une ENI est une carte réseau virtuelle que vous pouvez attacher à une instance ECS dans un cloud privé virtuel (VPC). Les ENI se divisent en ENI principales et ENI secondaires. Pour plus d'informations, consultez la rubrique Présentation.
Une EIP est une ressource d'adresse IP publique que vous pouvez acheter et posséder indépendamment, utilisée pour conserver une adresse IP publique sur le long terme. Vous pouvez associer des EIP à des ressources telles que des instances ECS et des ENI, ou les dissocier selon les besoins de votre activité. Pour plus d'informations, consultez la rubrique Associer une EIP à une ressource cloud.
Prérequis
Créez un groupe de mise à l'échelle et assurez-vous qu'il se trouve dans l'état Enable. Pour plus d'informations, consultez la rubrique Créer un groupe de mise à l'échelle.
-
Accordez à CloudOps Orchestration Service (OOS) les autorisations nécessaires pour accéder aux autres services cloud. Pour plus d'informations, consultez la rubrique Définir un rôle RAM et accorder des autorisations à OOS.
-
Créez un rôle RAM.
Définissez le service de confiance du rôle RAM sur OOS. Cette rubrique utilise
OOSServiceRolecomme nom de rôle RAM. -
Attachez des stratégies au rôle RAM.
Lorsque OOS exécute une tâche, il doit accéder aux ressources ECS, Auto Scaling et EIP. Par conséquent, attachez les stratégies système suivantes au rôle
OOSServiceRole:AliyunECSFullAccess
AliyunESSFullAccess
AliyunEIPFullAccess
-
Joindre automatiquement des ENI secondaires dotées d'EIP aux instances ECS lors des événements de montée en charge
-
Créez un hook de cycle de vie.
Le tableau suivant décrit les principaux éléments de configuration. Conservez les valeurs par défaut pour les éléments non mentionnés. Pour plus d'informations, consultez la rubrique Configurer un hook de cycle de vie.
Élément de configuration
Description
Name
Saisissez
ESSHookForAttachNicWithEip.Applicable scaling activity type
Sélectionnez Scale-out Event.
Timeout Period
Indiquez un délai d'expiration approprié, par exemple 300 secondes.
ImportantCe paramètre définit la durée allouée à l'exécution des opérations personnalisées. Si le délai est trop court, les opérations personnalisées risquent d'échouer. Évaluez le temps nécessaire aux opérations personnalisées et définissez un délai d'expiration adapté.
Action to perform during the hook period
Sélectionnez OOS Template comme action. Procédez comme suit :
Sélectionnez Public Templates pour le type de modèle OOS.
Sélectionnez le modèle public OOS
ACS-ESS-LifeCycleCreateNetworkInterfaceAndEipAndAttachToInstanceafin de joindre automatiquement une ENI secondaire dotée d'une EIP à une instance ECS lors des événements de montée en charge.Cliquez sur Parameter Settings après le modèle
ACS-ESS-LifeCycleCreateNetworkInterfaceAndEipAndAttachToInstance. Les paramètres suivants sont donnés à titre d'exemple. Conservez les valeurs par défaut pour les paramètres non décrits.EIP metering method :
PayByBandwidthindique une facturation par bande passante etPayByTrafficindique une facturation par transfert de données. Ce tutoriel utilisePayByBandwidthà titre d'exemple.Maximum EIP bandwidth : ce tutoriel utilise
5à titre d'exemple, ce qui signifie que la bande passante maximale de l'EIP est de 5 Mbit/s.RAM role assumed by OOS : sélectionnez
OOSServiceRole.
-
Auto Scaling déclenche un événement de montée en charge.
Cette étape illustre l'exécution manuelle d'une règle de mise à l'échelle pour ajouter une instance ECS. Vous pouvez également déclencher un événement de montée en charge à l'aide d'une tâche planifiée ou d'une tâche déclenchée par un événement. Pour plus d'informations, consultez la rubrique Configurer des règles de mise à l'échelle.
Lorsque vous exécutez manuellement une règle de mise à l'échelle pour déclencher un événement de montée en charge, le hook de cycle de vie prend effet. En revanche, lorsque vous ajoutez manuellement une instance ECS existante, le hook de cycle de vie ne prend pas effet.
Une fois l'événement de montée en charge déclenché avec succès, le groupe de mise à l'échelle ajoute automatiquement une instance ECS. Étant donné que le hook de cycle de vie
ESSHookForAttachNicWithEipest créé dans le groupe de mise à l'échelle, l'instance ECS est suspendue et OOS est automatiquement notifié pour exécuter l'opération d'exploitation et de maintenance, c'est-à-dire créer une ENI secondaire, attribuer automatiquement une EIP à cette ENI et joindre l'ENI à l'instance ECS.Si l'activité de mise à l'échelle affiche l'état Failed et que l'erreur suivante est signalée, accédez à la console OOS pour consulter l'état d'exécution de la tâche d'exploitation et de maintenance. Pour plus d'informations, consultez la section (Facultatif) Consulter l'état d'exécution OOS. La page des détails de l'activité de mise à l'échelle indique que le statut de l'activité est Failed, que le nombre total d'instances après modification est -, et que l'activité a été déclenchée parce que le hook de cycle de vie a renvoyé le résultat Abandon, entraînant le rollback de l'instance.
-
Vérifiez si une ENI secondaire dotée d'une EIP a été automatiquement jointe à l'instance ECS issue de la montée en charge.
Dans l'onglet Auto Created de la section Instances du groupe de mise à l'échelle, cliquez sur l'ID de l'instance dans la colonne ECS Instance ID/Name de l'instance ECS créée automatiquement.
-
Sur la page des détails de l'instance ECS, cliquez sur l'onglet ENIs pour afficher les ENI attachées à l'instance ECS.
Confirmez qu'une ENI secondaire est automatiquement attachée à l'instance ECS et qu'une EIP lui est attribuée. Dans la liste des ENI, vérifiez que l'adresse EIP attribuée s'affiche dans la colonne Public IP Address de l'ENI secondaire, ce qui indique que l'EIP est correctement associée à l'ENI secondaire.
Si l'instance ECS est créée avec succès mais qu'aucune ENI secondaire ni aucune EIP n'y est automatiquement attachée, accédez à la console OOS pour consulter l'état d'exécution de la tâche d'exploitation et de maintenance.
-
(Facultatif) Consultez l'état d'exécution OOS.
Consultez les informations d'exécution sur la page des détails d'exécution de la tâche. Vous pouvez afficher l'ID d'exécution et l'état d'exécution dans la section Basic Information, ainsi que les détails d'exécution et les journaux correspondants dans la section Execution Steps and Results. Pour plus d'informations, consultez la rubrique Détails d'exécution.
ImportantEn cas d'échec de l'exécution, les informations d'erreur correspondantes s'affichent également sur la page des détails d'exécution.
-
(Facultatif) Configurez l'ENI secondaire.
Après avoir attaché une ENI secondaire à une instance ECS, certaines images peuvent ne pas reconnaître automatiquement l'adresse IP de l'ENI secondaire ni ajouter les routes nécessaires, rendant l'ENI secondaire inutilisable. Pour plus d'informations, consultez la rubrique Configurer une ENI secondaire.
Libérer automatiquement les ENI secondaires dotées d'EIP des instances ECS lors des événements de réduction de capacité
-
Créez un hook de cycle de vie.
Le tableau suivant décrit les principaux éléments de configuration. Conservez les valeurs par défaut pour les éléments non mentionnés. Pour plus d'informations, consultez la rubrique Configurer un hook de cycle de vie.
Élément de configuration
Description
Name
Saisissez
ESSHookForDeleteNicAndEip.Applicable scaling activity type
Sélectionnez scale-in event.
Timeout Period
Indiquez un délai d'expiration approprié, par exemple 300 secondes.
ImportantLe délai d'expiration définit la durée allouée à l'exécution des opérations personnalisées. Si le délai est trop court, les opérations personnalisées risquent d'échouer. Évaluez le temps nécessaire aux opérations personnalisées et définissez un délai d'expiration adapté.
Action to perform during the hook period
Sélectionnez OOS Template comme action. Procédez comme suit :
Sélectionnez Public Templates pour le type de modèle OOS.
Sélectionnez le modèle public OOS
ACS-ESS-LifeCycleDetachNetworkInterfaceAndDeleteEipafin de libérer automatiquement l'ENI secondaire dotée d'une EIP d'une instance ECS lors des événements de réduction de capacité.Cliquez sur Parameter Settings après le modèle
ACS-ESS-LifeCycleDetachNetworkInterfaceAndDeleteEip. Définissez le paramètre RAM role assumed by OOS surOOSServiceRoleet conservez les valeurs par défaut pour les autres paramètres.
-
Auto Scaling déclenche un événement de réduction de capacité.
Cette étape illustre l'exécution manuelle d'une règle de mise à l'échelle pour supprimer une instance ECS. Vous pouvez également déclencher un événement de réduction de capacité à l'aide d'une tâche planifiée ou d'une tâche déclenchée par un événement. Pour plus d'informations, consultez la rubrique Configurer des règles de mise à l'échelle.
Lorsque vous exécutez manuellement une règle de mise à l'échelle pour déclencher un événement de réduction de capacité, le hook de cycle de vie prend effet. En revanche, lorsque vous supprimez manuellement une instance ECS existante, le hook de cycle de vie ne prend pas effet.
Une fois l'événement de réduction de capacité déclenché avec succès, le groupe de mise à l'échelle supprime automatiquement une instance ECS. Étant donné que le hook de cycle de vie
ESSHookForDeleteNicAndEipest créé dans le groupe de mise à l'échelle, l'instance ECS est suspendue et OOS est automatiquement notifié pour exécuter l'opération d'exploitation et de maintenance, c'est-à-dire libérer l'ENI secondaire et l'EIP de l'instance ECS. -
Vérifiez si l'ENI secondaire et l'EIP ont été automatiquement libérées de l'instance ECS issue de la réduction de capacité.
Accédez à la page Interfaces réseau élastiques et à la page Adresses IP élastiques pour vérifier la présence de l'ENI secondaire et de l'EIP correspondantes. Si elles n'existent plus, cela signifie que l'ENI secondaire et l'EIP ont été libérées.
Si l'instance ECS est supprimée avec succès mais que l'ENI secondaire et l'EIP ne sont pas libérées simultanément, accédez à la console OOS pour consulter l'état d'exécution de la tâche d'exploitation et de maintenance.
-
(Facultatif) Consultez l'état d'exécution OOS.
Consultez les informations d'exécution sur la page des détails d'exécution de la tâche. Vous pouvez afficher l'ID d'exécution et l'état d'exécution dans la section Basic Information, ainsi que les détails d'exécution et les journaux correspondants dans la section Execution Steps and Results. Pour plus d'informations, consultez la rubrique Détails d'exécution.
ImportantEn cas d'échec de l'exécution, les informations d'erreur correspondantes s'affichent également sur la page des détails d'exécution.
FAQ
Si l'exécution d'une tâche d'exploitation et de maintenance échoue, résolvez le problème en vous appuyant 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.
|
Message d'erreur |
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 les 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 a été arrêtée. |
Évaluez le délai 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. |
Références
Les éléments de facturation d'une EIP incluent les frais de réseau public, les frais de configuration de l'EIP (frais de conservation de l'adresse IP publique) et les frais d'association de l'EIP. Pour plus d'informations, consultez la rubrique Présentation de la facturation des EIP.
Vous pouvez associer automatiquement des EIP aux nouvelles instances ECS lors des événements de montée en charge pour maintenir l'accessibilité de vos services, et libérer automatiquement les EIP devenues inutiles lors des événements de réduction de capacité afin d'optimiser l'utilisation des ressources et de réduire les coûts. Pour plus d'informations, consultez la rubrique Associer et libérer automatiquement des EIP.