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 étiqueté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 pour l'enregistrement et le désenregistrement des ressources, les opérations sur les ressources personnalisées, les demandes de CLI et les 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 demandes.

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 Outputs de la pile de solutions.

Balises d'information

Lorsque le balisage informationnel est activé (valeur par défaut), Instance Scheduler écrit des balises directement dans les ressources gérées afin de fournir at-a-glance une visibilité sur 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 dans les ressources gérées :

Clé de balise Description

IS-ManagedBy

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

IS-LastAction

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 (et non 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é.

Codes d’erreur

Les codes d'erreur suivants peuvent apparaître dans le IS-Error tag :

Code d’erreur Description

UnknownSchedule

Le nom du calendrier spécifié dans la balise de calendrier de la ressource ne correspond à aucun calendrier défini dans le tableau 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

Le calendrier attribué à la ressource n'est pas compatible avec le type de ressource (par exemple, un calendrier 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 que 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 de balise sont tronquées à 256 caractères pour respecter les limites de balisage AWS.

Considérations sur la 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 du fonctionnement normal. Si votre organisation applique la gouvernance des balises via les règles AWS Config, les politiques de balises, les politiques de contrôle des services ou la correction automatique, 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 on the hub stack. Notez que cela désactivera également la IS-ManagedBy balise utilisée pour confirmer l'enregistrement des ressources.

Balises 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

Liste séparée par des virgules d'autres types d'instances EC2 à essayer en cas d'échec du démarrage d'une instance en raison d'une capacité insuffisante. Pour plus d'informations, reportez-vous à la section Gestion des erreurs de capacité insuffisante dans EC2.

IS-MinDesiredMax

Les valeurs de capacité minimale, souhaitée et maximale pour un groupe Auto Scaling au formatmin,desired,max. Pour plus d'informations, reportez-vous à EC2 Auto Scaling Group Scheduling.

Capacité du tag

Important

Les ressources AWS sont généralement limitées à 50 balises par ressource. Le planificateur d'instance 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 accueillir les balises Instance Scheduler parallèlement à votre stratégie de balisage existante.

Si une ressource atteint ou proche de la limite de 50 balises, les écritures de balises d'information peuvent échouer. Le planificateur enregistre ces défaillances 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 des requêtes efficaces à l'aide CloudWatch de 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 les activités 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 console Logs : CloudWatch

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

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

Pour plus d'informations sur CloudWatch Logs Insights, reportez-vous à la section Analyser les 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 des solutions 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 définie sur « activée » dans les paramètres de la pile du hub. Accédez à « Tableaux de bord » CloudWatch et sélectionnez-les 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 économisées et les indicateurs de performance des fonctions Lambda.

Aperçu 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 du hub de solutions. 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 du seuil de temporisation, envisagez d'augmenter la propriété de taille Lambda ou de déployer le planificateur d'instance dans une région où la latence est plus faible par rapport à 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 métriques personnalisées collectées par la solution, ce qui entraînera des coûts supplémentaires. Cette fonctionnalité peut être désactivée en désactivant la « surveillance opérationnelle » sur la pile du hub de solutions. Cette fonctionnalité coûte 3 dollars supplémentaires par mois, auxquels s'ajoutent des coûts de mise à l'échelle 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.

*

Surveillance des EventBridge événements

Instance Scheduler publie les événements de planification et d'inscription sur 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 catégories principales d'événements :

Événements de planification : publié lorsque Instance Scheduler prend des mesures pour démarrer, arrêter ou configurer des ressources gérées. Ces événements incluent des détails sur l'instance, le calendrier et les mesures prises. Démarrage, arrêt ou configuration des ressources gérées. Ces événements incluent des détails sur l'instance, le calendrier et les mesures prises.

Événements d'enregistrement : publiés lorsque des ressources sont enregistrées ou non enregistrées à des fins de planification en fonction des opérations de balisage.

Destinations d'évènement

IS- bus d'LocalEvents é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 pour planifier des actions et des inscriptions de ressources dans cette région.

IS- bus d'GlobalEvents événements : le bus d'IS-GlobalEventsévénements du compte hub reçoit une copie de chaque événement envoyée à 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.

Utilisation d' EventBridge événements

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

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

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

  • Intégrez d'autres services AWS pour des flux de travail automatisés

  • 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 en tant que « 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 ARNs les 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'identifiant 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 :

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

  2. Créez une nouvelle règle ciblant le bus d'IS-GlobalEventsévénements (pour la surveillance centralisée) ou le bus d'IS-LocalEventsévénements (pour la 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 plus d'informations EventBridge, reportez-vous à Qu'est-ce qu'Amazon EventBridge ? dans le guide de EventBridge l'utilisateur Amazon.