View a markdown version of this page

Surveillez la solution - Planificateur d'instances sur AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillez la solution

Journalisation et notifications

Instance Scheduler utilise une journalisation structurée optimisée pour les requêtes CloudWatch Logs Insights. Cette solution enregistre les informations de traitement pour chaque instance balisée, les résultats de l'évaluation de la période pour l'instance, l'état souhaité de l'instance pendant cette période, l'action appliquée et les messages de débogage.

Les journaux sont écrits dans Amazon CloudWatch Logs dans deux groupes de journaux :

{stackName}-{namespace}-administrative-logs

Journaux relatifs à l'enregistrement et à la désenregistrement des ressources, aux opérations personnalisées relatives aux ressources, aux requêtes CLI et à d'autres activités administratives.

{stackName}-{namespace}-scheduling-logs

Journaux pour les opérations de planification, y compris l'orchestration et l'exécution du gestionnaire de requêtes.

Les journaux d'avertissements et d'erreurs sont également transférés vers une rubrique Amazon SNS créée par la solution, qui peut être configurée pour envoyer des messages à une adresse e-mail abonnée. Vous trouverez le nom de la rubrique Amazon SNS dans l'onglet Sorties de la pile de solutions.

Balises d'information

Lorsque le balisage informationnel est activé (par défaut), Instance Scheduler écrit des balises directement dans les ressources gérées afin de fournir une visibilité instantanée de l'activité de planification de la solution. Ces balises sont appliquées à l'aide de l'API de balisage AWS Resource Groups et sont mises à jour chaque fois que le planificateur traite une ressource.

Vous pouvez activer ou désactiver cette fonctionnalité à l'aide du paramètre Activer le balisage informationnel sur la pile du hub. Pour plus d'informations, reportez-vous à la section Mettre à jour les paramètres de configuration globaux.

Clés d'étiquette informatives

Les balises suivantes sont écrites pour les ressources gérées :

Clé de balise Description

IS-ManagedBy

L'ARN de la pile hub Instance Scheduler qui gère cette ressource. Appliqué lorsqu'une ressource est enregistrée pour la première fois pour la planification et lors de chaque action de planification suivante.

IS-LastAction

La dernière action de planification effectuée sur la ressource, ainsi qu'un horodatage UTC. Par exemple, Started 2025-06-15 09:00:00 UTC ou Stopped 2025-06-15 17:00:00 UTC. Cette balise n'est mise à jour que lorsque le planificateur démarre ou arrête activement une ressource (pas lorsqu'il évalue une ressource et détermine qu'aucune action n'est nécessaire).

IS-Error

Si le planificateur rencontre une erreur lors du traitement d'une ressource, cette balise contient le code d'erreur et un horodatage UTC. Par exemple : StartFailed 2025-06-15 09:00:05 UTC. Cette balise est automatiquement effacée lors de la prochaine action de planification réussie.

IS-ErrorMessage

Description lisible par l'homme de l'erreur. Cette balise n'est présente que lorsqu'elle IS-Error est également présente et qu'elle est effacée à côté d'elle.

Codes d’erreur

Les codes d'erreur suivants peuvent apparaître dans la IS-Error balise :

Code d’erreur Description

UnknownSchedule

Le nom du calendrier spécifié dans la balise de planification de la ressource ne correspond à aucun calendrier défini dans la table de configuration.

UnsupportedResource

Le type de ressource n'est pas pris en charge pour la planification (par exemple, une réplique en lecture d'une autre instance RDS).

IncompatibleSchedule

La planification attribuée à la ressource n'est pas compatible avec le type de ressource (par exemple, une planification ASG qui utilise des expressions cron non prises en charge).

StartFailed

Le planificateur a tenté de démarrer la ressource mais l'opération a échoué.

StopFailed

Le planificateur a tenté d'arrêter la ressource mais l'opération a échoué.

ConfigurationFailed

Le planificateur a tenté de configurer des règles de dimensionnement planifiées sur un groupe Auto Scaling, mais l'opération a échoué.

UnknownError

Une erreur inattendue s'est produite lors du traitement de la ressource.

Comportement des balises

  • Lorsqu'une ressource est enregistrée pour la première fois pour la planification, la IS-ManagedBy balise est appliquée immédiatement.

  • Lorsqu'une ressource est désenregistrée (la balise de planification est supprimée), toutes les balises d'information (IS-ManagedBy, IS-LastActionIS-Error,IS-ErrorMessage) sont supprimées de la ressource.

  • Les balises d'erreur ne sont pas réécrites à chaque intervalle de planification si la même erreur persiste et si la balise existante est toujours présente sur la ressource. Ils ne sont mis à jour que lorsque le code d'erreur change.

  • Toutes les valeurs des balises sont tronquées à 256 caractères afin de respecter les limites de balisage d'AWS.

Considérations de gouvernance des balises

Important

Instance Scheduler crée et met à jour les balises répertoriées ci-dessus sur les ressources gérées dans le cadre de son fonctionnement normal. Si votre organisation applique la gouvernance des balises par le biais des règles AWS Config, des politiques de balises, des politiques de contrôle des services ou des mesures correctives automatisées, assurez-vous que vos contrôles de gestion des modifications sont configurés pour autoriser les clés de balise suivantes :

  • IS-ManagedBy

  • IS-LastAction

  • IS-Error

  • IS-ErrorMessage

  • IS-PreferredInstanceTypes(si vous utilisez d'autres types d'instances)

  • IS-MinDesiredMax(si vous planifiez des groupes Auto Scaling)

Si vous ne pouvez pas intégrer ces balises dans vos politiques de gouvernance, désactivez le balisage informationnel en définissant le paramètre Activer le balisage informationnel No sur la pile du hub. Notez que cela désactivera également la IS-ManagedBy balise utilisée pour confirmer l'enregistrement des ressources.

Tags de contrôle

Outre les balises d'information, Instance Scheduler utilise les balises de contrôle suivantes pour des fonctionnalités spécifiques :

Clé de balise Description

IS-PreferredInstanceTypes

Une liste séparée par des virgules d'autres types d'instances EC2 à essayer lorsque le démarrage d'une instance échoue en raison d'une capacité insuffisante. Pour plus d'informations, reportez-vous à la section Gestion des erreurs de capacité insuffisante EC2.

IS-MinDesiredMax

Les valeurs de capacité minimale, souhaitée et maximale pour un groupe Auto Scaling dans le formatmin-desired-max. Pour plus d'informations, reportez-vous à la section Planification du groupe EC2 Auto Scaling.

Capacité de l'étiquette

Important

Les ressources AWS sont généralement limitées à 50 balises par ressource. Instance Scheduler peut utiliser jusqu'à 6 balises sur une ressource (4 balises d'information et jusqu'à 2 balises de contrôle). Assurez-vous que vos ressources disposent d'une capacité de balises suffisante pour intégrer les balises Instance Scheduler parallèlement à votre stratégie de balisage existante.

Si une ressource atteint ou approche la limite de 50 balises, les écritures de balises informatives peuvent échouer. Le planificateur enregistre ces échecs mais poursuit les opérations de planification. Consultez les CloudWatch journaux si vous suspectez des problèmes de balisage.

CloudWatch Requêtes Logs Insights

Le format de journalisation structuré d'Instance Scheduler permet d'effectuer des requêtes efficaces à l'aide de CloudWatch Logs Insights. Vous pouvez utiliser Logs Insights pour rechercher, analyser et visualiser les données des journaux afin de résoudre les problèmes opérationnels et de surveiller l'activité de planification.

Instance Scheduler fournit des requêtes de journal préformatées auxquelles vous pouvez accéder depuis la section Requêtes enregistrées de la CloudWatch console Logs :

SchedulingHistory

Actions de planification des requêtes effectuées sur les ressources, y compris les opérations de démarrage et d'arrêt.

RegistrationEvents

Interrogez les événements d'enregistrement et de désenregistrement des ressources.

Errors

Interrogez les journaux d'erreurs pour résoudre les problèmes liés à la solution.

Pour plus d'informations sur CloudWatch Logs Insights, consultez la section Analyse des données des CloudWatch journaux avec Logs Insights dans le guide de l'utilisateur Amazon CloudWatch Logs.

Tableau de bord des informations opérationnelles

Le tableau de bord Operational Insights fournit une visibilité sur les performances de la solution et les économies réalisées grâce à la gestion planifiée des instances.

Pour accéder au tableau de bord, assurez-vous que la surveillance opérationnelle est réglée sur « Activé » dans les paramètres de la pile du hub. Accédez à « Tableaux de bord » CloudWatch et sélectionnez-le dans le menu de navigation. Le nom du tableau de bord est * {stack-name} - *. Operational-Insights-Dashboard

Le tableau de bord affiche le nombre d'instances gérées, les heures de fonctionnement enregistrées et les mesures de performance de la fonction Lambda.

Présentation du tableau de bord des informations opérationnelles

OpsDashboardOverview
Note

Les informations contenues dans ces graphiques dépendent de l'intervalle de planification configuré sur la pile Solution Hub. Lors de la mise à jour de l'intervalle de planification de la solution, le tableau de bord affiche uniquement les mesures de planification postérieures à la dernière mise à jour de l'intervalle de planification.

Surveillez les temps d'exécution de Lambda pour garantir des performances optimales (voir Quotas). Si les temps d'exécution approchent régulièrement le seuil de temporisation, envisagez d'augmenter la propriété de taille Lambda ou de déployer Instance Scheduler dans une région avec une latence plus faible pour vos régions gérées.

Métriques Lambda indiquant la durée et le nombre d'erreurs

OpsDashboardLambdaMetrics

Coûts supplémentaires associés à cette fonctionnalité

Ce tableau de bord opérationnel est alimenté par CloudWatch des mesures personnalisées collectées par la solution qui entraîneront des coûts supplémentaires. Cette fonctionnalité peut être désactivée en désactivant la « surveillance opérationnelle » sur la pile Solution Hub. Cette fonctionnalité coûte 3$ supplémentaires. 00/month plus des coûts de dimensionnement supplémentaires en fonction de la taille de votre déploiement. Les coûts sont les suivants :

CloudWatch Tableau de bord personnalisé 3$

Per-instance-type métriques

0,90$ par type d'instance*

Utilisation de l'API

~0,10 $ par cible active**

*Ces coûts sont suivis par catégorie de service (EC2/RDS) et uniquement pour les types d'instances réellement utilisés pour la planification.

*

EventBridge Événements de surveillance

Instance Scheduler publie les événements de planification et d'inscription dans les bus d'EventBridge événements afin de fournir une visibilité sur le fonctionnement de la solution et de permettre l'intégration avec d'autres services AWS.

Types d’événements

La solution publie deux grandes catégories d'événements :

Événements de planification  : publié lorsqu'Instance Scheduler prend des mesures pour démarrer, arrêter ou configurer des ressources gérées. Ces événements incluent des informations sur l'instance, le calendrier et les actions entreprises. Démarrez, arrêtez ou configurez les ressources gérées. Ces événements incluent des informations sur l'instance, le calendrier et les actions entreprises.

Événements d'inscription  : publiés lorsque les ressources sont enregistrées ou non enregistrées pour une planification basée sur des opérations de balisage.

Destinations d'évènement

IS-LocalEvents bus d'événements  : un bus d'IS-LocalEventsévénements est déployé dans chaque région gérée de chaque compte membre (y compris le compte hub). Chaque bus reçoit des événements permettant de planifier des actions et d'enregistrer des ressources dans cette région.

IS-GlobalEvents bus d'événements  : le bus d'IS-GlobalEventsévénements du compte hub reçoit une copie de chaque événement envoyé à n'importe quel bus d'IS-LocalEventsévénements, ce qui permet une surveillance centralisée de tous les comptes et de toutes les régions.

Utiliser EventBridge les événements

Vous pouvez créer des EventBridge règles pour :

  • Surveillez les opérations de planification sur l'ensemble de votre infrastructure

  • Déclenchez des notifications lorsque des instances sont démarrées ou arrêtées

  • Intégrez les autres services AWS pour automatiser les flux de travail

  • Mettre en œuvre la surveillance de la conformité et les alertes

Structure d’évènements

Tous les événements utilisent le EventBridge format standard. Les exemples suivants montrent la structure de chaque type d'événement :

Planification d'un événement :

{ "Source": "instance-scheduler", "DetailType": "Scheduling Action", "Resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"], "Detail": { "account": "123456789012", "region": "us-east-1", "service": "ec2", "resource_id": "i-1234567890abcdef0", "requested_action": "Start", "action_taken": "Started", "schedule": "office-hours" } }

Événement d'inscription :

{ "Source": "instance-scheduler", "DetailType": "Resource Registered", "Resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"], "Detail": { "account": "123456789012", "region": "us-east-1", "service": "ec2", "resource_id": "i-1234567890abcdef0", "schedule": "office-hours" } }

Chaque événement contient les champs clés suivants :

  • Source- Identifie la source de l'événement comme « planificateur d'instance »

  • DetailType- Spécifie la catégorie d'événement : « Action de planification » pour les opérations d'instance ou « Ressource enregistrée » pour le balisage des événements

  • Resources- Tableau contenant les ARN des ressources AWS concernées

  • Detail- Contient la charge utile de l'événement avec l'identifiant du compte, la région, le type de service (ec2/rds), l'ID de ressource, le nom du calendrier et, pour la planification des événements, à la fois l'action demandée et le résultat réel

requested_actionValeurs possibles pour la planification d'événements :

  • Start: Planificateur destiné à démarrer l'instance

  • Stop: Planificateur destiné à arrêter l'instance

  • Configure: Planificateur destiné à configurer l'instance

action_takenValeurs possibles pour la planification d'événements :

  • Started: L'instance a été démarrée

  • Stopped: L'instance a été arrêtée

  • Hibernated: L'instance a été mise en veille prolongée

  • Configured: la configuration de l'instance a été modifiée

  • Error: Une erreur s'est produite lors de l'opération de planification

Création de EventBridge règles

Pour surveiller les événements du planificateur d'instance, procédez comme suit :

  1. Accédez à la EventBridge console de votre compte AWS

  2. Créez une nouvelle règle ciblant soit le bus d'IS-GlobalEventsévénements (pour une surveillance centralisée) soit le bus d'IS-LocalEventsévénements (pour une surveillance locale)

  3. Définissez des modèles d'événements correspondant aux événements du planificateur d'instance

  4. Configurer des cibles telles que des rubriques SNS, des fonctions Lambda ou des journaux CloudWatch

Pour en savoir plus EventBridge, consultez la section Qu'est-ce qu'Amazon EventBridge ? dans le guide de EventBridge l'utilisateur Amazon.