Azure Hybrid Runbook Worker
Os runbooks na Automação do Azure talvez não tenham acesso aos recursos em outras nuvens ou no seu ambiente local por serem executados na plataforma de nuvem do Azure. Você pode usar o recurso Hybrid Runbook Worker da automação do Azure para executar runbooks diretamente de um computador no ambiente On Premise, VM do Azure ou de outros provedores Cloud (AWS, GCP, etc).
Um Hybrid Runbook Worker pode ser executado no sistema operacional Windows ou Linux, e essa função depende do agente de log Analytics reportando para um espaço de trabalho Azure monitor log Analytics para baixar os componentes necessários para instalar o Hybrid Runbook Worker.
Exemplo Real
Em atendimento a um de nossos clientes, encontramos um cenário onde dados personalizados eram armazenados no LogAnalytics, havendo uma necessidade de armazenamento em um prazo de retenção maior que o padrão suportado pelo recurso (até 730 dias com encargos adicionais).
Para atender este requisito foi implantado o Azure Automation Account, contendo um runbook com script PowerShell para coletar estes dados do Log Analytics e enviá-los ao Datalake em uma Storage Account. Com esta ação além da retenção por um período indeterminado de tempo, também era possível usufuir da grande economia no armazenamento destes dados neste recurso.
Certo dia o time de Segurança da Informação identificou um risco: a Storage Account estaria acessível a partir de qualquer rede (inclusive públicas), com isso foi optado pela restrição desta comunicação e habilitado o Firewall da Storage Account. Esta alteração limitou o acesso ao DataLake somente para uma respectiva rede interna do Azure.
Após esta alteração o runbook que estava sendo utilizado através do Azure não foi mais capaz de executar sua tarefa, apresentando o erro 403 em cada tentativa de envio dos dados. Como solução de contorno para este problema, utilizamos a solução do Azure Hybrid Runbook Worker, com uma VM do Azure e na mesma VNet da Storage Account.
Configurações Necessárias
- Criação de novo Log Analytics Workspace;
- Criação de nova Automation Account;
- Link da Automation Account com o Log Analytics;
- Importante: Somente determinadas regiões têm suporte para o vínculo entre o Log Analytics e Automation Account, portanto os dois recursos deverão ser criados em regiões compatíveis (Exemplo: East US e East US2).
- Provisionar uma VM Windows ou Linux;
- Observação: As VMs devem ser criadas na mesma Região/vNet da Storage Account a ser alcançada;
- Instalação de Agente do Log Analytics na VM;
- Registro da VM no Hybrid Worker Group;
- Configuração do service Endpoint na vNet para comunicação com Storage Account;
- Para as VMs terem permissão e executarem tarefas no ambiente Azure:
- (VMs do Azure): Configuração do Managed Identity entre a VM e Storage Account ou utilizar a Runas Account;
- (VMs On Premise): Necessário a criação e instalação de um certificado de autenticação;
- Instalação dos módulos Powershell necessários na Runbooks gallery da Automation Account;
- Criação de runbook na Automation Account;
Execução dos Runbooks com o Hybrid Worker
Após a execução dos procedimentos, podemos validar se o Hybrid Worker Group já está disponível para execução dos runbooks.
Para executar o runbook utilizando o Hybrid Worker, basta selecionar a opção e o grupo criado, conforme abaixo.
Espero que este post possa ajudá-lo, e lembrando que qualquer dúvida estamos à disposição para apoiá-los em seus projetos.
Até breve!
Vinícius Vidal
13/01/2021 | Por Vinicius Vidal | Em Técnico | Tempo de leitura: 3 mins.