Exemples de calendriers - 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.

Exemples de calendriers

Instance Scheduler sur AWS vous permet de démarrer et d'arrêter automatiquement les instances Amazon Elastic Compute Cloud (Amazon EC2) et Amazon Relational Database Service (Amazon RDS). La section suivante fournit des exemples de programmes qui peuvent être adaptés à de nombreux cas d'utilisation courants.

9-5 heures de travail standard

Ce calendrier indique comment exécuter des instances en semaine, de 9 h 00 à 17 h 00 à Londres.

Périodes

Pendant cette période, les instances débuteront à 9 h 00 et s'arrêteront à 17 h 00 en semaine (du lundi au vendredi).

Champ Type Valeur

begintime

String

09:00

endtime

String

16:59

name

String

weekdays-9-5

weekdays

StringSet

mon-fri

Schedule

Le nom du planning indique la valeur de balise qui doit être appliquée aux instances et le fuseau horaire qui sera utilisé.

Champ Type Valeur

name

String

london-working-hours

periods

StringSet

weekdays-9-5

timezone

String

Europe/London

Balise d'instance

Pour appliquer cette planification aux instances, vous devez ajouter la Schedule=london-working-hours balise aux instances. Si vous modifiez le nom de balise par défaut dans le paramètre de nom de balise AWS CloudFormation Instance Scheduler, votre balise sera différente. Par exemple, si vous avez saisi Sked comme nom de tag, votre tag seraSked=london-working-hours. Pour plus d'informations, reportez-vous à la section Marquer vos ressources dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud.

CLI du planificateur

Pour configurer le calendrier ci-dessus à l'aide de la CLI du planificateur d'instance, utilisez les commandes suivantes :

scheduler-cli create-period --stack <stackname> --name weekdays-9-5 --weekdays mon-fri --begintime 9:00 --endtime 16:59

scheduler-cli create-schedule --stack <stackname> --name london-working-hours --periods weekdays-9-5 --timezone Europe/London

Europe/London

Ressource personnalisée

Le CloudFormation modèle suivant créera le calendrier ci-dessus à l'aide de la ressource personnalisée du calendrier.

Pour déployer ce modèle, vous devez fournir l'ServiceInstanceScheduleServiceTokenARN qui se trouve dans la CloudFormation console AWS en sélectionnant l'instance Instance Scheduler Hub Stack précédemment déployée, puis en sélectionnant Outputs.

AWSTemplateFormatVersion: 2010-09-09
Parameters:
  ServiceInstanceScheduleServiceTokenARN:
    Type: String
    Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
  'AWS::CloudFormation::Designer': {}
Resources:
  LondonWorkingWeek:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      NoStackPrefix: 'True'
      Name: london-working-hours
      Description: run instances from 9am to 5pm in London on weekdays
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
      Timezone: Europe/London
      Periods:
     - Description: 9am to 5pm on weekdays
        BeginTime: '09:00'
        EndTime: '16:59'
        WeekDays: mon-fri

Arrêter les instances après 17 h

Les instances peuvent être démarrées librement à tout moment de la journée et ce calendrier garantit qu'une commande d'arrêt leur est automatiquement envoyée à 17 h 00 ET tous les jours.

Périodes

Pendant cette période, les instances seront interrompues tous les jours à 17 heures.

Champ Type Valeur

endtime

String

16:59

name

String

stop-at-5

Schedule

Le nom du planning indique la valeur de balise qui doit être appliquée aux instances et le fuseau horaire qui sera utilisé.

Champ Valeur

name

String

stop-at-5-new-york

periods

StringSet

stop-at-5

timezone

String

America/New York

Balise d'instance

Pour appliquer cette planification aux instances, vous devez ajouter la Schedule=stop-at-5-new-york balise aux instances. Si vous avez modifié le nom de balise par défaut dans le paramètre de nom de balise AWS CloudFormation Instance Scheduler, votre balise sera différente. Par exemple, si vous avez saisi Sked comme nom de tag, votre tag seraSked=stop-at-5-new-york. Pour plus d'informations, reportez-vous à la section Marquer vos ressources dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud.

CLI du planificateur

Pour configurer le calendrier ci-dessus à l'aide de la CLI du planificateur d'instance, utilisez les commandes suivantes :

scheduler-cli create-period --stack <stackname> --name stop-at-5 --endtime 16:59

scheduler-cli create-schedule --stack <stackname> --name stop-at-5-new-york --periods stop-at-5 --timezone America/New_York

Ressource personnalisée

Le CloudFormation modèle suivant créera le calendrier ci-dessus à l'aide de la ressource personnalisée du calendrier.

Pour déployer ce modèle, vous devez fournir l'ServiceInstanceScheduleServiceTokenARN qui se trouve dans la CloudFormation console AWS en cliquant sur la pile Hub du planificateur d'instance précédemment déployée et en sélectionnant Outputs.

AWSTemplateFormatVersion: 2010-09-09
Parameters:
  ServiceInstanceScheduleServiceTokenARN:
    Type: String
    Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
  'AWS::CloudFormation::Designer': {}
Resources:
  StopAfter5:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      NoStackPrefix: 'True'
      Name: stop-at-5-new-york
      Description: stop instances at 5pm ET every day
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
      Timezone: America/New_York
      Periods:
      - Description: stop at 5pm
        EndTime: '16:59'

Arrêtez les instances pendant le week-end

Ce calendrier indique comment exécuter des instances du lundi 9 h 00 ET au vendredi 17 h 00 ET. Comme le lundi et le vendredi ne sont pas des journées complètes, cet horaire comprend trois périodes : le lundi, du mardi au jeudi et le vendredi.

Périodes

La première période commence les instances étiquetées à 9 h le lundi et s'arrête à minuit. Cette période inclut les champs et valeurs suivants.

Champ Type Valeur

begintime

String

09:00

endtime

String

23:59

name

String

mon-start-9am

weekdays

StringSet

mon

La deuxième période exécute les instances étiquetées toute la journée du mardi au jeudi. Cette période inclut les champs et valeurs suivants.

Champ Valeur

name

String

tue-thu-full-day

weekdays

StringSet

tue-thu

La troisième période arrête les instances étiquetées à 17 heures le vendredi. Cette période inclut les champs et valeurs suivants.

Champ Valeur

begintime

String

00:00

endtime

String

16:59

name

String

fri-stop-5pm

weekdays

StringSet

fri

Schedule

Le calendrier combine les trois périodes dans le calendrier des instances étiquetées. Le calendrier inclut les champs et valeurs suivants.

Champ Valeur

name

String

du lundi au vendredi à 17 h

periods

StringSet

du lundi au début de 9 h, du vendredi à 17 h tue-thu-full-day

timezone

String

Amérique/New_York

Balise d'instance

Pour appliquer cette planification aux instances, vous devez ajouter la Schedule=mon-9am-fri-5pm balise aux instances. Notez que si vous avez modifié le nom de balise par défaut dans le paramètre de nom de balise AWS CloudFormation Instance Scheduler, votre balise sera différente. Par exemple, si vous avez saisi Sked comme nom de tag, votre tag seraSked=mon-9am-fri-5pm. Pour plus d'informations, reportez-vous à la section Marquer vos ressources dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud.

CLI du planificateur

Pour configurer le calendrier ci-dessus à l'aide de la CLI du planificateur d'instance, utilisez les commandes suivantes :

scheduler-cli create-period --stack <stackname> --name
mon-start-9am --weekdays mon --begintime 9:00 --endtime 23:59
scheduler-cli create-period --stack <stackname> --name
tue-thu-full-day --weekdays tue-thu
scheduler-cli create-period --stack <stackname> --namefri-stop-5pm --weekdays fri --begintime 0:00 --endtime 17:00

scheduler-cli create-schedule --stack <stackname> --name
mon-9am-fri-5pm --periods
mon-start-9am,tue-thu-full-day,fri-stop-5pm -timezone
America/New_York

Ressource personnalisée

Le CloudFormation modèle suivant créera le calendrier ci-dessus à l'aide de la ressource personnalisée du calendrier.

Pour déployer ce modèle, vous devez fournir l'ServiceInstanceScheduleServiceTokenARN qui se trouve dans la CloudFormation console AWS en sélectionnant l'instance Instance Scheduler Hub Stack précédemment déployée, puis en sélectionnant Outputs.

AWSTemplateFormatVersion: 2010-09-09
Parameters:
  ServiceInstanceScheduleServiceTokenARN:
    Type: String
    Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
  'AWS::CloudFormation::Designer': {}
Resources:
  StopOnWeekends:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      NoStackPrefix: 'True'
      Name: mon-9am-fri-5pm
      Description: start instances at 9am on monday and stop them at 5pm on friday
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
      Timezone: America/New_York
      Periods:
      - Description: 9am monday start
        BeginTime: '09:00'
        EndTime: '23:59'
        WeekDays: mon
      - Description: all day tuesday-thursday
        WeekDays: tue-thu
      - Description: 5pm friday stop
        BeginTime: '00:00'
        EndTime: '16:59'
        WeekDays: fri

Ressources relatives aux solutions

Les ressources suivantes sont créées dans le cadre du planificateur d'instances sur la pile AWS.

Nom de la ressource Type Description

Principal

AWS::Lambda::Function

Planificateur d'instance sur la fonction AWS Lambda.

Aide à la configuration du planificateur

Custom::ServiceSetup

Stocke les paramètres de configuration globaux dans Amazon DynamoDB.

Autorisation d'appel du planificateur

AWS::Lambda::Permission

Permet à l' CloudWatch événement Amazon d'appeler la fonction AWS Lambda du planificateur d'instance.

Journaux du planificateur

AWS::Logs::LogGroup

CloudWatch Groupe de journaux pour le planificateur d'instances.

Politique du planificateur

AWS::IAM::Policy

Politique qui permet au planificateur d'effectuer des actions de démarrage et d'arrêt, de modifier les attributs des EC2 instances Amazon, de définir des balises et d'accéder aux ressources du planificateur.

Règle du planificateur

AWS::Events::Rule

Règle EventBridge d'événement Amazon qui appelle la fonction Lambda du planificateur.

Règle d'événement relative aux mesures de configuration

AWS::Events::Rule

Règle EventBridge d'événement Amazon qui invoque périodiquement la fonction de mesures anonymisées de description de la configuration. Désactivé lorsque les métriques anonymisées sont désactivées.

Tableau des états

AWS::DynamamoDB::Table

Table DynamoDB qui stocke le dernier état souhaité des instances.

Tableau de configuration

AWS::DynamamoDB::Table

Table DynamoDB qui stocke les données de configuration, de planification et de période globales.

Rubrique SNS du planificateur d'instances

AWS::SNS::Topic

Envoie des messages d'avertissement et d'erreur aux adresses e-mail abonnées.