Descrever as opções disponíveis para criar e gerenciar uma Máquina Virtual do Azure
O portal do Azure é a maneira mais fácil de criar recursos, como VMs, quando você está começando. No entanto, não é necessariamente a maneira mais eficiente ou rápida de trabalhar com o Azure, especialmente se você precisar criar vários recursos juntos. No nosso caso, eventualmente criamos dezenas de VMs para lidar com diferentes tarefas. Criá-los manualmente no portal do Azure não seria uma tarefa divertida!
Vamos examinar algumas outras maneiras de criar e administrar recursos no Azure:
- Modelos do Azure Resource Manager
- Azure PowerShell
- Azure CLI
- Azure REST API
- SDK do Cliente do Azure
- Extensões de VM do Azure
- Serviços de Automação do Azure
Modelos do Resource Manager
Vamos supor que você queira criar uma cópia de uma VM com as mesmas configurações. Você pode criar uma imagem de VM, carregá-la no Azure e fazer referência a ela como base para sua nova VM. Este processo é ineficiente e demorado. O Azure fornece a opção de criar um modelo a partir do qual criar uma cópia exata de uma VM.
os modelos do "Resource Manager" são arquivos JSON que definem os recursos que você precisa implementar para a sua solução.
Você pode criar um modelo de recurso para sua VM. No menu VM, em Automação selecione Exportar modelo.
Observação
As políticas para os recursos incluídos na área restrita para este módulo do Learn impedem que você possa exportar a VM que acabou de criar; Dito isso, um modelo exportado é um arquivo JSON fácil de editar. Você tem a opção de baixar ou salvar um modelo para uso posterior ou implantar imediatamente uma nova VM com base no modelo. Por exemplo, você pode criar uma VM a partir de um modelo em um ambiente de teste e descobrir que ela não funciona para substituir sua máquina local. Você pode excluir o grupo de recursos, que exclui todos os recursos, ajustar o modelo e tentar novamente. Se você quiser apenas fazer alterações nos recursos implantados existentes, poderá alterar o modelo usado para criá-lo e reimplantá-lo. O Resource Manager alterará os recursos para corresponder ao novo modelo.
Depois de fazê-lo funcionar da maneira desejada, você pode usar esse modelo para replicar facilmente várias versões da sua infraestrutura, como preparação e produção. Você pode parametrizar campos como o nome da VM, nome da rede, nome da conta de armazenamento e assim por diante, e carregar o modelo repetidamente, usando parâmetros diferentes para personalizar cada ambiente.
Para obter mais informações sobre como usar modelos, consulte Guia de início rápido: criar uma máquina virtual Ubuntu Linux usando um modelo ARM.
Azure CLI
Uma opção para script e interação de linha de comandos do Azure é a Azure CLI.
A CLI do Azure é a ferramenta de linha de comando de plataforma cruzada da Microsoft para gerenciar recursos do Azure, como máquinas virtuais e discos a partir da linha de comando. Ele está disponível para Linux, macOS, Windows ou em um navegador usando o Cloud Shell.
Por exemplo, na CLI, você pode criar uma VM do Azure com o comando az vm create
.
az vm create \
--resource-group TestResourceGroup \
--name test-wp1-eus-vm \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
A CLI do Azure pode ser usada com outras linguagens de script, como Ruby e Python.
Saiba mais sobre como criar e gerir VMs no módulo Gerir máquinas virtuais na ferramenta CLI do Azure.
Para obter mais informações sobre como usar a CLI do Azure para criar VMs, consulte Guia de início rápido: criar uma máquina virtual Linux usando a CLI.
Azure PowerShell
do Azure PowerShell é ideal para tarefas interativas pontuais e/ou automação de tarefas repetidas.
Observação
O PowerShell é um shell de plataforma cruzada que fornece serviços como a janela do shell e a análise de comandos. O Azure PowerShell é um pacote complementar opcional que adiciona os comandos específicos do Azure (referidos como cmdlets ). Você pode saber mais sobre como instalar e usar o Azure PowerShell em um módulo de treinamento separado.
Por exemplo, você pode usar o cmdlet New-AzVM
para criar uma nova máquina virtual do Azure baseada em Debian.
New-AzVm `
-ResourceGroupName "TestResourceGroup" `
-Name "test-wp1-eus-vm" `
-Location "East US" `
-Image Debian11 `
-VirtualNetworkName "test-wp1-eus-network" `
-SubnetName "default" `
-SecurityGroupName "test-wp1-eus-nsg" `
-PublicIpAddressName "test-wp1-eus-pubip" `
-GenerateSshKey `
-SshKeyName myPSKey
-OpenPorts 22
Como mostrado aqui, você fornece vários parâmetros para lidar com o grande número de definições de configuração de VM disponíveis. A maioria dos parâmetros tem valores razoáveis; você só precisa especificar os parâmetros necessários. Saiba mais sobre como criar e gerenciar VMs com o Azure PowerShell no módulo Automatizar tarefas do Azure usando scripts com o PowerShell.
Para obter mais informações sobre como usar o PowerShell para criar VMs, consulte Guia de início rápido: criar uma máquina virtual Linux usando o PowerShell.
Terraforma
O Azure também tem um provedor Terraform, para que você possa usar facilmente o Terraform para criar e gerenciar suas VMs. Terraform permite a definição, visualização e implantação de infraestrutura em nuvem. Usando Terraform, você cria arquivos de configuração usando a sintaxe HCL. A sintaxe HCL permite especificar o provedor de nuvem - como o Azure - e os elementos que compõem sua infraestrutura de nuvem. Depois de criar os arquivos de configuração, você cria um plano de execução que permite visualizar as alterações na infraestrutura antes que elas sejam implantadas. Depois de verificar as alterações, você aplica o plano de execução para implantar a infraestrutura.
Para obter mais informações, consulte o Azure Terraform Provider e o Guia rápido: usar o Terraform para criar uma VM.
Programático (APIs)
De um modo geral, o Azure PowerShell e a CLI do Azure são boas opções se você tiver scripts simples para executar e quiser manter as ferramentas de linha de comando. Quando se trata de cenários mais complexos, onde a criação e o gerenciamento de VMs fazem parte de um aplicativo maior com lógica complexa, outra abordagem é necessária.
Você pode interagir com todos os tipos de recurso no Azure programaticamente.
Azure REST API
A API REST do Azure fornece aos desenvolvedores operações categorizadas por recurso e a capacidade de criar e gerenciar VMs. As operações são expostas como URIs com métodos HTTP correspondentes (GET
, PUT
, POST
, DELETE
e PATCH
) e uma resposta correspondente.
As APIs de Computação do Azure fornecem acesso programático a máquinas virtuais e seus recursos de suporte.
Para obter mais informações, consulte a referência da API REST de máquinas virtuais .
SDK do Cliente do Azure
Embora a API REST seja agnóstica em relação à plataforma e à linguagem, na maioria das vezes os desenvolvedores procuram um nível mais alto de abstração. O SDK do Cliente do Azure encapsula a API REST do Azure, tornando muito mais fácil para os desenvolvedores interagirem com o Azure.
Os SDKs do Cliente do Azure estão disponíveis para várias linguagens e estruturas, incluindo . Linguagens baseadas em NET, como C#, Java, Node.js, PHP, Python, Ruby e Go.
Aqui está um trecho de exemplo de código C# para criar uma VM do Azure usando o pacote NuGet Microsoft.Azure.Management.Fluent
.
var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.WithDefaultSubscription();
// ...
var vmName = "test-wp1-eus-vm";
azure.VirtualMachines.Define(vmName)
.WithRegion(Region.USEast)
.WithExistingResourceGroup("TestResourceGroup")
.WithExistingPrimaryNetworkInterface(networkInterface)
.WithLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
.WithAdminUsername("jonc")
.WithAdminPassword("aReallyGoodPasswordHere")
.WithComputerName(vmName)
.WithSize(VirtualMachineSizeTypes.StandardDS1)
.Create();
Aqui está o mesmo trecho em Java usando o SDK Java do Azure.
String vmName = "test-wp1-eus-vm";
// ...
VirtualMachine virtualMachine = azure.virtualMachines()
.define(vmName)
.withRegion(Region.US_EAST)
.withExistingResourceGroup("TestResourceGroup")
.withExistingPrimaryNetworkInterface(networkInterface)
.withLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
.withAdminUsername("jonc")
.withAdminPassword("aReallyGoodPasswordHere")
.withComputerName(vmName)
.withSize("Standard_DS1")
.create();
Extensões de VM do Azure
Vamos supor que você queira configurar e instalar mais software em sua máquina virtual após a implantação inicial. Você deseja que essa tarefa use uma configuração específica, monitorada e executada automaticamente.
extensões de VM do Azure são pequenos aplicativos que permitem configurar e automatizar tarefas em VMs do Azure após a implantação inicial.
Para obter mais informações, consulte extensões e recursos de máquina virtual do Azure.
Serviços de automação do Azure
Economizar tempo, reduzir erros e aumentar a eficiência são alguns dos desafios de gerenciamento operacional mais significativos enfrentados ao gerenciar a infraestrutura remota. Se você tiver vários serviços de infraestrutura, convém considerar o uso de serviços de nível superior no Azure para ajudá-lo a operar a partir de um nível superior.
Automação do Azure permite-lhe integrar serviços que possibilitam automatizar com facilidade tarefas de gestão frequentes, demoradas e propensas a erros. Esses serviços incluem de automação de processos, de gerenciamento de configuração e de gerenciamento de atualizações.
Automação de Processos. Vamos supor que você tenha uma VM monitorada para um evento de erro específico. Você deseja agir e corrigir o problema assim que ele for relatado. A automação de processos permite configurar tarefas do observador que podem responder a eventos que podem ocorrer em seu datacenter.
Configuration Management. Talvez você queira rastrear as atualizações de software que ficam disponíveis para o sistema operacional executado em sua VM. Há atualizações específicas que você pode querer incluir ou excluir. O gerenciamento de configuração permite que você acompanhe essas atualizações e tome as medidas necessárias. Você usa Microsoft Endpoint Configuration Manager para gerenciar o computador, os servidores e os dispositivos móveis da sua empresa. Você pode estender esse suporte para suas VMs do Azure com o Configuration Manager.
Gerenciamento de atualizações. Use este serviço para gerenciar atualizações e patches para suas VMs. Com esse serviço, você pode avaliar o status das atualizações disponíveis, agendar a instalação e revisar os resultados da implantação para verificar se as atualizações foram aplicadas com êxito. O gerenciamento de atualizações incorpora serviços que fornecem gerenciamento de processos e configurações. Você habilita o gerenciamento de atualizações para uma VM diretamente de sua conta do de Automação do Azure. Você também pode habilitar o gerenciamento de atualizações para uma única máquina virtual no painel de máquinas virtuais no portal.
Desligamento automático
O desligamento automático é um recurso do Azure que permite que você desligue automaticamente suas VMs em uma agenda. Use o desligamento automático para economizar custos, garantindo que suas VMs não sejam executadas quando não forem necessárias. Você pode definir o agendamento para que o desligamento automático ocorra diariamente ou semanalmente, e também pode especificar o fuso horário para o agendamento.
Para navegar até o recurso de desligamento automático em uma VM no portal do Azure, vá para a folha da VM no portal, clique em "Desligamento automático" na seção "Operações" e configure as configurações de desligamento automático de acordo com suas preferências.
Para obter mais informações, consulte Desligamento Automático.
Como você pode ver, o Azure fornece várias ferramentas para criar e administrar recursos para que você possa integrar operações de gerenciamento em um processo que funcione para você. Vamos examinar alguns dos outros serviços do Azure para garantir que seus recursos de infraestrutura estejam funcionando sem problemas.