Az - Virtual Machines & Network
Informações Básicas
A partir da documentação: As máquinas virtuais do Azure são um dos vários tipos de recursos computacionais escaláveis sob demanda que o Azure oferece. Normalmente, você escolhe uma máquina virtual quando precisa de mais controle sobre o ambiente de computação do que as outras opções oferecem. Este artigo fornece informações sobre o que você deve considerar antes de criar uma máquina virtual, como criá-la e como gerenciá-la.
Informações da Rede Azure
As redes Azure contêm entidades diferentes e maneiras de configurá-las. Você pode encontrar descrições breves, exemplos e comandos de enumeração das diferentes entidades de rede Azure em:
Az - Azure NetworkAzure Bastion
Azure Bastion oferece uma solução de acesso seguro e totalmente gerenciada para RDP (Remote Desktop Protocol) e SSH (Secure Shell) por SSL através do portal do Azure. Ele está integrado a uma Rede Virtual do Azure, permitindo conectividade RDP e SSH para VMs usando IPs privados, evitando a necessidade de IPs públicos. Isso o torna uma alternativa mais segura e conveniente aos métodos tradicionais que envolvem atribuições de IPs públicos e configurações de regras NSG para acesso a VMs. Desenvolvedores e pessoal de TI podem acessar com segurança as VMs a partir do portal do Azure usando seus navegadores da web, simplificando o processo para ambientes de desenvolvimento e testes.
Para listar todos os Hosts Azure Bastion em sua assinatura, você pode usar o seguinte comando:
Enumeração de VM
Executar comandos em uma VM
Login do AAD na VM
É possível permitir o acesso a usuários autenticados via AzureAD. Por exemplo, ao tentar acessar uma VM linux: ssh username@azure-corp.com@1.1.1.1
(é importante usar o e-mail com o azurecorp usado ao tentar fazer login), você pode receber um erro como:
Apenas siga essas instruções acessando https://microsoft.com/devicelogin e indicando o código, use o e-mail e a senha como credenciais e você poderá se conectar via SSH (se esse usuário tiver permissões suficientes para fazer isso: função Virtual Machine Administrator Login
ou Virtual Machine User Login
).
Executar Comando
Executar Extensão de Script Personalizado
As extensões de máquinas virtuais (VMs) do Azure são pequenas aplicações que fornecem configuração pós-implementação e tarefas de automação em VMs do Azure. Por exemplo, se uma máquina virtual requer instalação de software, proteção antivírus ou a capacidade de executar um script dentro dela, você pode usar uma extensão de VM.
Portanto, se você tiver acesso para escrever, você pode executar código arbitrário:
Estado de Configuração Desejado (DSC)
O Estado de Configuração Desejado (DSC) é uma ferramenta do PowerShell semelhante ao Ansible, usada para configurar um host por meio de código. O DSC integra-se ao Azure, permitindo o upload de arquivos de configuração específicos. Esses arquivos devem seguir uma sintaxe estrita. Notavelmente, a extensão DSC no Azure pode executar comandos de arquivos que atendem a certos critérios de formatação, mesmo que a sintaxe não esteja correta para os padrões do DSC, conforme mostrado na figura fornecida.
A execução desses comandos é facilitada pela função Publish-AzVMDscConfiguration
no Az PowerShell. Os requisitos incluem um arquivo .PS1 com uma função definida e o arquivo deve ser compactado em um arquivo .zip. Mesmo que a sintaxe possa não estar correta para o DSC, o código ainda será executado. No entanto, a extensão marcará o status de execução como "falha" e nenhuma saída do comando será visível devido ao status ser sobrescrito pela mensagem de falha.
Definições de Aplicativos de VM
As Definições de Aplicativos de VM permitem a implantação repetível de aplicativos versionados em uma VM do Azure. Este recurso suporta a implantação e atualização de aplicativos em várias VMs. Para configurar isso, várias etapas são necessárias, envolvendo comandos como New-AzGalleryApplication
e New-AzGalleryApplicationVersion
no Az PowerShell.
A execução de aplicativos ou comandos por meio deste método envolve o "VMAppExtension", que é instalado automaticamente quando um aplicativo é aplicado a uma VM. A extensão recupera o arquivo da URI especificada e o nomeia exatamente como o aplicativo, sem uma extensão. Para executar o arquivo corretamente, o campo "ManageActions" na chamada da API REST deve ser configurado para renomear o arquivo com a extensão apropriada. A configuração deste método, uma vez concluída, se assemelhará à estrutura mostrada na figura fornecida.
No entanto, esse método de execução é relativamente lento, levando cerca de 3-4 minutos para executar um aplicativo ou comando. Os arquivos relacionados a esse processo são armazenados em diretórios específicos (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
para a cópia do aplicativo e C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
para o status de execução).
Ambas as técnicas fornecem maneiras únicas de executar comandos e implantar aplicativos em ambientes Azure, cada uma com seu próprio conjunto de requisitos, etapas e considerações.
Grupos de Trabalhadores Híbridos (HWGs) no Azure
Grupos de Trabalhadores Híbridos (HWGs) são um recurso no Azure que permite que Runbooks, configurados em uma Conta de Automação, sejam executados em uma Máquina Virtual (VM) do Azure que faz parte do HWG designado. Essa execução é facilitada por uma extensão instalada na VM, que implanta o código do Runbook na VM. Um aspecto significativo desse processo é que as credenciais reais não são um fator na execução porque o código é executado com privilégios elevados, especificamente como SYSTEM ou root, conforme ilustrado na figura fornecida.
Um detalhe crucial para aqueles que utilizam VMs do Windows 10 é a necessidade de especificar a versão do PowerShell para o Runbook. Deve ser configurado para ser executado como a Versão 5.1 do PowerShell em vez da 7.1. Esse requisito decorre do fato de que o PowerShell 7.1 não é instalado por padrão nessas VMs, levando a uma falha na execução do script se a versão 7.1 for especificada.
Este recurso do Azure oferece um método robusto para automatizar e gerenciar tarefas em ambientes híbridos, permitindo o gerenciamento centralizado e a execução de tarefas em VMs do Azure.
Referências
Last updated