Updates com o Azure Update Management

Quando executamos qualquer sistema operacional, um dos requisitos para manter a segurança é a aplicação de patches de atualização, na nuvem não é diferente, o Azure oferece o Azure Update Management, gerenciador de updates que funciona com Windows e Linux.

O Azure Update Management oferece opções de agendamento, logs, possibilidade de executar scripts PowerShell antes e depois do processo, entre outros.

Azure Update Management

O Azure Update Management é um serviço gratuito que a Microsoft oferece no Azure que utiliza dois componentes adicionais, o Azure Monitor e o seu respectivo Log Analytics Workspace para coletar as informações dos servidores, incluindo as informações de updates, e o Azure Automation para orquestração.

Atualmente o Azure Update Management pode encontrar updates para Windows Server 2012, Windows Server 2016 (exceto Core), Windows Server 2019 (inclusive Core) e posteriores, Windows Server 2008 R2, CentOS 6, 7 e 8, Oracle Linux 6.x, 7.x e 8.x, Red Hat Enterprise 6, 7 e 8, SUSE Linux Enterprise Server 12, 15, 15.1 e 15 e Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS e 20.04 LTS. Versões cliente do Windows, não são oficialmente compatíveis.

Conectando servidores ao Azure Update Management

Para o funcionamento dos updates, é necessária instalação de um agente do Log Analytics, porém na maioria dos casos a instalação é feita automaticamente, tanto para Windows quanto para Linux, então não deve ser necessário fazer a sua instalação manualmente. Para adicionar um servidor a um Workspace do Log Analytics, abra o Workspace, na seção Workspace Data Sources clique em Virtual Machines, selecione a VM que deseja adicionar e clique em Connect.

Adicionando servidores ao Azure Automation

Antes de adicionar servidores ao Azure Automation é começar a configurar orquestração, é preciso criar uma conta do Azure Automation, um resource do tipo Automation. Escolha o Name, Subscription, Resource group, Location e marque a opção Create Azure Run As account como YES, essa configuração é fundamental para que Runbooks de inicialização e desligamento da VM rodem corretamente.

Após a criação, acesse a Automation Account e a opção Update management, clique em Add Azure VMs para adicionar uma VM ao serviço. Essa é apenas uma das formas de adicionar VMs ao Azure Update Management, na documentação da Microsoft você pode encontrar mais detalhes.

Criar um plano de instalação de updates

Após a configuração dos requisitos para o funcionamento do serviço, é possível configurar um schedule para update dos servidores. Essa ação pode ser feita pela Automation Account ou pela VM, pela Automation Account é possível criar agendamento para um grupo de máquinas com o mesmo tipo de sistema operacional (Windows ou Linux), pela VM só é possível criar agendamento para a mesma, no exemplo, criaremos via Automation Account.

Clique em Schedule update deployment, defina um nome, qual é sistema operacional, na opção Groups to update é possível aplicar um filtro para selecionar várias máquinas do mesmo sistema operacional, na opção Machines to update as VMs podem ser selecionadas individualmente. O próximo item é Update classifications, para Windows existem diversas opções, para Linux somente 2, escolha de acordo com a necessidade, você também pode selecionar KBs ou pacotes especificos para atualizar ou excluir da atualização na opção Include/exclude updates. Em Schedule settings é realizado agendamento do processo, pode ser executado uma única vez ou de forma recorrente. A opção Pre-scrips + Pos-scripts pode ser utilizada para ligar a máquina antes do update e desligar após, por exemplo. Em Maintenence window você define o tempo máximo que o processo irá executar, o mínimo são 30 minutos e o máximo 6 horas e a ultima opção é relacionado a reinicialização ou não após o update.

Ligar e desligar o servidor automaticamente no processo de update

Uma opção interessante para economia e automatização do processo é a utilização de scripts para inicialização e desligamento de VMs. Para executar essas tarefas é necessária importação dos Runbooks Update Management – Turn Off VMs e Update Management – Turn On VMs da galeria. Após a importação, acesse cada um dos Runbooks, edite e publique para que eles fiquem disponíveis na Automation Account.

Depois, em Modules, é necessário importar o módulo ThreadJob, é um requisito para que as VMs liguem e desliguem automaticamente.

Finalmente, para evitar erros dos Runbooks de inicialização e desligamento, também é necessário importar o Update-AutomationAzureModulesForAccount.ps1, baixe para a sua máquina e faça upload para os Runbooks, depois de publicar, execute o script e espere finalizar. Esse script atualiza os módulos do Azure PowerShell importados em uma conta do Azure Automation com a versão dos módulos publicadas no PowerShell Gallery. No momento, essa ação não é possível diretamente pelo Portal do Azure.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.