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 |
|---|---|
|
|
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. |
|
|
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 le IS-Error tag :
| Code d’erreur | Description |
|---|---|
|
|
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. |
|
|
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). |
|
|
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). |
|
|
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 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 |
|---|---|
|
|
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. |
|
|
Les valeurs de capacité minimale, souhaitée et maximale pour un groupe Auto Scaling au format |
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
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
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 :
-
Accédez à la EventBridge console dans votre compte AWS
-
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) -
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 plus d'informations EventBridge, reportez-vous à Qu'est-ce qu'Amazon EventBridge ? dans le guide de EventBridge l'utilisateur Amazon.