Migração usando scripts de runbook automatizados

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

Este artigo detalha como, usando runbooks de migração, você pode migrar automaticamente todas as cargas de trabalho (máquinas e agendas) do Automation Update Management para o Azure Update Manager.

As seções a seguir detalham como executar o script, o que o script faz no back-end, o comportamento esperado e quaisquer limitações, se aplicável. O script pode migrar todas as máquinas e agendas em uma conta de automação de uma só vez. Se você tiver várias contas de automação, terá que executar o runbook para todas as contas de automação.

Em um alto nível, você precisa seguir as etapas abaixo para migrar suas máquinas e agendas do Automation Update Management para o Azure Update Manager.

Cenários não suportados

  • As Consultas de Pesquisa Guardadas não-Azure não serão migradas; têm de ser migradas manualmente.

Para obter a lista completa de limitações e itens a serem observados, consulte os principais pontos da 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: Máquinas não Azure integradas ao Arc

O que fazer

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

Pré-requisito 2: Criar Identidade de Usuário e Atribuições de Função executando o script do PowerShell

A. Pré-requisitos para executar o script

  • Execute o comando Install-Module -Name Az -Repository PSGallery -Force no PowerShell. O script de pré-requisito depende de Az.Modules. Esta etapa é necessária se Az.Modules não estiver presente ou atualizado.
  • Para executar esse script de pré-requisito, você deve ter permissões Microsoft.Authorization/roleAssignments/write em todas as assinaturas que contêm recursos do Automation Update Management, como máquinas, agendas, espaço de trabalho de análise de log e conta de automação. Veja como atribuir uma função do Azure.
  • Você deve ter as Permissões de Gerenciamento de Atualizações.

Captura de tela que mostra como o comando para instalar o módulo.

B. Executar o script

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

Captura de tela que mostra como baixar e executar o script.

Você pode buscar AutomationAccountResourceId indo para Propriedades da conta>de automação.

Captura de tela que mostra 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>do usuário atribuída.

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

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

  • Atualização do Az.Modules para a conta de automação, que será necessária para executar scripts de migração e desembarque.

  • 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 de Identidade de Usuário no mesmo grupo de Assinatura e recursos da Conta de Automação. O nome da Identidade de Usuário será como AutomationAccount_aummig_umsi.

  • Anexar a identidade do usuário à conta de automação.

  • O script atribui as seguintes permissões à identidade gerenciada pelo usuário: Update Management Permissions Required.

    1. Para isso, o script busca todas as máquinas integradas ao Automation Update Management sob essa conta de automação e analisa seus IDs de assinatura para receber o RBAC necessário para a Identidade do Usuário.
    2. O script fornece um RBAC adequado à 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 atribui as funções necessárias para o espaço de trabalho e a solução do Log Analytics.
  • Registro das assinaturas necessárias para Microsoft.Maintenance e Microsoft.EventGrid Resource Providers.

Etapa 1: Migração de máquinas e horários

Esta etapa envolve o uso de um runbook de automação para migrar todas as máquinas e agendas de uma conta de automação para o Azure Update Manager.

Siga estes passos:

  1. Importe o runbook de migração da galeria de runbooks e publique. Procure a atualização de automação do Azure na galeria de navegação e importe o runbook de migração chamado Migrar do Azure Automation Update Management para o Azure Update Manager e publique o runbook.

    Captura de tela que mostra como migrar do Automation Update Management.

    O Runbook suporta o PowerShell 5.1.

    Captura de tela que mostra que o runbook suporta o PowerShell 5.1 durante a importação.

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

    Captura de tela que mostra como definir registros de log detalhados.

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

    Captura de tela que mostra como executar o runbook e passar os parâmetros necessários.

    1. Você pode buscar AutomationAccountResourceId em Propriedades da conta>de automação.

      Captura de tela que mostra como buscar o ID do recurso da conta de automação.

    2. Você pode buscar UserManagedServiceIdentityClientId de Automation Account>Identity>User Assigned>Identity>Properties>Client ID.

      Captura de tela que mostra como buscar a ID do cliente.

    3. Definir EnablePeriodicAssessmentForMachinesOnboardedToUpdateManagement como TRUE permitiria a propriedade de avaliação periódica em todas as máquinas integradas ao Automation Update Management.

    4. Definir MigrateUpdateSchedulesAndEnablePeriodicAssessmentonLinkedMachines como TRUE migraria todas as agendas de atualização no Automation Update Management para o Azure Update Manager e também ativaria a propriedade de avaliação periódica para True em todas as máquinas vinculadas a essas agendas.

    5. Você precisa especificar ResourceGroupForMaintenanceConfigurations onde todas as configurações de manutenção no Azure Update Manager seriam criadas. Se você fornecer um novo nome, um grupo de recursos será criado onde todas as configurações de manutenção serão 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 Runbook Logs do Azure para obter o status de execução e migração de SUCs.

    Captura de tela que mostra os logs do runbook.

Operações de runbook em back-end

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

  • Permite a avaliação periódica em todas as máquinas.
  • Todas as agendas na conta de automação são migradas para o Azure Update Manager e uma configuração de manutenção correspondente é criada para cada uma delas, com as mesmas propriedades.

Sobre o roteiro

A seguir está o comportamento do script de migração:

  • Verifique se um grupo de recursos com o nome tomado 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. Este grupo de recursos é usado para criar as configurações MRP para V2.

  • A definição RebootOnly não está disponível no Azure Update Manager. As agendas com a configuração RebootOnly não são migradas.

  • Filtre os SUCs que estão no estado errored/expired/provisioningFailed/disabled e 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á atribuído à configuração de Manutenção ou não, verificando o Azure Resource Graph. Se não for atribuído, atribua apenas com o nome da atribuição no formato AUMMig_ AAName_SUCName_SomeGUID.

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

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

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

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

    • MigraçãoFalhou
    • ParcialmenteMigrado
    • NotMigrou
    • Migrado

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

MigraçãoFalhou ParcialmenteMigrado NotMigrou 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 máquinas 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 cliente/servidor, como talvez erro de serviço interno.
Número diferente de zero de máquinas com atribuições de configuração com falha. A Configuração de Atualização de Software está tendo a configuração de reinicialização como somente reinicialização. Isso não é suportado atualmente no Azure Update Manager.
Falha ao resolver um número diferente de zero de Consultas Dinâmicas que falhou 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 banco de dados.
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 banco de dados.
Configuração de Atualização de Software está tendo tarefas pré/pós que não foram migradas com êxito. A agenda associada à Configuração de Atualização de Software já expirou no momento da migração.
A agenda associada à Configuração de Atualização de Software está desativada.
Exceção não tratada durante a migração da configuração de atualização de software. Zero Máquinas onde as configurações de patch não foram aplicadas.

And

Zero máquinas com atribuições de configuração com falha.

And

Zero Consultas Dinâmicas não conseguiu resolver que falhou ao executar a consulta no Azure Resource Graph.

And

Zero 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 qual cenário/cenários correspondem ao motivo pelo qual a configuração de atualização de software tem um status específico, examine os logs detalhados/falhados/de aviso para obter o código de erro e a mensagem de erro.

Você também pode pesquisar com o nome da agenda de atualização para obter logs específicos para depuração.

Captura de tela que mostra como exibir logs específicos para depuração.

Etapa 2: Desembarque da solução de gerenciamento de atualizações de automação

Siga estes passos:

  1. Importe o runbook de migração da galeria de runbooks. Procure a atualização de automação do azure na galeria de navegação e importe o runbook de migração chamado Deboard do Azure Automation Update Management e publique o runbook.

    Captura de tela que mostra como importar o runbook de migração do deaboard.

    O Runbook suporta o PowerShell 5.1.

    Captura de tela que mostra que o runbook oferece suporte ao PowerShell 5.1 durante o desembarque.

  2. Defina o registro detalhado como true para o runbook.

    Captura de tela que mostra a configuração de registros detalhados de log durante o desembarque.

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

    Captura de tela que mostra como iniciar o runbook e passar parâmetros durante o desembarque.

    Você pode buscar AutomationAccountResourceId em Propriedades da conta>de automação.

    Captura de tela que mostra como buscar o ID do recurso durante o desembarque.

    Você pode buscar UserManagedServiceIdentityClientId de Automation Account>Identity>User Assigned>Identity>Properties>Client ID.

    Captura de tela que mostra como buscar a ID do cliente durante o desembarque.

  4. Verifique os logs de runbook do Azure para obter o status de desembarque de máquinas e agendas.

    Captura de tela que mostra como o runbook registra durante o desembarque.

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

  • Desative todas as agendas subjacentes para todas as configurações de atualização de software presentes nesta conta de automação. Isso é feito para garantir que o Patch-MicrosoftOMSComputers Runbook não seja acionado para SUCs que foram parcialmente migrados para a V2.
  • Exclua a Solução de Atualizações do Espaço de Trabalho do Log Analytics Vinculado para a Conta de Automação que está sendo Desembarcada do Gerenciamento de Atualizações de Automação na V1.
  • Um log resumido de todos os SUCs desativados e o status da solução de remoção de atualizações do espaço de trabalho de análise de log vinculado também é impresso no fluxo de saída.
  • Logs detalhados são impressos nos fluxos detalhados.

Próximos passos