Instalar ou atualizar pacotes do Distributor - AWS Systems Manager

Instalar ou atualizar pacotes do Distributor

Você pode implantar pacotes em seus nós gerenciados do AWS Systems Manager usando o Distributor, um recurso do AWS Systems Manager. Para implantar os pacotes, use o AWS Management Console ou AWS Command Line Interface (AWS CLI). Você pode implantar uma versão de um pacote por comando. Você pode instalar novos pacotes ou atualizar instalações existentes no local. Você pode optar por implantar uma versão específica ou escolha sempre implantar a versão mais recente de um pacote de implantação. Recomendamos usar o State Manager, um recurso do AWS Systems Manager, para instalar pacotes. O uso do State Manager ajuda a garantir que os nós gerenciados estejam sempre executando a versão mais atualizada do pacote.

Preferência Ação do AWS Systems Manager Mais informações

Instalar ou atualizar um pacote imediatamente.

Run Command

Instalar ou atualizar um pacote em uma programação, para que a instalação sempre inclua a versão padrão.

State Manager

Instalar automaticamente um pacote em novos nós gerenciados que tenham uma etiqueta ou um conjunto específico de etiquetas. Por exemplo, a instalação do agente Amazon CloudWatch em novas instâncias.

State Manager

Uma maneira de fazer isso é aplicar etiquetas aos novos nós gerenciados e, em seguida, especificar as etiquetas como destinos em sua associação State Manager. O State Manager instala automaticamente o pacote em uma associação em nós gerenciados que têm etiquetas correspondentes. Consulte Sobre destinos e controles de taxa em associações do State Manager.

Instalar ou atualizar um pacote uma única vez usando o console

É possível usar o console do AWS Systems Manager para instalar ou atualizar um pacote uma vez. Quando você configura uma instalação única, o Distributor usa o AWS Systems Manager Run Command, um recurso do AWS Systems Manager, para executar a instalação.

Para instalar ou atualizar um pacote uma única vez usando o console
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Distributor.

  3. Na página inicial do Distributor, selecione o pacote que deseja instalar.

  4. Escolha Install one time (Instalar uma vez).

    Esse comando abre o Run Command com o documento de comando AWS-ConfigureAWSPackage e seu pacote Distributor já selecionado.

  5. Em Document version (Versão do documento), selecione a versão documento AWS-ConfigureAWSPackage que deseja executar.

  6. Em Action (Ação), selecione Install (Instalar).

  7. Em Installation type (Tipo de instalação), escolha uma das seguintes opções:

    • Uninstall and reinstall (Desinstalar e reinstalar): o pacote é totalmente desinstalado e, depois, reinstalado. A aplicação estará indisponível até que a reinstalação seja concluída.

    • In-place update (Atualização no local): somente arquivos novos ou alterados são adicionados à instalação existente de acordo com as instruções fornecidas em um script update. O aplicativo permanece disponível durante todo o processo de atualização. Esta opção não tem suporte para os pacotes publicados da AWS, exceto os pacotes AWSEC2Launch-Agent.

  8. Em Name (Nome), verifique se o nome do pacote selecionado foi inserido.

  9. (Opcional) Em Version (Versão), insira o valor do nome da versão do pacote. Se você deixar esse campo em branco, o Run Command instala a versão padrão que você selecionou em Distributor.

  10. Na seção Targets (Destinos), escolha os nós gerenciados nos quais você quer executar essa operação, especificando as etiquetas, selecionando as instâncias ou dispositivos manualmente ou especificando um grupo de recursos.

    nota

    Se você não encontrar um nó gerenciado na lista, consulte Solução de problemas de disponibilidade do nó gerenciado.

  11. 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.

  12. Para Rate control (Controle de taxa):

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

      nota

      Se você selecionou destinos especificando etiquetas ou grupos de recursos, e não tiver certeza de quantos nós gerenciados são selecionados como destino, restrinja o número de destinos 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 destinos depois de falhar em alguns ou em uma porcentagem de nós gerenciados. 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.

  13. (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.

  14. 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.

  15. Quando estiver pronto para instalar o pacote, escolha Run (Executar).

  16. A área Command status (Status do comando) informa o andamento da execução. Se o comando ainda estiver em andamento, escolha o ícone de atualização no canto superior esquerdo do console até a coluna Overall status (Status geral) ou Detailed status (Status detalhado) mostrar Success (Êxito) ou Failed (Falha).

  17. Na área Targets and outputs (Destinos e saídas), escolha o botão ao lado de um nome de nó gerenciado e escolha View output (Visualizar saída).

    A página de saída do comando mostra os resultados da execução do comando.

  18. (Opcional) Se você optar por gravar a saída do comando em um bucket do Amazon S3, escolha Amazon S3 para visualizar os dados do log de resultados.

Programar uma instalação ou atualização de pacote usando o console

Você pode usar o console do AWS Systems Manager para agendar a instalação ou atualização de um pacote. Quando você agenda a instalação ou atualização do pacote, o Distributor usa AWS Systems Manager State Manager para instalar ou atualizar.

Para programar uma instalação de pacote usando o console
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Distributor.

  3. Na página inicial do Distributor, selecione o pacote que deseja instalar ou atualizar.

  4. Em Package (Pacote), escolha Install on a schedule (Instalação programada).

    Esse comando abre o State Manager para uma nova associação que será criada para você.

  5. Em Name (Nome), insira um nome (por exemplo, Deploy-test-agent-package). Isso é opcional, mas recomendado. Espaços não são permitidos no nome.

  6. Na lista Document (Documento), o nome do documento AWS-ConfigureAWSPackage já está selecionado.

  7. Em Action (Ação), verifique se Install (Instalar) está selecionada.

  8. Em Installation type (Tipo de instalação), escolha uma das seguintes opções:

    • Uninstall and reinstall (Desinstalar e reinstalar): o pacote é totalmente desinstalado e, depois, reinstalado. A aplicação estará indisponível até que a reinstalação seja concluída.

    • In-place update (Atualização no local): somente arquivos novos ou alterados são adicionados à instalação existente de acordo com as instruções fornecidas em um script update. O aplicativo permanece disponível durante todo o processo de atualização.

  9. Em Name (Nome), verifique se o nome do seu pacote foi inserido.

  10. Em Version (Versão), se você quiser instalar uma versão de pacote diferente da versão publicada mais recente, insira o identificador de versão.

  11. Em Targets (Destinos), escolha Selecting all managed instances in this account (Selecionar todas as instâncias gerenciadas nesta conta), Specifying tags (Especificar tags) ou Manually Selecting Instance (Selecionar instância manualmente). Se você tiver recursos de destino usando tags, insira uma chave de tag e um valor de tag nos campos fornecidos.

    nota

    Você pode escolher dispositivos principais do AWS IoT Greengrass gerenciado, escolhendo as opções Selecting all managed instances in this account (Selecionar todas as instâncias gerenciadas nesta conta) ou Manually Selecting Instance (Selecionar a instância manualmente).

  12. Em Specify schedule (Especificar programação), escolha On Schedule (Na programação) para executar a associação em uma programação normal, ou No Schedule (Sem programação) para executar a associação uma vez. Para obter mais informações sobre essas opções, consulte Para obter informações, consulte Trabalhar com associações no Systems Manager.. Use os controles para criar uma programação cron ou rate para a associação.

  13. Escolha Create Association (Criar associação).

  14. Na página Association (Associação) escolha o botão ao lado da associação criada e escolha Apply association now (Aplicar associação agora).

    O State Manager cria e executa imediatamente a associação nos destinos especificados. Para obter mais informações sobre os resultados da execução de associações, consulte Para obter informações, consulte Trabalhar com associações no Systems Manager. neste guia.

Para obter mais informações sobre como trabalhar com as opções em Advanced options (Opções avançadas), Rate control (Controle de taxa) e Output options (Opções de saída), consulte Para obter informações, consulte Trabalhar com associações no Systems Manager..

Instalar um pacote uma única vez usando a AWS CLI

É possível executar send-command na AWS CLI para instalar um pacote de Distributor uma vez. Se o pacote já estiver instalado, o aplicativo ficará offline enquanto o pacote for desinstalado e a nova versão for instalada em seu lugar.

Para instalar um pacote uma única vez usando a AWS CLI
  • Execute o comando a seguir na AWS CLI.

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "instance-IDs" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
    nota

    O comportamento padrão para installationType é Uninstall and reinstall. Você pode omitir "installationType":["Uninstall and reinstall"] desse comando quando estiver instalando um pacote completo.

    Veja um exemplo a seguir.

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-00000000000000" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["ExamplePackage"]}'

Para obter informações sobre outras opções que podem ser usadas com o comando send-command, consulte send-command na seção AWS Systems Manager da Referência de comando da AWS CLI.

Atualizar um pacote uma única vez usando a AWS CLI

Você pode executar send-command na AWS CLI para atualizar um pacote do Distributor sem deixar o aplicativo associado offline. Somente arquivos novos ou atualizados no pacote são substituídos.

Para atualizar um pacote uma única vez usando a AWS CLI
  • Execute o comando a seguir na AWS CLI.

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "instance-IDs" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
    nota

    Ao adicionar arquivos novos ou alterados, é necessário incluir "installationType":["In-place update"] no comando.

    Veja um exemplo a seguir.

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-02573cafcfEXAMPLE" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["ExamplePackage"]}'

Para obter informações sobre outras opções que podem ser usadas com o comando send-command, consulte send-command na seção AWS Systems Manager da Referência de comando da AWS CLI.

Programar uma instalação de pacote usando a AWS CLI

É possível executar create-association na AWS CLI para instalar um pacote de Distributor em uma programação. O valor de --name, o nome do documento, é sempre AWS-ConfigureAWSPackage. O comando a seguir usa a chave InstanceIds para especificar os nós gerenciados de destino. Se o pacote já estiver instalado, o aplicativo ficará offline enquanto o pacote for desinstalado e a nova versão for instalada em seu lugar.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
nota

O comportamento padrão para installationType é Uninstall and reinstall. Você pode omitir "installationType":["Uninstall and reinstall"] desse comando quando estiver instalando um pacote completo.

Veja um exemplo a seguir.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["Test-ConfigureAWSPackage"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]

Para obter informações sobre outras opções que podem ser usadas com o comando create-association, consulte create-association na seção AWS Systems Manager da Referência de comando da AWS CLI.

Programar uma atualização de pacote usando a AWS CLI

Você pode executar create-association na AWS CLI para atualizar um pacote do Distributor em uma programação sem deixar o aplicativo associado offline. Somente arquivos novos ou atualizados no pacote são substituídos. O valor de --name, o nome do documento, é sempre AWS-ConfigureAWSPackage. O comando a seguir usa a chave InstanceIds para especificar as instâncias de destino.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
nota

Ao adicionar arquivos novos ou alterados, é necessário incluir "installationType":["In-place update"] no comando.

Veja um exemplo a seguir.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["Test-ConfigureAWSPackage"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]

Para obter informações sobre outras opções que podem ser usadas com o comando create-association, consulte create-association na seção AWS Systems Manager da Referência de comando da AWS CLI.