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 |
|---|---|
|
|
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. |
|
|
La dernière action de planification effectuée sur la ressource, ainsi qu'un horodatage UTC. Par exemple, |
|
|
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 : |
|
|
Description lisible par l'homme de l'erreur. Cette balise n'est présente que lorsqu'elle |
Codes d’erreur
Les codes d'erreur suivants peuvent apparaître dans la IS-Error balise :
| Code d’erreur | Description |
|---|---|
|
|
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. |
|
|
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). |
|
|
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). |
|
|
Le planificateur a tenté de démarrer la ressource mais l'opération a échoué. |
|
|
Le planificateur a tenté d'arrêter la ressource mais l'opération a échoué. |
|
|
Le planificateur a tenté de configurer des règles de dimensionnement planifiées sur un groupe Auto Scaling, mais l'opération a échoué. |
|
|
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-ManagedBybalise 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 |
|---|---|
|
|
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. |
|
|
Les valeurs de capacité minimale, souhaitée et maximale pour un groupe Auto Scaling dans le format |
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
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
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 :
-
Accédez à la EventBridge console de votre compte AWS
-
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) -
Définissez des modèles d'événements correspondant aux événements du planificateur d'instance
-
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.