Executar documentos do em locais remotos - AWS Systems Manager

Executar documentos do em locais remotos

Você pode executar documentos do AWS Systems Manager (SSM) em locais remotos usando o documento SSM predefinido AWS-RunDocument. Este documento suporta a execução de documentos SSM armazenados nos seguintes locais:

  • Repositórios públicos e privados do GitHub (não há suporte ao GitHub Enterprise)

  • Buckets do Amazon S3

  • Systems Manager

Enquanto você também pode executar documentos remotos usandoState Managerou Automação, capacidades doAWS Systems ManagerO procedimento a seguir descreve apenas como executar documentos do SSM remoto usandoAWS Systems Manager Run Commandno console do Systems Manager.

nota

O AWS-RunDocument pode ser usado para executar apenas documentos SSM do tipo de comando, não outros tipos, como runbooks de automação. O AWS-RunDocument usa o plugin aws:downloadContent. Para obter mais informações sobre o plugin aws:downloadContent, consulte aws:downloadContent.

Antes de começar

Para executar um documento remoto, você deve primeiro concluir as tarefas a seguir.

  • Crie um documento do Comando SSM e salve-o em um local remoto. Para ter mais informações, consulte Criar conteúdo de documento do SSM.

  • Se você planeja executar um documento remoto armazenado em um repositório privado do GitHub, é necessário criar um parâmetro SecureString do Systems Manager para o token de acesso de segurança do GitHub. Não é possível acessar um documento remoto em um repositório privado do GitHub transmitindo manualmente o token via SSH. O token de acesso deve ser passado como um parâmetro SecureString do Systems Manager. Para obter mais informações sobre como criar um parâmetro SecureString, consulte Crie um parâmetro do Systems Manager.

Executar um documento remoto (console)

Para executar um documento remoto
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Run Command.

  3. Selecione Run command.

  4. Na lista Document (Documento), escolha AWS-RunDocument.

  5. Em Command parameters (Parâmetros de comando), em Source Type (Tipo de origem), escolha uma opção.

    • Se você escolher o GitHub, especifique as Informações da origem no seguinte formato:

      { "owner": "owner_name", "repository": "repository_name", "path": "path_to_document", "getOptions":"branch:branch_name", "tokenInfo": "{{ssm-secure:secure-string-token}}" }

      Por exemplo:

      { "owner":"TestUser", "repository":"GitHubTestExamples", "path":"scripts/python/test-script", "getOptions":"branch:exampleBranch", "tokenInfo":"{{ssm-secure:my-secure-string-token}}" }
      nota

      getOptions são opções extras para recuperar conteúdo de uma ramificação diferente da principal ou de uma confirmação específica no repositório. O getOptions poderá ser omitido se você estiver usando a confirmação mais recente na ramificação principal. O parâmetro branch é necessário somente se o documento do SSM estiver armazenado em uma ramificação diferente de master.

      Para usar a versão do documento do SSM em uma confirmação específica no repositório, use commitID com getOptions em vez de branch. Por exemplo:

      "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",
    • Se escolher S3, especifique as informações em Source Info no formato a seguir:

      {"path":"URL_to_document_in_S3"}

      Por exemplo:

      {"path":"https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/scripts/ruby/mySSMdoc.json"}
    • Se escolher SSMDocument, especifique as informações em Source Info no formato a seguir:

      {"name": "document_name"}

      Por exemplo:

      {"name": "mySSMdoc"}
  6. No campo Document Parameters (Parâmetros do documento), digite os parâmetros para o documento remoto do SSM. Por exemplo, se você executar o documento AWS-RunPowerShell, poderá especificar:

    {"commands": ["date", "echo \"Hello World\""]}

    Se você executar o documento AWS-ConfigureAWSPack, poderá especificar:

    { "action":"Install", "name":"AWSPVDriver" }
  7. Na seção Targets (Destinos), escolha os nós gerenciados nos quais você quer executar essa operação, especificando as tags, selecionando as instâncias ou dispositivos de borda manualmente ou especificando um grupo de recursos.

    dica

    Se um nó gerenciado que você espera ver não estiver listado, consulte Solução de problemas de disponibilidade do nó gerenciado para obter dicas de solução de problemas.

  8. Para Other parameters (Outros parâmetros):

    • Em Comment (Comentário), digite as informações sobre esse comando.

    • Em Timeout (seconds) (Tempo limite [segundos]), especifique o número de segundos para o sistema aguardar até a falha de execução do comando total.

  9. Para Rate control (Controle de taxa):

    • Em Concurrency (Concorrência), especifique um número ou uma porcentagem de nós gerenciados nos quais executar o comando ao mesmo tempo.

      nota

      Se você selecionou destinos especificando tags aplicadas a instâncias a nós gerenciados ou especificando grupos de recursos da AWS, e não tiver certeza de quantas instâncias são direcionadas, restrinja o número de instâncias que poderão executar o documento ao mesmo tempo, especificando uma porcentagem.

    • Em Error threshold (Limite de erro), especifique quando parar de executar o comando em outros nós depois de falhar em alguns ou em uma porcentagem de nós. Por exemplo, se você especificar três erros, o Systems Manager deixará de enviar o comando quando o 4° erro for recebido. Os nós gerenciados que continuam processando o comando também podem enviar erros.

  10. (Opcional) Em Output options (Opções de saída), para salvar a saída do comando em um arquivo, selecione a caixa Write command output to an S3 bucket (Gravar saída do comando em um bucket do S3). Digite os nomes de bucket e prefixo (pastas) nas caixas de texto.

    nota

    As permissões do S3 que concedem a possibilidade de gravar os dados em um bucket do S3 são as do perfil de instância (para instâncias do EC2) ou perfil de serviço do IAM (máquinas ativadas para ambientes híbridos) atribuído à instância, e não as do usuário do IAM que realiza essa tarefa. Para obter mais informações, consulte Configurar permissões de instância obrigatórias para o Systems Manager ou Criar um perfil de serviço do IAM para um ambiente híbrido. Além disso, se o bucket do S3 especificado estiver em uma conta da Conta da AWS diferente, verifique se o perfil da instância ou a função de serviço do IAM associado ao nó gerenciado tenha as permissões necessárias para gravar nesse bucket.

  11. Na seção SNS notifications (Notificações do SNS), se quiser enviar notificações sobre o status da execução do comando, marque a caixa de seleção Enable SNS notifications (Habilitar notificações do SNS).

    Para obter mais informações sobre a configuração de notificações do Amazon SNS para o Run Command, consulte Monitorar alterações de status do Systems Manager usando as notificações do Amazon SNS.

  12. Escolha Executar.

nota

Para obter mais informações sobre reinicialização dos servidores e instâncias ao usar Run Command para chamar scripts, consulte Tratamento de reinicializações ao executar comandos.