

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Atualizar uma AMI Windows Server
<a name="automation-tutorial-update-patch-windows-ami"></a>

O runbook `AWS-UpdateWindowsAmi` permite automatizar tarefas de manutenção de imagens em Amazon Machine Image (AMI) do Amazon Windows, sem precisar criar o runbook em JSON ou YAML. Este runbook tem suporte para o Windows Server 2008 R2 ou posterior. Você pode usar o runbook `AWS-UpdateWindowsAmi` para realizar os seguintes tipos de tarefas:
+ Instalar todas as atualizações do Windows e atualizar softwares da Amazon (comportamento padrão).
+ Instalar atualizações específicas do Windows e atualizar softwares da Amazon.
+ Personalize uma AMI usando seus scripts.

**Antes de começar**  
Antes de começar a trabalhar com runbooks, [configure funções para o Automation](automation-setup-iam.md) a fim de adicionar uma política `iam:PassRole` que referencia o ARN do perfil da instância ao qual você deseja conceder acesso. Opcionalmente, configure o Amazon EventBridge para o Automation, uma ferramenta do AWS Systems Manager. Para obter mais informações, consulte [Configurar a automação](automation-setup.md). Esta demonstração também requer que você especifique o nome de um perfil de instância do AWS Identity and Access Management (IAM). Para obter mais informações sobre como criar um perfil de instância do IAM, consulte [Configurar permissões de instância obrigatórias para o Systems Manager](setup-instance-permissions.md).

**nota**  
As atualizações do AWS Systems Manager SSM Agent são normalmente implementadas em regiões diferentes e em momentos distintos. Quando você personalizar ou atualizar uma AMI, use apenas AMIs de origem publicadas para a região na qual você está trabalhando. Isso garante que você trabalhe com o SSM Agent mais recente lançado nessa região e evite problemas de compatibilidade.

O runbook `AWS-UpdateWindowsAmi` aceita os seguintes parâmetros de entrada:


****  

| Parâmetro | Tipo | Descrição | 
| --- | --- | --- | 
|  SourceAmiId  |  String  |  (Obrigatório) O ID da AMI de origem. Você pode fazer referência automaticamente ao ID de uma AMI do Windows Server mais recente, ID usando um parâmetro *público* Parameter Store do Systems Manager. Para obter mais informações, consulte [Consultar os mais recentes IDs da AMI do Windows usando o AWS Systems ManagerParameter Store](https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/).  | 
|  SubnetId  |  String  |  (Opcional) A sub-rede na qual você deseja iniciar a instância temporária. Você deve especificar um valor para esse parâmetro se tiver excluído a VPC padrão.  | 
|  IamInstanceProfileName  |  String  |  (Obrigatório) O nome do perfil para o perfil de instância do IAM criado em [Configurar permissões de instância obrigatórias para o Systems Manager](setup-instance-permissions.md). A função de perfil de instância concede ao Automation permissão para realizar ações em suas instâncias, como executar comandos ou iniciar e interromper serviços. O runbook usa apenas o nome da função de perfil da instância.  | 
|  AutomationAssumeRole  |  String  |  (Obrigatório) O nome da função de serviço do IAM que você criou em [Configurar a automação](automation-setup.md). A função de serviço (também chamada de função assumida) concede ao Automation permissão para assumir sua função do IAM e realizar ações em seu nome. Por exemplo, a função de serviço permite que o Automation crie uma nova AMI ao executar a ação `aws:createImage` em um runbook. Para esse parâmetro, o ARN completo deve ser especificado.  | 
|  TargetAmiName  |  String  |  (Opcional) O nome da nova AMI após a sua criação. O nome padrão é uma string gerada pelo sistema que inclui o ID da AMI de origem, bem como a data e a hora de criação.  | 
|  InstanceType  |  String  |  (Opcional) O tipo de instância a ser executada como o host do espaço de trabalho. Os tipos de instância variam de acordo com a região. O tipo padrão é t2.medium.  | 
|  PreUpdateScript  |  String  |  (Opcional) Um script a ser executado antes de atualizar a AMI. Insira um script no runbook ou no runtime como um parâmetro.  | 
|  PostUpdateScript  |  String  |  (Opcional) Um script a ser executado depois de atualizar a AMI. Insira um script no runbook ou no runtime como um parâmetro.  | 
|  IncludeKbs  |  String  |  (Opcional) Especifique um ou mais IDs de artigo da Base de Dados de Conhecimento Microsoft (KB) para incluir. Você pode instalar vários IDs usando valores separados por vírgulas. Formatos válidos: KB9876543 ou 9876543.  | 
|  ExcludeKbs  |  String  |  (Opcional) Especifique um ou mais IDs de artigo da Base de Dados de Conhecimento Microsoft (KB) para excluir. Você pode excluir vários IDs usando valores separados por vírgulas. Formatos válidos: KB9876543 ou 9876543.  | 
|  Categorias  |  String  |  (Opcional) Especifique uma ou mais categorias de atualização. Você pode filtrar categorias usando valores separados por vírgulas. Opções: Atualização crítica, Atualização de segurança, Atualização de definição, Pacote de atualizações, Pacote de serviços, Ferramenta, Atualização ou Driver. Os formatos válidos incluem uma única entrada, por exemplo: Atualização crítica. Como alternativa, você pode especificar uma lista separada por vírgulas: Atualização crítica, Atualização de segurança, Atualização de definição.  | 
|  SeverityLevels  |  String  |  (Opcional) Especifique um ou mais níveis de gravidade MSRC associados a uma atualização. Você pode filtrar os níveis de gravidade usando valores separados por vírgulas. Opções: Crítica, Importante, Baixa, Moderada ou Não especificada. Os formatos válidos incluem uma única entrada, por exemplo: Crítica. Como alternativa, você pode especificar uma lista separada por vírgulas: Crítica, Importante, Baixa.  | 

**Etapas da Automação**  
O runbook `AWS-UpdateWindowsAmi` inclui as seguintes etapas, por padrão.

**Etapa 1: launchInstance (ação `aws:runInstances`)**  
Esta etapa executa uma instância com uma função de perfil da instância do IAM no especificado `SourceAmiID`.

**Etapa 2: runPreUpdateScript (ação `aws:runCommand`)**  
Essa etapa permite especificar um script como uma string que é executada antes que as atualizações sejam instaladas.

**Etapa 3: updateEC2Config (ação `aws:runCommand`)**  
Esta etapa usa o runbook `AWS-InstallPowerShellModule` para baixar um módulo PowerShell público da AWS. O Systems Manager verifica a integridade do módulo usando um hash SHA-256. Em seguida, o Systems Manager verifica o sistema operacional para determinar se deve atualizar EC2Config ou EC2Launch. EC2Config é executado no Windows Server 2008 R2 até o Windows Server 2012 R2. EC2Launch é executado no Windows Server 2016.

**Etapa 4: updateSSMAgent (ação `aws:runCommand`)**  
Esta etapa atualiza o SSM Agent usando o runbook `AWS-UpdateSSMAgent`.

**Etapa 5: updateAWSPVDriver (ação `aws:runCommand`)**  
Esta etapa atualiza os drivers de rede do AWS PV usando o runbook `AWS-ConfigureAWSPackage`.

**Etapa 6: updateAwsEnaNetworkDriver (ação `aws:runCommand`)**  
Esta etapa atualiza os drivers de rede do AWS ENA usando o runbook `AWS-ConfigureAWSPackage`.

**Etapa 7: installWindowsUpdates (ação `aws:runCommand`) **  
Essa etapa instala atualizações do Windows usando o runbook `AWS-InstallWindowsUpdates`. Por padrão, o Systems Manager procura e instala todas as atualizações ausentes. Você pode alterar o comportamento padrão especificando um dos seguintes parâmetros: `IncludeKbs`, `ExcludeKbs`, `Categories` ou `SeverityLevels`. 

**Etapa 8: runPostUpdateScript (ação `aws:runCommand`)**  
Essa etapa permite especificar um script como uma string que é executada após a instalação das atualizações.

**Etapa 9: runSysprepGeneralize (ação `aws:runCommand`) **  
Esta etapa usa o runbook `AWS-InstallPowerShellModule` para baixar um módulo PowerShell público da AWS. O Systems Manager verifica a integridade do módulo usando um hash SHA-256. Em seguida, o Systems Manager executa o sysprep usando métodos com suporte da AWS para EC2Launch (Windows Server 2016) ou EC2Config (Windows Server 2008 R2 a 2012 R2).

**Etapa 10: stopInstance (ação `aws:changeInstanceState`) **  
Essa etapa interrompe a instância atualizada. 

**Etapa 11: createImage (ação `aws:createImage`) **  
Essa etapa cria uma nova AMI com um nome descritivo que a vincula ao ID de origem e ao horário de criação. Por exemplo: “AMI Generated by EC2 Automation on \$1\$1global:DATE\$1TIME\$1\$1 from \$1\$1SourceAmiId\$1\$1” em que DATE\$1TIME e SourceID representam variáveis de Automação.

**Etapa 12: TerminateInstance (ação `aws:changeInstanceState`) **  
Essa etapa limpa a automação, encerrando a instância em execução. 

**Output**  
Essa seção permite designar as saídas de várias etapas ou valores de qualquer parâmetro como saída da Automação. Por padrão, o resultado é o ID da AMI do Windows atualizada, criada pela automação.

**nota**  
Por padrão, quando o Automation executa o runbook `AWS-UpdateWindowsAmi` e cria uma instância temporária, o sistema usa a VPC padrão (172.30.0.0/16). Se tiver excluído a VPC padrão, você receberá o seguinte erro:  
VPC não definida 400  
Para resolver esse problema, você deve fazer uma cópia do runbook `AWS-UpdateWindowsAmi` e especificar um ID de sub-rede. Para obter mais informações, consulte [VPC não definida 400](automation-troubleshooting.md#automation-trbl-common-vpc).

**Para criar uma AMI Windows com patch aplicado usando o Automation**

1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

   Para obter informações, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Execute o comando a seguir para executar o runbook `AWS-UpdateWindowsAmi`. Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações. O exemplo de comando abaixo usa uma AMI recente do Amazon EC2 para minimizar o número de patches que precisam ser aplicados. Se você executar esse comando mais de uma vez, deverá especificar um valor exclusivo para `targetAMIname`. Os nomes da AMI deverão ser exclusivos.

   ```
   aws ssm start-automation-execution \
       --document-name="AWS-UpdateWindowsAmi" \
       --parameters SourceAmiId='AMI ID',IamInstanceProfileName='IAM instance profile',AutomationAssumeRole='arn:aws:iam::{{global:ACCOUNT_ID}}:role/AutomationServiceRole'
   ```

   O comando retorna um ID de execução. Copie esse ID para a área de transferência. Você usará esse ID para visualizar o status da automação.

   ```
   {
       "AutomationExecutionId": "automation execution ID"
   }
   ```

1. Para visualizar a automação usando a AWS CLI, execute o seguinte comando:

   ```
   aws ssm describe-automation-executions
   ```

1. Para visualizar detalhes sobre o andamento da automação, execute o comando a seguir.

   ```
   aws ssm get-automation-execution 
       --automation-execution-id automation execution ID
   ```

**nota**  
Dependendo do número de patches aplicados, o processo de aplicação de patches do Windows, executado nessa automação de amostra, poderá demorar 30 minutos ou mais para ser concluído.