Compartilhar via


Upgrade automático de extensão para máquinas virtuais e conjuntos de dimensionamento no Azure

O upgrade automático de extensão está disponível para Máquinas Virtuais do Azure e Conjuntos de Dimensionamento de Máquinas Virtuais do Microsoft Azure. Quando a Atualização Automática de Extensão está habilitada em uma VM (máquina virtual) ou em um conjunto de dimensionamento, o Azure monitora automaticamente as novas versões de extensão, avalia a qualidade e a segurança da nova versão, aprova a versão para distribuição e atualiza automaticamente todas as VMs usando a extensão. O Azure atualiza todas as VMs gradualmente seguindo o SDP (Práticas de Implantação Segura) para evitar que a versão inválida cause interrupção e garanta alta disponibilidade para aplicativos. Essa distribuição gradual pode levar de 1 a 2 meses para ser concluída com base no tempo necessário para avaliação, na gravidade da atualização e na escala das VMs necessárias para serem atualizadas.

A Atualização Automática de Extensão tem os seguintes recursos:

  • Há suporte para VMs do Azure, conjuntos de dimensionamento de máquinas virtuais, e Arc VMs.
  • As atualizações são aplicadas em um modelo de implantação com disponibilidade em primeiro lugar seguindo as (Práticas de Implantação Segura)[/azure/well-architected/operational-excellence/safe-deployments] (SDP).
  • Para um conjunto de dimensionamento de máquinas virtuais, por padrão, não mais que 20% das VMs do conjunto de dimensionamento são atualizadas em um único lote. Esse tamanho de lote pode ser alterado definindo a Política de Atualização Sem Interrupção do VMSS.
  • Para VMs do Azure e VMs do Arc, no máximo 20% das VMs são atualizadas em um único lote. Esse tamanho de lote não pode ser alterado.
  • Todas as atualizações com falha são revertidas automaticamente para tentar trazer a VM de volta ao estado íntegro.
  • Todas as atualizações são sem reinicialização. Portanto, a VM não precisa de uma reinicialização após a atualização.
  • Todos os tamanhos de VM têm suporte.
  • As extensões do Windows e do Linux são compatíveis.
  • As atualizações automáticas são habilitadas por padrão na versão 2025-04-01inicial da API.
  • Cada extensão suportada é inscrita individualmente. Você pode escolher quais extensões receberão o upgrade automaticamente.
  • Há suporte para todas as regiões de nuvem pública, soberana e isolada.

Como funciona a Atualização Automática de Extensão?

O processo de atualização de extensão remove a extensão existente em uma VM e reinstala a extensão com a nova versão.

  1. Quando o editor de extensão publica uma nova versão da mesma extensão, o Azure detecta a nova versão e inicia um processo de avaliação de qualidade. Esse processo valida a versão para atualizações seguras, de qualidade e de segurança sem falhas. A versão é aprovada para distribuição depois de passar na avaliação.
  2. O Azure começa com uma região ou zona (a distribuição começa na região canário) e, quando estiver completamente atualizada, avança para a próxima região ou zona.
  3. Em uma região/zona, o Azure agrupa VMs em lotes menores (com base em políticas de atualização padrão ou sem interrupção) e atualiza um lote por vez. O Azure passará para o próximo lote depois que o lote anterior for atualizado com êxito.
  4. O Azure monitora a integridade da VM e do aplicativo (usando a extensão de integridade do aplicativo) após a atualização para detectar falhas. Se a VM não estiver íntegra dentro de cinco minutos após a atualização, a atualização será revertida e a versão anterior da extensão será instalada. A atualização é repetida automaticamente após algum tempo sem a necessidade de intervenção do cliente.

Atualizações priorizando primeiro a disponibilidade

O modelo de upgrades orquestrados por plataforma que coloca a disponibilidade em primeiro lugar garante que as configurações de disponibilidade no Azure sejam respeitadas nos diversos níveis de disponibilidade.

Durante o processo de upgrade de um grupo de VMs, a plataforma do Azure orquestra esses upgrades entre regiões, dentro de uma mesma região e até dentro de um conjunto.

Entre regiões

  • Um upgrade se movimenta pelo Azure globalmente em fases para evitar falhas de implantação no Azure inteiro.
  • As fases de upgrade podem incluir uma ou mais regiões, e só avançam quando as VMs qualificadas da fase anterior recebem o upgrade com sucesso.
  • As regiões emparelhadas geograficamente não são atualizadas simultaneamente e não podem estar na mesma fase regional.
  • O sucesso de um upgrade é medido pelo acompanhamento da integridade de uma VM após o upgrade. A integridade da VM é monitorada por meio de indicadores de integridade da plataforma para a VM (Integridade da VM e Integridade do Aplicativo relatadas pela Extensão de Integridade do Aplicativo)

Dentro de uma região

  • As VMs em zonas de disponibilidade diferentes não recebem o upgrade simultaneamente com o mesmo upgrade.
  • VMs isoladas que não fazem parte de um conjunto de disponibilidade são agrupadas da melhor maneira possível para evitar upgrades simultâneos de todas as VMs em uma assinatura.

Dentro de um conjunto

  • Todas as VMs em um conjunto de disponibilidade ou conjunto de dimensionamento comum não fazem upgrade simultaneamente.
  • As VMs em um conjunto de disponibilidade comum recebem o upgrade dentro dos limites do domínio de atualização. As VMs em vários domínios de atualização não recebem o upgrade simultaneamente.
  • As VMs em um conjunto de dimensionamento de máquinas virtuais comum são agrupadas em lotes e recebem o upgrade dentro dos limites do domínio de atualização. As políticas de atualização definidas no conjunto de escalas são seguidas durante a atualização. Cada grupo recebe o upgrade usando a estratégia de upgrade sem interrupção.

Processo de upgrade para conjuntos de dimensionamento de máquinas virtuais

  • Antes de iniciar o processo de atualização, o orquestrador verifica se no máximo 20% das VMs em todo o conjunto de dimensionamento não estão íntegras (por qualquer motivo).
  • O orquestrador de atualização identifica o lote de instâncias de VM a ser atualizado. Um lote de upgrade pode ter no máximo 20% do número total de VMs, sujeito a um tamanho mínimo de lote de uma VM. O orquestrador leva em consideração a política de upgrade e as zonas de disponibilidade enquanto o lote é identificado.
  • Após a atualização, a integridade da VM é sempre monitorada antes de passar para o próximo lote. Para conjuntos de dimensionamento com as investigações de integridade do aplicativo configuradas ou a extensão de Integridade do Aplicativo, a integridade do aplicativo também é monitorada. O upgrade aguarda até 5 minutos (ou a configuração da investigação de integridade definida) para que a VM retorno ao estado íntegro antes de fazer o upgrade do próximo lote. Se uma VM não recuperar sua integridade após um upgrade, por padrão, a versão da extensão anterior na VM será reinstalada.
  • O orquestrador de atualização também acompanha o percentual das VMs que se tornarão não íntegras após uma atualização. A atualização é interrompida se mais de 20% das instâncias atualizadas se tornarem não íntegras durante o processo de atualização.

Esse processo continua até que todas as instâncias no conjunto de dimensionamento sejam atualizadas.

O orquestrador de atualização do conjunto de dimensionamento verifica a integridade geral do conjunto de dimensionamento antes de atualizar cada lote. Durante o upgrade de um lote, outras atividades simultâneas de manutenção, planejadas ou não, podem afetar a integridade das VMs no seu conjunto de dimensionamento. Nesses casos, se mais de 20% das instâncias do conjunto de dimensionamento não estiverem íntegras, o upgrade do conjunto de dimensionamento será interrompido ao final do lote atual.

Extensões com suporte

Para verificar se suas extensões são suportadas para atualização automática, visualize o status da Atualização Automática no Portal do Azure - lâmina Extensão.

Captura de tela que mostra se há suporte à extensão para atualização automática no portal do Azure.

A seguir estão as extensões populares com suporte para atualizações automáticas (e mais são adicionadas periodicamente):

Publisher Tipo
Microsoft.Azure.Automation.HybridWorker HybridWorkerForLinux
Microsoft.Azure.Automation.HybridWorker HybridWorkerForWindows
Microsoft.Azure.AzureDefenderForSQL AdvancedThreatProtection.Windows
Microsoft.Azure.AzureDefenderForSQL VulnerabilityAssessment.Windows
Microsoft.Azure.AzureDefenderForServers MDE.Linux
Microsoft.Azure.AzureDefenderForServers MDE.Windows
Microsoft.Azure.ChangeTrackingAndInventory ChangeTracking-Linux
Microsoft.Azure.ChangeTrackingAndInventory ChangeTracking-Windows
Microsoft.Azure.Diagnostics LinuxDiagnostic
Microsoft.Azure.Extensions.Edp LinuxHibernateTestExtension
Microsoft.Azure.Extensions.Edp WindowsHibernateTestExtension
Microsoft.Azure.FleetDiagnostics FleetDiagnosticsForWindows
Microsoft.Azure.Geneva GenevaMonitoring
Microsoft.Azure.KeyVault KeyVaultForLinux
Microsoft.Azure.KeyVault KeyVaultForWindows
Microsoft.Azure.Labservices Agent.Linux
Microsoft.Azure.Labservices Agent.Windows
Microsoft.Azure.Monitor AzureMonitorLinuxAgent
Microsoft.Azure.Monitor AzureMonitorWindowsAgent
Microsoft.Azure.Monitoring.DependencyAgent.EDP DependencyAgentLinux
Microsoft.Azure.Monitoring.DependencyAgent.EDP DependencyAgentWindows
Microsoft.Azure.Monitoring.DependencyAgent DependencyAgentLinux
Microsoft.Azure.Monitoring.DependencyAgent DependencyAgentWindows
Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux
Microsoft.Azure.NetworkWatcher NetworkWatcherAgentWindows
Microsoft.Azure.Networking.DNS DNSClientCache
Microsoft.Azure.SCOMMI GatewayServer
Microsoft.Azure.SCOMMI WindowsAgent
Microsoft.Azure.Security.AntimalwareSignature AntimalwareConfiguration
Microsoft.Azure.Security.Dsms DSMSForWindows
Microsoft.Azure.Security.LinuxAttestation GuestAttestation
Microsoft.Azure.Security.Monitoring AzureSecurityLinuxAgent
Microsoft.Azure.Security.Monitoring AzureSecurityWindowsAgent
Microsoft.Azure.Security.WindowsAttestation GuestAttestation
Microsoft.Azure.Security.WindowsCodeIntegrity CodeIntegrityAgent
Microsoft.Azure.ServiceFabric ServiceFabricLinuxNode
Microsoft.Azure.Watson WatsonLinuxAgent
Microsoft.Azure.Workloads MonitoringExtensionLinux
Microsoft.Azure.Workloads MonitoringExtensionWindows
Microsoft.CPlat.Core LinuxHibernateExtension
Microsoft.CPlat.Core WindowsHibernateExtension
Microsoft.CPlat.ProxyAgent ProxyAgentLinux
Microsoft.CPlat.ProxyAgent ProxyAgentWindows
Microsoft.EnterpriseCloud.Monitoring MicrosoftMonitoringAgent
Microsoft.EnterpriseCloud.Monitoring OmsAgentForLinux
Microsoft.GuestConfiguration ConfigurationForLinux
Microsoft.GuestConfiguration ConfigurationForWindows
Microsoft.ManagedServices ApplicationHealthLinux
Microsoft.ManagedServices ApplicationHealthWindows
Microsoft.OSTCExtensions DSCForLinux
Microsoft.Sentinel.AzureMonitorAgentExtensions MicrosoftDnsAgent
Microsoft.SqlServer.Management SqlIaaSAgent
Microsoft.SqlServer.Management SqlIaaSAgentLinux

Habilitar a upgrade automático de extensão

Para habilitar o Upgrade Automático de Extensão, você deve garantir que a propriedade enableAutomaticUpgrade esteja definida como true e adicionada individualmente a cada definição de extensão.

Use o Portal do Azure

No portal do Azure, use o painel Extensão para habilitar a atualização automática de extensões em VMs existentes e conjuntos de dimensionamento de máquinas virtuais.

  1. Vá para o painel Máquinas Virtuais ou Conjuntos de Dimensionamento de Máquinas Virtuais e selecione o nome do recurso.

  2. Em Configurações, vá para o painel Extensões + aplicativos , que mostra todas as extensões instaladas no recurso. A coluna Status de upgrade automático mostra se o upgrade automático da extensão está habilitado, desabilitado ou sem suporte.

  3. Selecione o nome da extensão para abrir o painel detalhes de Extensões .

    Captura de tela que mostra o painel Extensões do portal do Azure.

  4. Selecione Habilitar upgrade automático para habilitar o upgrade automático da extensão. Use este botão para desabilitar um upgrade automática, se necessário.

    Captura de tela que mostra Habilitar upgrade automática no portal do Azure.

Para máquinas virtuais

Para habilitar o upgrade automático de extensão (neste exemplo, a extensão do Dependency Agent) em uma VM do Azure, use a seguinte chamada:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
{    
    "name": "extensionName",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "<location>",
    "properties": {
        "autoUpgradeMinorVersion": true,
        "enableAutomaticUpgrade": true, 
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentWindows",
        "typeHandlerVersion": "9.5"
        }
}

Para conjuntos de dimensionamento de máquinas virtuais

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
{
   "location": "<location>",
   "properties": {
   	    "virtualMachineProfile": {
            "extensionProfile": {
       	        "extensions": [
            	{
                "name": "<extensionName>",
            	  "properties": {
             		    "autoUpgradeMinorVersion": true,
             		    "enableAutomaticUpgrade": true,
              	    "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
              	    "type": "DependencyAgentWindows",
              	    "typeHandlerVersion": "9.5"
            		}
          	    }
        	    ]
    	    }
    	}
    }
}

Note

Essas operações definem a propriedade enableAutomaticUpgrade como true no recurso do conjunto de dimensionamento de máquinas virtuais, mas não nas VMs subjacentes.

Se o conjunto de dimensionamento de máquinas virtuais definir o modo de upgrade automático ou contínuo no upgradeProfile, o conjunto de dimensionamento de VMs propagará automaticamente a alteração para cada VM subjacente.

Se o conjunto de dimensionamento de máquinas virtuais definir o modo manual no upgradeProfile, você também precisará fazer o upgrade manual de cada instância e propagar a alteração para cada VM subjacente.


Atualizações de extensão com várias extensões

Uma VM ou um conjunto de dimensionamento de máquinas virtuais pode ter várias extensões com o upgrade automático de extensão habilitado. A mesma VM ou conjunto de dimensionamento também pode ter outras extensões sem o upgrade automático de extensão habilitado.

Se vários upgrades de extensão estiverem disponíveis para uma VM, eles poderão ser agrupados em lote, mas cada upgrade de extensão será aplicado individualmente em uma VM. Uma falha em uma extensão não afeta outras extensões que podem estar recebendo upgrade. Por exemplo, se duas extensões estão agendadas para um upgrade e a primeiro falhar, a segunda extensão ainda receberá o upgrade.

Você também pode aplicar a Atualização Automática de Extensão quando uma VM ou um conjunto de escalonamento de máquinas virtuais tiver várias extensões configuradas com sequenciamento de extensões. O sequenciamento de extensões acontece durante a primeira implantação da VM. Todos os futuros upgrades de extensão são aplicados de forma independente a cada extensão.

Diferença entre EnableAutomaticUpgrade e AutoUpgradeMinorVersion

  • AutoUpgradeMinorVersion:

    • Essa propriedade é usada durante a criação da VM e enquanto você faz o upgrade da VM com uma nova configuração.
    • Quando definido como true, ela garante que a versão secundária mais recente da extensão seja instalada automaticamente na VM.
    • Ela substitui o TypeHandlerVersion com a versão secundária estável mais recente disponível.
    • Ao fazer o upgrade da configuração da VM, uma nova versão secundária disponível será considerada uma alteração de configuração. A extensão será reinstalada com a versão secundária mais recente.
    • Dessa forma, as VMs recém-criadas recebem a versão de extensão secundária estável mais recente.
    • Se você quiser definir manualmente a extensão como uma versão específica, defina essa propriedade como false.
  • EnableAutomaticUpgrade:

    • Essa propriedade afeta as VMs existentes.
    • Isso não afeta a versão instalada durante a criação da VM.
    • Após a criação da VM, se ela não estiver executando a versão secundária mais recente da extensão, habilitar essa propriedade disparará um upgrade automático.
    • Os upgrades não reinicializam a VM e são implementados de maneira segura e contínua. Se um upgrade falhar, ela será revertida imediatamente, garantindo alta disponibilidade e confiabilidade do serviço.
    • As VMs existentes continuam seguras e atualizadas, fazendo o upgrade automático a versão secundária mais recente.

Recomendamos que você ative ambas as propriedades para manter todas as VMs seguras e sempre atualizadas.

Os upgrades para versões principais da extensão nunca são realizadas automaticamente por nenhuma das propriedades, pois as versões principais podem incluir alterações significativas. Você precisa definir a TypeHandlerVersion manualmente como uma versão principal e fazer o upgrade manual de cada VM existente para a versão principal mais recente.

Próxima etapa