Automatización de las tareas de administración - Guía para desarrolladores de AWS Snowball Edge

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Automatización de las tareas de administración

Puede usarAWS OpsHubpara automatizar las tareas operativas que realizas con frecuencia en tus dispositivos Snow Family. Puede crear una tarea para las acciones recurrentes que quiera realizar en los recursos, como reiniciar los servidores virtuales, detener las instancias de Amazon EC2, etc. Proporciona un documento de automatización que realiza tareas operativas de forma segura y ejecuta la operación enAWSrecursos a granel. También puede programar flujos de trabajo de TI comunes.

nota

La automatización de tareas en clústeres no es compatible.

Para utilizar tareas, primero se debe iniciar el servicio Amazon EC2 Systems Manager. Para iniciar un servicio en tu Snowball Edge, consultaCómo iniciar un servicio en Snowball Edge.

Crear e iniciar una tarea

Al crear una tarea, especifique los tipos de recursos en los que debe ejecutarse la tarea y, a continuación, proporcione un documento de tarea que contenga las instrucciones que ejecutan la tarea. El documento de tarea está en formato YAML o JSON. A continuación, proporcione los parámetros necesarios para la tarea e inicie la tarea.

Para crear una tarea

  1. En la sección Launch tasks (Iniciar tareas) del panel, seleccione Get started (Introducción) para abrir la página Tasks (Tareas). Si ha creado tareas, aparecerán en Tasks (Tareas).

  2. Seleccione Create task (Crear tarea) y proporcione los detalles de la tarea.

  3. Table name (Nombre de tabla), escriba un nombre único para la tarea.

    sugerencia

    El nombre debe tener entre 3 y 128 caracteres. Los caracteres válidos son a-z, A-Z, 0-9, ., _ y -.

  4. Opcionalmente, puede elegir un tipo de destino en la lista Target type-optional (Tipo de destino opcional). Este es el tipo de recurso en el que desea que se ejecute la tarea.

    Por ejemplo, puede especificar/AWS::EC2::Instancepara que las tareas se ejecuten en una instancia de Amazon EC2 o/para que se ejecute en todos los tipos de recursos.

  5. En elContenido, seleccioneYAMLoJSONy proporcione el script que ejecuta la tarea. Tiene dos opciones, formato YAML o JSON. Para ver ejemplos, consulte Ejemplos de tareas.

  6. Seleccione Create (Crear). La tarea que creó aparecerá en la página Tasks (Tareas).

Iniciar una tarea.

  1. En la sección Launch tasks (Iniciar tareas) del panel, seleccione Get started (Introducción) para abrir la página Tasks (Tareas). Las tareas aparecen en Tasks (Tareas).

  2. Seleccione la tarea para abrir la página Start task (Iniciar tarea).

  3. Seleccione Simple execution (Ejecución simple) para ejecutar en los destinos.

    SeleccioneRate control (Control de velocidad) para ejecutar de forma segura en varios destinos y definir umbrales de concurrencia y error. Para esta opción, proporciona información adicional de destino y umbral de error en la sección Rate control (Control de velocidad) .

  4. Proporcione los parámetros de entrada necesarios y seleccioneStart task (Iniciar tarea).

    El estado de la tarea es Pendiente y cambia a Success (Correcto) cuando la tarea se ha ejecutado correctamente.

Ejemplos de tareas

En el siguiente ejemplo, se reinicia una instancia de Amazon EC2. Requiere dos parámetros de entrada: endpoint y instance ID.

Ejemplo de YAML

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}

Ejemplo de JSON

{ "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}" } } ] }

Consultar detalles de una tarea

Puede ver los detalles de una tarea de administración, como la descripción y los parámetros necesarios para ejecutar la tarea.

Para ver detalles de una tarea

  1. En la sección Launch tasks (Iniciar tareas) del panel, seleccione Get started (Introducción) para abrir la página Tasks (Tareas).

  2. En la página Tareas busque y seleccione la tarea de la que desea ver los detalles.

  3. Seleccione View details (Ver detalles) y seleccione una de las pestañas para ver los detalles. Por ejemplo, la ficha Parámetros muestra los parámetros de entrada en la secuencia de comandos.

Eliminación de una tarea

Siga estos pasos para eliminar una tarea de administración.

Para eliminar una tarea

  1. En la sección Launch tasks (Iniciar tareas) del panel, seleccione Get started (Introducción) para abrir la página Tasks (Tareas).

  2. Busque la tarea que desea eliminar. Seleccione la tarea y a continuación, seleccione Delete (Eliminar).