Automatizando suas tarefas de gerenciamento com AWS OpsHub - AWS Snowball Edge Guia do desenvolvedor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Automatizando suas tarefas de gerenciamento com AWS OpsHub

Você pode usar AWS OpsHub para automatizar tarefas operacionais que você executa com frequência nos dispositivos da família Snow. Você pode criar uma tarefa para ações recorrentes que talvez queira realizar em recursos, como reiniciar servidores virtuais, interromper instâncias EC2 compatíveis com a Amazon e assim por diante. Você fornece um documento de automação que executa tarefas operacionais com segurança e executa a operação em AWS recursos em massa. Você também pode agendar fluxos de trabalho comuns de TI.

nota

Não há suporte para a automação de tarefas em clusters.

Para usar tarefas, o serviço Amazon EC2 Systems Manager deve ser iniciado primeiro. Para obter mais informações, consulte Ativando o gerenciamento de dispositivos Snow em um dispositivo da família Snow.

Criando e iniciando uma tarefa com AWS OpsHub

Ao criar uma tarefa, você especifica os tipos de recursos em que a tarefa deve ser executada e fornece um documento da tarefa que contém as instruções que executam a tarefa. O documento da tarefa está no JSON formato YAML ou está em formato. Depois você fornece os parâmetros necessários para a tarefa e inicia a tarefa.

Para criar uma tarefa
  1. Na seção Executar tarefas do painel, escolha Comece a usar para abrir a página Tarefas. Se você tiver criado tarefas, elas serão exibidas em Tarefas.

  2. Escolha Criar tarefa e forneça detalhes para a tarefa.

  3. Em Nome, insira um nome exclusivo para a tabela.

    dica

    O nome deve ter entre 3 e 128 caracteres. Os caracteres válidos são: a-z, A-Z, 0-9, ., _ e -.

  4. Opcionalmente, você poderá escolher um tipo de destino na lista Tipo de destino - opcional. Esse é o tipo de atributo no qual você deseja que a tarefa seja executada.

    Por exemplo, você pode especificar /AWS::EC2::Instance que as tarefas sejam executadas em uma instância EC2 compatível com / a Amazon ou em todos os tipos de recursos.

  5. Na seção Conteúdo, escolha YAMLou JSONe forneça o script que executa a tarefa. Você tem duas opções, YAML ou JSON formato. Para ver exemplos, consulte Exemplos de tarefas em AWS OpsHub.

  6. Escolha Criar. A tarefa criada é exibida na página Tarefas.

Como iniciar uma tarefa
  1. Na seção Executar tarefas do painel, escolha Comece a usar para abrir a página Tarefas. Suas tarefas são exibidas em Tarefas.

  2. Escolha sua tarefa para abrir a página Iniciar tarefa.

  3. Escolha Execução simples para executar em destinos.

    Escolha Controle de taxa para executar com segurança em vários destinos e definir limites de simultaneidade e erro. Para essa opção, você fornece as informações adicionais de limite de erro e destino na seção Controle de taxa.

  4. Forneça os parâmetros de entrada necessários e escolha Iniciar tarefa.

    O status da tarefa é Pendente e muda para Êxito quando a tarefa é executada com êxito.

Exemplos de tarefas em AWS OpsHub

O exemplo a seguir reinicia uma instância EC2 compatível com a Amazon. Ele requer dois parâmetros de entrada: endpoint e instance ID.

YAMLexemplo

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}

JSONexemplo

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

Visualizando detalhes de uma tarefa no AWS OpsHub

Você pode visualizar os detalhes de uma tarefa de gerenciamento, como a descrição e os parâmetros necessários para executar a tarefa.

Como visualizar os detalhes de uma tarefa
  1. Na seção Executar tarefas do painel, escolha Comece a usar para abrir a página Tarefas.

  2. Na página Tarefas, localize e escolha a tarefa da qual você deseja ver os detalhes.

  3. Escolha Exibir detalhes e selecione uma das guias para ver os detalhes. Por exemplo, a guia Parâmetros mostra os parâmetros de entrada no script.

Excluindo uma tarefa no AWS OpsHub

Siga estas etapas para excluir uma tarefa de gerenciamento.

Para excluir uma tarefa
  1. Na seção Executar tarefas do painel, escolha Comece a usar para abrir a página Tarefas.

  2. Localize a tarefa que você deseja excluir. Selecione a tarefa e escolha Excluir.