Automatisez vos tâches de gestion avec AWS OpsHub - AWS Snowball Edge Guide du développeur

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.

Automatisez vos tâches de gestion avec AWS OpsHub

Vous pouvez l'utiliser AWS OpsHub pour automatiser les tâches opérationnelles que vous effectuez fréquemment sur vos appareils de la gamme Snow. Vous pouvez créer une tâche pour effectuer des actions récurrentes sur les ressources, telles que le redémarrage de serveurs virtuels, l'arrêt d'instances EC2 compatibles avec Amazon, etc. Vous fournissez un document d'automatisation qui exécute des tâches opérationnelles en toute sécurité et exécute l'opération sur AWS des ressources en masse. Vous pouvez également planifier des flux de travail informatiques courants.

Note

L'automatisation des tâches n'est pas prise en charge sur les clusters.

Pour utiliser des tâches, le service Amazon EC2 Systems Manager doit d'abord être démarré. Pour plus d'informations, voir Activation de la gestion des appareils Snow sur un appareil de la famille Snow.

Création et démarrage d'une tâche avec AWS OpsHub

Lorsque vous créez une tâche, vous spécifiez les types de ressources sur lesquelles la tâche doit s'exécuter, puis fournissez un document de tâche contenant les instructions qui exécutent la tâche. Le document de tâche est en JSON format YAML ou en format. Vous fournissez ensuite les paramètres requis pour la tâche et démarrez la tâche.

Pour créer une tâche
  1. Dans la section Launch tasks (Lancer des tâches) du tableau de bord, choisissez Get started (Démarrer) pour ouvrir la page Tasks (Tâches). Si vous avez créé des tâches, celles-ci apparaissent sous Tasks (Tâches).

  2. Choisissez Create task (Créer une tâche) et fournissez des détails pour la tâche.

  3. Pour Name (Nom), saisissez un nom unique pour la tâche.

    Astuce

    Le nom doit comporter entre 3 et 128 caractères. Les caractères valides sont a-z, A-Z, 0-9, ., _ et -.

  4. Si vous le souhaitez, vous pouvez choisir un type cible dans la liste Target type-optional (Type cible facultatif). Il s'agit du type de la ressource sur laquelle vous souhaitez exécuter la tâche.

    Par exemple, vous pouvez spécifier que /AWS::EC2::Instance les tâches doivent être exécutées sur une instance EC2 compatible avec Amazon ou / sur tous les types de ressources.

  5. Dans la section Contenu, choisissez YAMLou JSON, puis indiquez le script qui exécute la tâche. Deux options s'offrent à vous : le JSON format. YAML Pour obtenir des exemples, consultez Exemples de tâches dans AWS OpsHub.

  6. Sélectionnez Create (Créer). La tâche que vous avez créée apparaît ensuite sur la page Tasks (Tâches).

Pour démarrer une tâche
  1. Dans la section Launch tasks (Lancer des tâches) du tableau de bord, choisissez Get started (Démarrer) pour ouvrir la page Tasks (Tâches). Vos tâches apparaissent sous Tasks (Tâches).

  2. Choisissez votre tâche pour ouvrir la page Start task (Démarrer la tâche).

  3. Choisissez Simple execution (Exécution simple) pour procéder à l’exécution sur des cibles.

    Choisissez Rate control (Contrôle du débit) pour procéder à l’exécution en toute sécurité sur plusieurs cibles et définir des seuils de concurrence et d'erreur. Pour cette option, vous fournissez les informations supplémentaires sur la cible et le seuil d'erreur dans la section Rate control (Contrôle du débit).

  4. Fournissez les paramètres d'entrée requis, puis choisissez Start task (Démarrer la tâche).

    Le statut de la tâche est Pending (En attente); il devient Success (Succès) lorsque la tâche a été exécutée correctement.

Exemples de tâches dans AWS OpsHub

L'exemple suivant redémarre une instance EC2 compatible avec Amazon. Il nécessite deux paramètres d'entrée : endpoint et instance ID.

YAMLexemple

description: Restart EC2 instance schemaVersion: '0.3' parameters: Endpoint: type: String description: (Required) EC2 Service Endpoint URL Id: type: String description: (Required) Instance Id mainSteps: - name: restartInstance action: aws:executeScript description: Restart EC2 instance step inputs: Runtime: python3.7 Handler: restart_instance InputPayload: Endpoint: "{{ Endpoint }}" Id: "{{ Id }}" TimeoutSeconds: 30 Script: |- import boto3 import time def restart_instance(payload, context): ec2_endpoint = payload['Endpoint'] instance_id = payload['Id'] ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint) instance = ec2.Instance(instance_id) if instance.state['Name'] != 'stopped': instance.stop() instance.wait_until_stopped() instance.start() instance.wait_until_running() return {'InstanceState': instance.state}

JSONexemple

{ "description" : "Restart EC2 instance", "schemaVersion" : "0.3", "parameters" : { "Endpoint" : { "type" : "String", "description" : "(Required) EC2 Service Endpoint URL" }, "Id" : { "type" : "String", "description" : "(Required) Instance Id" } }, "mainSteps" : [ { "name" : "restartInstance", "action" : "aws:executeScript", "description" : "Restart EC2 instance step", "inputs" : { "Runtime" : "python3.7", "Handler" : "restart_instance", "InputPayload" : { "Endpoint" : "{{ Endpoint }}", "Id" : "{{ Id }}" }, "TimeoutSeconds" : 30, "Script" : "import boto3\nimport time\ndef restart_instance(payload, context):\n ec2_endpoint = payload['Endpoint']\n instance_id = payload['Id']\n ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint)\n instance = ec2.Instance(instance_id)\n if instance.state['Name'] != 'stopped':\n instance.stop()\n instance.wait_until_stopped()\n instance.start()\n instance.wait_until_running()\n return {'InstanceState': instance.state}" } } ] }

Afficher les détails d'une tâche dans AWS OpsHub

Vous pouvez afficher les détails d'une tâche de gestion, tels que sa description et les paramètres nécessaires à son exécution.

Pour afficher les détails d'une tâche
  1. Dans la section Launch tasks (Lancer des tâches) du tableau de bord, choisissez Get started (Démarrer) pour ouvrir la page Tasks (Tâches).

  2. Sur la page Tasks (Tâches), recherchez et choisissez la tâche dont vous souhaitez afficher les détails.

  3. Choisissez View details (Afficher les détails), puis choisissez un des onglets pour afficher les détails. Par exemple, l'onglet Parameters (Paramètres) affiche les paramètres d'entrée dans le script.

Supprimer une tâche dans AWS OpsHub

Procédez comme suit pour supprimer une tâche de gestion.

Pour supprimer une tâche
  1. Dans la section Launch tasks (Lancer des tâches) du tableau de bord, choisissez Get started (Démarrer) pour ouvrir la page Tasks (Tâches).

  2. Recherchez la tâche que vous souhaitez supprimer. Choisissez la tâche, puis cliquez sur Delete (Supprimer).