Compartilhar via


Migração usando scripts de runbook automatizados

Aplica-se a: ✔️ VMs do Windows ✔️ VMs do Linux ✔️ Ambiente local ✔️ Servidores habilitados para o Azure Arc

Este artigo mostra como você pode você pode migrar automaticamente todas as cargas de trabalho (máquinas e agendas) do Gerenciamento de Atualizações de Automação para o Gerenciador de Atualizações do Azure usando runbooks de migração.

As próximas seções detalham como executar o script, o que ele faz no back-end, o comportamento esperado e quaisquer limitações que possam existir. O script pode migrar todos os computadores e agendamentos em uma conta de automação de uma só vez. Se você tiver várias contas de automação, deverá executar o runbook para todas as contas de automação.

Em um alto nível, você precisa seguir as etapas abaixo para migrar seus computadores e agendamentos do Gerenciamento de Atualizações de Automação para o Gerenciador de Atualizações do Azure.

Cenários sem suporte

  • Consultas de Pesquisa Não Salvas do Azure não serão migradas; elas precisam ser migradas manualmente.

Para ver a lista completa de limitações e itens a serem observados, confira os pontos-chave na migração

Guia passo a passo

As informações mencionadas em cada uma das etapas acima são explicadas em detalhes abaixo.

Pré-requisito 1: integrar computadores que não são do Azure ao Arc

O que fazer

O runbook de automação de migração ignora os recursos que não estão integrados ao Arc. Portanto, é um pré-requisito integrar todos os computadores que não são do Azure ao Azure Arc antes de executar o runbook de migração. Siga as etapas para integrar computadores ao Azure Arc.

Pré-requisito 2: criar atribuições de função e identidade do usuário executando o script do PowerShell

R. Pré-requisitos para executar o script

  • Execute o comando Install-Module -Name Az -Repository PSGallery -Force no PowerShell. O script de pré-requisito depende do Az.Modules. Essa etapa será necessária se o Az.Modules não estiver presente ou atualizado.
  • Para executar esse script de pré-requisito, você precisa ter permissões Microsoft.Authorization/roleAssignments/write em todas as assinaturas que contêm recursos de Gerenciamento de Atualizações de Automação, como computadores, agendamentos, workspace do Log Analytics e conta de automação. Confira como atribuir uma função do Azure.
  • Você precisa ter as permissões de Gerenciamento de Atualizações.

Captura de tela mostrando como executar o comando para instalar o módulo.

B. Executar o script

Baixe e execute o script MigrationPrerequisiteScript do PowerShell localmente. Este script usa AutomationAccountResourceId da conta de Automação para ser migrado e AutomationAccountAzureEnvironment como as entradas. Os valores aceitos para AutomationAccountAzureEnvironment são AzureCloud, AzureUSGovernment e AzureChina, que significam a nuvem à qual a conta de automação pertence.

Captura de tela mostrando como baixar e executar o script.

Você pode buscar AutomationAccountResourceId acessando Conta de Automação>Propriedades.

Captura de tela mostrando como buscar a ID do recurso.

C. Verificar

Depois de executar o script, verifique se uma identidade gerenciada pelo usuário foi criada na conta de automação. Conta de Automação>Identidade>Atribuída pelo usuário.

Captura de tela mostrando como verificar se uma identidade gerenciada pelo usuário foi criada.

D. Operações de back-end pelo script

  • Atualizar os Az.Modules para a conta de Automação, que será necessária para executar scripts de migração e remoção.

  • Cria uma variável de automação com o nome AutomationAccountAzureEnvironment que armazenará o Ambiente de Nuvem do Azure ao qual a Conta de Automação pertence.

  • Criação da Identidade do Usuário na mesma assinatura e grupo de recursos que a Conta de Automação. O nome da Identidade do Usuário será como AutomationAccount_aummig_umsi.

  • Anexando a Identidade do Usuário à Conta de Automação.

  • O script atribui as seguintes permissões à identidade gerenciada pelo usuário: permissões de Gerenciamento de Atualizações necessárias.

    1. Para isso, o script buscará todos os computadores integrados ao Gerenciamento de Atualizações de Automação nessa conta de automação e analisará as respectivas IDs de assinatura que deverão receber o RBAC necessário para a Identidade do Usuário.
    2. O script fornece um RBAC adequado para a Identidade do Usuário na assinatura à qual a conta de automação pertence para que as configurações do MRP possam ser criadas aqui.
    3. O script atribuirá as funções necessárias para a solução e o workspace do Log Analytics.
  • Registro de assinaturas necessárias para Provedores de Recursos Microsoft.Maintenance e Microsoft.EventGrid.

Etapa 1: Migração de computadores e agendamentos

Essa etapa envolve o uso de um runbook de automação para migrar todos os computadores e agendas de uma conta de automação para o Gerenciador de Atualizações do Azure.

Siga estas etapas:

  1. Importe o runbook de migração da galeria de runbooks e publique-o. Pesquise atualização de automação do Azure na galeria de navegação e importe o runbook de migração chamado Migrar do Gerenciamento de Atualizações de Automação do Azure para o Azure Update Manager e publique o runbook.

    Captura de tela mostrando como migrar do Gerenciamento de Atualizações de Automação.

    O Runbook dá suporte ao PowerShell 5.1.

    Captura de tela mostrando como o runbook dá suporte ao PowerShell 5.1 durante a importação.

  2. Defina o log detalhado como True para o runbook.

    Captura de tela mostrando como definir registros de log detalhados.

  3. Execute o runbook e passe os parâmetros necessários, como AutomationAccountResourceId, UserManagedServiceIdentityClientId etc.

    Captura de tela mostrando como executar o runbook e repassar os parâmetros necessários.

    1. Você pode buscar AutomationAccountResourceId acessando Conta de Automação>Propriedades.

      Captura de tela mostrando como buscar a ID do recurso da conta de Automação.

    2. Você pode buscar UserManagedServiceIdentityClientId de Conta de Automação>Identidade>Atribuído pelo Usuário>Identidade>Propriedades>ID do cliente.

      Captura de tela mostrando como buscar a ID do cliente.

    3. Definir EnablePeriodicAssessmentForMachinesOnboardedToUpdateManagement para TRUE habilitaria a propriedade de avaliação periódica em todos os computadores integrados ao Gerenciamento de Atualizações de Automação.

    4. Definir MigrateUpdateSchedulesAndEnablePeriodicAssessmentonLinkedMachines para TRUE migraria todos os agendamentos de atualização no Gerenciamento de Atualizações de Automação para o Gerenciador de Atualizações do Azure e também ativaria a propriedade de avaliação periódica para True em todos os computadores vinculados a esses agendamentos.

    5. Você precisa especificar ResourceGroupForMaintenanceConfigurations, em que todas as configurações de manutenção no Gerenciador de Atualizações do Azure seriam criadas. Se você fornecer um novo nome, um grupo de recursos será criado onde todas as configurações de manutenção seriam criadas. No entanto, se você fornecer um nome com o qual já existe um grupo de recursos, todas as configurações de manutenção serão criadas no grupo de recursos existente.

  4. Verifique os Logs de Runbook do Azure quanto ao status de execução e de migração dos SUCs.

    Captura de tela mostrando os logs do runbook.

Operações do runbook no back-end

A migração do runbook realiza as seguintes tarefas:

  • Habilita a avaliação periódica em todos os computadores.
  • Todos os agendamentos na conta de automação são migrados para o Gerenciador de Atualizações do Azure e uma configuração de manutenção correspondente é criada para cada um deles, tendo as mesmas propriedades.

Sobre o script

O seguinte é o comportamento do script de migração:

  • Verifique se um grupo de recursos com o nome usado como entrada já está presente na assinatura da conta de automação ou não. Caso contrário, crie um grupo de recursos com o nome especificado pelo cliente. Esse grupo de recursos será usado para criar as configurações do MRP para a V2.

  • A configuração RebootOnly não está disponível no Gerenciador de Atualizações do Azure. Os agendamentos com a configuração RebootOnly não são migrados.

  • Filtre os SUCs que estão no estado com erro/expirado/provisioningFailed/desabilitado, marque-os como não migrados e imprima os logs apropriados indicando que esses SUCs não foram migrados.

  • O nome da atribuição de configuração é uma cadeia de caracteres que estará no formato AUMMig_AAName_SUCName

  • Descubra se esse Escopo Dinâmico já está ou não atribuído à configuração de Manutenção, verificando no Azure Resource Graph. Se não estiver atribuído, atribua apenas com o nome da atribuição no formato AUMMig_ AAName_SUCName_SomeGUID.

  • Para agendamentos com tarefas pré/pós configuradas, o script criará um webhook de automação para os runbooks dessas tarefas e assinaturas da Grade de Eventos para eventos de pré/pós manutenção. Para obter mais informações, consulte como o pré/pós funciona no Gerenciador de Atualizações do Azure

  • Um conjunto resumido de logs é impresso no fluxo de saída para fornecer um status geral de computadores e SUCs.

  • Os logs detalhados estão impressos no Fluxo Detalhado.

  • Após a migração, uma Configuração de Atualização de Software pode ter qualquer um dos quatro seguintes status de migração:

    • MigrationFailed
    • PartiallyMigrated
    • NotMigrated
    • Migrado

A tabela abaixo mostra os cenários associados a cada Status de Migração.

MigrationFailed PartiallyMigrated NotMigrated Migrado
Falha ao criar a Configuração de Manutenção para a Configuração de Atualização de Software. Número diferente de zero de computadores em que as Configurações de Patch não foram aplicadas. Falha ao obter a configuração de atualização de software da API devido a algum erro de cliente/servidor, como talvez erro de serviço interno.
Número diferente de zero de computadores com atribuições de configuração com falha. A Configuração de Atualização de Software está tendo a configuração de reinicialização apenas como reinicialização. Não há suporte para isso atualmente no Gerenciador de Atualizações do Azure.
Falha na resolução do número diferente de zero de consultas dinâmicas que falharam ao executar a consulta no Azure Resource Graph.
Número diferente de zero de falhas de atribuição de configuração de escopo dinâmico. A Configuração de Atualização de Software não está tendo o estado de provisionamento bem-sucedido no BD.
A Configuração de Atualização de Software está tendo consultas de pesquisa salvas. A Configuração de Atualização de Software está em estado de erro no BD.
A Configuração de Atualização de Software tem tarefas pré/pós que não foram migradas com sucesso. O agendamento associado à Configuração de Atualização de Software já expirou no momento da migração.
O agendamento associado à Configuração de Atualização de Software está desabilitado.
Exceção sem tratamento durante a migração da configuração de atualização de software. Zero computadores em que as Configurações de Patch não foram aplicadas.

And

Zero computadores com atribuições de configuração com falha.

And

Falha na resolução de zero de consultas dinâmicas que falharam ao executar a consulta no Azure Resource Graph.

And

Zero de falhas de atribuição de configuração de escopo dinâmico.

And

A Configuração de Atualização de Software tem zero consultas de pesquisa salvas.

Para descobrir na tabela acima quais cenários/cenário correspondem ao motivo pelo qual a configuração de atualização de software tem um status específico, examine os logs detalhados/com falha/aviso para obter o código de erro e a mensagem de erro.

Você também pode pesquisar com o nome do agendamento de atualização para obter logs específicos a ele para depuração.

Captura de tela mostrando como ver logs específicos para depuração.

Etapa 2: Retirada da solução Gerenciamento de Atualizações de Automação

Siga estas etapas:

  1. Importe o runbook de migração da galeria de runbooks. Pesquise por atualização de automação do Azure na galeria de navegação e importe o runbook de migração chamado Retirar do Gerenciamento de Atualizações de Automação do Azure e publique o runbook.

    Captura de tela mostrando como importar o runbook de migração de para o desprovisionamento.

    O Runbook dá suporte ao PowerShell 5.1.

    Captura de tela mostrando que o runbook dá suporte ao PowerShell 5.1 durante o desprovisionamento.

  2. Defina o log detalhado como True para o runbook.

    Captura de tela mostrando a configuração de registros de log detalhados durante o desprovisionamento.

  3. Inicie o runbook e passe parâmetros como Automation AccountResourceId, UserManagedServiceIdentityClientId etc.

    Captura de tela mostrando como iniciar o runbook e repassar parâmetros durante o desprovisionamento.

    Você pode buscar AutomationAccountResourceId acessando Conta de Automação>Propriedades.

    Captura de tela mostrando como buscar a ID do recurso durante o desprovisionamento.

    Você pode buscar UserManagedServiceIdentityClientId de Conta de Automação>Identidade>Atribuído pelo Usuário>Identidade>Propriedades>ID do cliente.

    Captura de tela mostrando como buscar a ID do cliente durante o desprovisionamento.

  4. Verifique os logs de runbook do Azure para obter o status de retirada de computadores e agendamentos.

    Captura de tela mostrando como o runbook é logs durante o desprovisionamento.

Operações de script de retirada no back-end

  • Desabilite todos os agendamentos subjacentes para todas as configurações de atualização de software presentes nesta conta de Automação. Isso é feito para garantir que o Runbook Patch-MicrosoftOMSComputers não seja disparado para SUCs que foram parcialmente migrados para V2.
  • Exclua a solução de atualizações do workspace do Log Analytics vinculado para a conta de automação que está sendo retirada do Gerenciamento de Atualizações de Automação na V1.
  • Um log resumido de todos os SUCs desabilitados e o status da remoção da solução de atualizações do workspace vinculado do Log Analytics também são impressos no fluxo de saída.
  • Logs detalhados são impressos nos fluxos detalhados.

Próximas etapas