Como funciona o State Manager - AWS Systems Manager

Como funciona o State Manager

O State Manager, um recurso do AWS Systems Manager, é um serviço seguro e escalável que automatiza o processo de manter nós gerenciados em uma infraestrutura híbrida e multinuvem em um estado definido por você.

Como o State Manager funciona:

1. Determine o estado que deseja aplicar a seus recursos da AWS.

Deseja garantir que seus nós gerenciados sejam configurados com aplicações específicas, como antivírus ou aplicações de malware? Você deseja automatizar o processo de atualização do SSM Agent ou outros pacotes da AWS, como AWSPVDriver? Você precisa garantir que determinadas portas sejam fechadas ou abertas? Para começar a usar o State Manager, determine o estado que deseja aplicar a seus recursos da AWS. O estado que você deseja aplicar determina qual documento SSM é usado para criar uma associação do State Manager.

Uma associação do State Manager é uma configuração que você atribui aos seus recursos da AWS. A configuração define o estado que você deseja manter em seus recursos. Por exemplo, uma associação pode especificar que o software antivírus deve estar instalado e em execução nas instâncias ou que determinadas portas devem ser fechadas.

Uma associação especifica uma programação para quando aplicar a configuração e destinos para a associação. Por exemplo, uma associação a um software antivírus pode ser executada uma vez por dia em uma Conta da AWS. Se o software não estiver instalado em um nó, a associação poderá instruir o State Manager para instalá-lo. Se o software estiver instalado, mas o serviço não estiver em execução, a associação poderá instruir o State Manager a iniciar o serviço.

2. Determine se um documento SSM pré-configurado pode ajudar você a criar o estado desejado nos seus recursos da AWS.

O Systems Manager inclui dezenas de documentos SSM pré-configurados que você pode usar para criar uma associação. Os documentos pré-configurados estão prontos para executar tarefas comuns, como instalação de aplicações, configuração do Amazon CloudWatch, execução de automações do AWS Systems Manager, execução de scripts PowerShell e Shell e ingresso de nós gerenciados um domínio do de serviço de diretórios para Active Directory.

Você pode visualizar todos os documentos do console do Systems Manager. Selecione o nome de um documento para saber mais sobre cada um. Veja estes dois exemplos: AWS-ConfigureAWSPackage e AWS-InstallApplication.

3. Criar uma associação.

Você pode criar uma associação usando o console do Systems Manager, a AWS Command Line Interface (AWS CLI), o AWS Tools for Windows PowerShell (Tools for Windows PowerShell) ou a API do Systems Manager. Ao criar uma associação, você especifica as seguintes informações:

  • Um nome para a associação.

  • Os parâmetros do documento do SSM (por exemplo, o caminho para a aplicação a ser instalada ou o script a ser executado nos nós).

  • Destinos para a associação. Você pode direcionar nós gerenciados especificando tags, escolhendo IDs de nós individuais ou escolhendo um grupo no AWS Resource Groups. Você também pode direcionar todos os nós gerenciados na Região da AWS e na Conta da AWS atuais.

  • Uma programação para quando ou com que frequência aplicar o estado. Você pode especificar uma expressão cron ou rate. Para obter mais informações sobre como criar programações usando expressões cron e rate, consulte Expressões cron e rate para associações.

    nota

    Atualmente, o State Manager não oferece suporte à especificação de meses em expressões cron para associações.

Quando você executa o comando para criar a associação, o Systems Manager vincula as informações especificadas (programação, destinos, documento do SSM e parâmetros) aos recursos direcionados. O status da associação mostra "Pending" inicialmente, pois o sistema tenta acessar todos os destinos e aplicar imediatamente o estado especificado na associação.

nota

Se criar uma nova associação programada para execução enquanto uma associação anterior ainda estiver em execução, a associação anterior atingirá o tempo limite e a nova será executada.

O Systems Manager informa o status da solicitação para criar associações nos recursos. Você pode visualizar os detalhes do status no console ou (para nós gerenciados) usando a operação da API DescribeInstanceAssociationsStatus. Se você escolher gravar a saída do comando no Amazon Simple Storage Service (Amazon S3) ao criar uma associação, também poderá visualizar a saída no bucket do Amazon S3 que você especificar.

Para obter mais informações, consulte Para obter informações, consulte Trabalhar com associações no Systems Manager..

nota

As operações de API iniciadas pelo documento SSM durante uma execução de associação não são registradas em log no AWS CloudTrail.

4. Monitore e atualize.

Depois de criar a associação, o State Manager reaplica a configuração de acordo com o agendamento definido na associação. Você pode visualizar o status das suas associações na página do State Manager no console ou chamando diretamente o ID da associação gerado pelo Systems Manager quando você criou a associação. Para obter mais informações, consulte Visualizar históricos de associação. Você pode atualizar seus documentos de associação e reaplicá-los conforme necessário. Você pode criar também várias versões de uma associação. Para obter mais informações, consulte Edita e criar uma nova versão de uma associação.

Noções básicas sobre quando associações são aplicadas a recursos

Ao criar uma associação, você especifica um documento do SSM que define a configuração, uma lista de recursos de destino e uma programação para a aplicação da configuração. Por padrão, o State Manager executa a associação quando você a cria e, a partir daí, de acordo com a programação especificada. O State Manager também tenta executar a associação nas seguintes situações:

  • Edição da associação: o State Manager executa a associação depois que um usuário faz uma edição e salva as alterações em qualquer um dos seguintes campos de associação: DOCUMENT_VERSION, PARAMETERS, SCHEDULE_EXPRESSION, OUTPUT_S3_LOCATION.

  • Edição de documentos: o State Manager executa a associação depois que um usuário faz uma edição e salva as alterações no documento do SSM que define o estado da configuração da associação. Especificamente, a associação é executada após as seguintes edições no documento:

    • Um usuário especifica uma nova versão do documento $DEFAULT e a associação foi criada usando a versão $DEFAULT.

    • Um usuário atualiza um documento e a associação foi criada usando a versão $LATEST.

    • Um usuário exclui o documento que foi especificado quando a associação foi criada.

  • Início manual: o State Manager executa a associação quando ela é iniciada pelo usuário no console do Systems Manager ou programaticamente.

  • Alterações no destino: o State Manager executa a associação após qualquer uma das seguintes atividades ocorrer em um ó de destino:

    • Um nó gerenciado entra online pela primeira vez.

    • Um nó gerenciado entra online após perder a execução de uma associação programada.

    • Um nó gerenciado entra online após permanecer parado por mais de 30 dias.

Sobre as atualizações de destino com runbooks do Automation

Para que as associações criadas com os runbooks do Automation sejam aplicadas quando novos nós de destino forem detectados, as seguintes condições devem ser verdadeiras:

  • A associação deve ter sido criada por uma configuração do Quick Setup. A Quick Setup é um recurso do AWS Systems Manager. No momento, não há suporte a associações criadas por outros processos.

  • O runbook do Automation deve ter como alvo explícito o tipo de recurso AWS::EC2::Instance ou AWS::SSM::ManagedInstance.

  • A associação deve especificar os parâmetros e os destinos.

    No console, os campos Parâmetro e Destinos são exibidos quando você escolhe uma execução de controle de taxa.

    As opções de parâmetros e destinos são apresentadas no console para execuções de controle de taxa

    Ao usar as operações da API CreateAssociation, CreateAssociationBatch ou UpdateAssociation, é possível especificar esses valores usando as entradas AutomationTargetParameterName e Targets.