De opties beschrijven die beschikbaar zijn om Azure-VM's te maken en te beheren

Voltooid

Azure Portal is de eenvoudigste manier om resources zoals VM's te maken wanneer u aan de slag gaat. Het is echter niet altijd de meest efficiënte of de snelste manier om met Azure te werken, met name als u meerdere resources samen moet maken. In ons geval maken we uiteindelijk tientallen VM's om verschillende taken af te handelen. Deze allemaal handmatig maken in Azure Portal zou geen leuke taak zijn!

We gaan enkele andere manieren bekijken om resources in Azure te maken en te beheren:

  • Azure Resource Manager-sjablonen
  • Azure PowerShell
  • Azure CLI
  • Azure REST API
  • Azure Client SDK
  • Azure VM-extensies
  • Azure Automation Services

Resource Manager-sjablonen

Stel dat u een kopie van een virtuele machine wilt maken met dezelfde instellingen. U kunt een VM-installatiekopie maken, deze uploaden naar Azure en hiernaar verwijzen als de basis voor de nieuwe virtuele machine. Dit proces is inefficiënt en tijdrovend. Azure biedt u de optie een sjabloon te maken op basis waarvan u een exacte kopie van een virtuele machine kunt maken.

Resource Manager-sjablonen zijn JSON-bestanden die de resources definiëren die u voor uw oplossing moet implementeren.

U kunt een resourcesjabloon maken voor uw VIRTUELE machine. Selecteer in het VM-menu onder Automation de optie Exportsjabloon.

Screenshot showing Export template option for a VM.

Notitie

Het beleid voor de resources in de sandbox voor deze Learn-module voorkomt dat u de VM die u zojuist hebt gemaakt, kunt exporteren. een geëxporteerde sjabloon is een eenvoudig te bewerken JSON-bestand. U hebt de mogelijkheid om een sjabloon te downloaden of op te slaan voor later gebruik, of direct een nieuwe VIRTUELE machine te implementeren op basis van de sjabloon. U kunt bijvoorbeeld een virtuele machine maken op basis van een sjabloon in een testomgeving en vinden dat deze niet helemaal werkt om uw on-premises machine te vervangen. U kunt de resourcegroep verwijderen, waarmee u alle resources verwijdert, de sjabloon aanpassen en het opnieuw proberen. Als u alleen wijzigingen wilt aanbrengen in de bestaande geïmplementeerde resources, kunt u de sjabloon wijzigen die wordt gebruikt om deze te maken en opnieuw implementeren. Resource Manager wijzigt de resources zodat deze overeenkomen met de nieuwe sjabloon.

Nadat u deze op de gewenste manier hebt uitgevoerd, kunt u die sjabloon gebruiken om eenvoudig meerdere versies van uw infrastructuur te repliceren, zoals fasering en productie. U kunt velden zoals de vm-naam, netwerknaam, opslagaccountnaam enzovoort parameteriseren en de sjabloon herhaaldelijk laden met behulp van verschillende parameters om elke omgeving aan te passen.

Zie quickstart: Een virtuele Ubuntu Linux-machine maken met behulp van een ARM-sjabloon voor meer informatie over het gebruik van sjablonen.

Azure-CLI

Een optie voor het uitvoeren van scripts en opdrachtregelinteractie van Azure is de Azure CLI.

De Azure CLI is de platformoverschrijdende opdrachtregeltool van Microsoft voor het beheren van Azure-resources zoals virtuele machines en schijven vanaf de opdrachtregel. Deze is beschikbaar voor Linux, macOS, Windows of in een browser met behulp van Cloud Shell.

U kunt bijvoorbeeld vanuit de CLI een Virtuele Azure-machine maken met de az vm create opdracht.

az vm create \
    --resource-group TestResourceGroup \
    --name test-wp1-eus-vm \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

De Azure CLI kan worden gebruikt met andere scripttalen, zoals Ruby en Python.

Meer informatie over het maken en beheren van virtuele machines vindt u in de module Virtuele machines beheren met de Azure CLI-tool.

Zie de quickstart: Een virtuele Linux-machine maken met behulp van de CLI voor meer informatie over het gebruik van de Azure CLI om VM's te maken.

Azure PowerShell

Azure PowerShell is ideaal voor eenmalige interactieve taken en/of het automatiseren van terugkerende taken.

Notitie

PowerShell is een platformoverschrijdende shell die services zoals het shell-venster en het parseren van opdrachten biedt. Azure PowerShell is een optioneel add-onpakket waarmee de voor Azure specifieke opdrachten worden toegevoegd (aangeduid als cmdlets). Meer informatie over het installeren en gebruiken van Azure PowerShell vindt u in een afzonderlijke trainingsmodule.

U kunt bijvoorbeeld de New-AzVM cmdlet gebruiken om een nieuwe virtuele Azure-machine op basis van Debian te maken.

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

Zoals hier wordt weergegeven, kunt u verschillende parameters opgeven voor het afhandelen van het grote aantal beschikbare configuratie-instellingen voor virtuele machines. De meeste parameters hebben redelijke waarden; u hoeft dus alleen de vereiste parameters op te geven. Meer informatie over het maken en beheren van virtuele machines met Azure PowerShell vindt u in de module Azure-taken automatiseren met PowerShell-scripts.

Zie quickstart: Een virtuele Linux-machine maken met PowerShell voor meer informatie over het gebruik van PowerShell voor het maken van VM's.

Terraform

Azure heeft ook een Terraform-provider, zodat u eenvoudig Terraform kunt gebruiken om uw VM's te maken en te beheren. Terraform maakt de definitie, preview en implementatie van de cloudinfrastructuur mogelijk. Met Behulp van Terraform maakt u configuratiebestanden met behulp van de HCL-syntaxis. Met de HCL-syntaxis kunt u de cloudprovider opgeven, zoals Azure, en de elementen waaruit uw cloudinfrastructuur bestaat. Nadat u uw configuratiebestanden hebt gemaakt, maakt u een uitvoeringsplan waarmee u een voorbeeld van uw infrastructuurwijzigingen kunt bekijken voordat ze worden geïmplementeerd. Zodra u de wijzigingen hebt gecontroleerd, past u het uitvoeringsplan toe om de infrastructuur te implementeren.

Zie de Azure Terraform-provider en quickstart: Terraform gebruiken om een virtuele machine te maken voor meer informatie.

Via programmacode (API's)

Normaal gesproken zijn zowel Azure PowerShell als Azure CLI een goede optie als u eenvoudige scripts wilt uitvoeren en u zich tot de opdrachtregelprogramma’s wilt beperken. Als het gaat om complexere scenario's waar het maken en beheren van virtuele machines onderdeel is van een grotere oplossing met complexe logica, is een andere benadering nodig.

U kunt via een programma met elk type resource in Azure werken.

Azure REST API

De Azure REST API biedt ontwikkelaars bewerkingen die zijn gecategoriseerd op resource en de mogelijkheid om VM's te maken en te beheren. Bewerkingen worden weergegeven als URI's met overeenkomende HTTP-methoden (GET, PUT, POST, DELETE en PATCH) en een bijbehorend antwoord.

De Azure Compute-API's bieden u via een programma toegang tot virtuele machines en hun ondersteunende resources.

Zie de naslaginformatie over de REST API voor virtuele machines voor meer informatie.

Azure Client SDK

Hoewel de REST API platform- en taalneutraal is, kijken ontwikkelaars meestal naar een hoger abstractieniveau. De Azure Client SDK omvat de Azure REST-API, waardoor het voor ontwikkelaars veel eenvoudiger wordt om te communiceren met Azure.

De Azure Client SDK's zijn beschikbaar voor verschillende talen en frameworks, waaronder . Op NET gebaseerde talen zoals C#, Java, Node.js, PHP, Python, Ruby en Go.

Hier volgt een voorbeeldfragment van C#-code om een Virtuele Azure-machine te maken met behulp van het Microsoft.Azure.Management.Fluent NuGet-pakket.

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();

Dit is hetzelfde codefragment in Java met behulp van de Azure Java SDK.

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();

Extensies voor Azure-VM's

Stel dat u na de eerste implementatie meer software op uw virtuele machine wilt configureren en installeren. U wilt dat voor deze taak een specifieke configuratie wordt gebruikt en dat deze taak automatisch wordt gecontroleerd en uitgevoerd.

Azure VM-extensies zijn kleine toepassingen waarmee u na de eerste implementatie taken op Azure-VM's kunt configureren en automatiseren.

Zie extensies en functies van virtuele Azure-machines voor meer informatie.

Azure Automation-services

Tijd besparen, fouten verminderen en de efficiëntie vergroten zijn enkele van de belangrijkste uitdagingen van operationeel beheer waarmee u te maken hebt bij het beheren van een externe infrastructuur. Als u talloze infrastructuurservices hebt, kunt u overwegen om services op een hoger niveau in Azure te gebruiken om u te helpen vanaf een hoger niveau te werken.

Met Azure Automation kunt u services integreren waarmee u eenvoudig frequente, tijdrovende en foutgevoelige beheertaken kunt automatiseren. Deze services omvatten procesautomatisering, configuratiebeheer en updatebeheer.

  • Procesautomatisering. Stel dat u een virtuele machine hebt die wordt gecontroleerd op een specifieke foutgebeurtenis. U wilt actie ondernemen en het probleem oplossen zodra het wordt gerapporteerd. Met procesautomatisering kunt u watcher-taken instellen die kunnen reageren op gebeurtenissen die zich in uw datacenter kunnen voordoen.

  • Configuratiebeheer. Misschien wilt u software-updates bijhouden die beschikbaar komen voor het besturingssysteem dat op uw virtuele machine wordt uitgevoerd. Er zijn specifieke updates die u kunt opnemen of uitsluiten. Met configuratiebeheer kunt u deze updates bijhouden en zo nodig actie ondernemen. U gebruikt Microsoft Endpoint Configuration Manager voor het beheren van de pc's, servers en mobiele apparaten van uw bedrijf. U kunt deze ondersteuning uitbreiden naar uw virtuele Azure-machines met configuratiebeheer.

  • Updatebeheer. Gebruik deze service om updates en patches voor uw VM's te beheren. Met deze service kunt u de status van beschikbare updates beoordelen, de installatie plannen en de implementatieresultaten bekijken om te controleren of updates correct zijn toegepast. Updatebeheer bevat services die proces-en configuratiebeheer bieden. U kunt updatebeheer voor een virtuele machine rechtstreeks vanuit uw Azure Automation-account inschakelen. U kunt updatebeheer ook inschakelen voor één virtuele machine vanuit het deelvenster virtuele machines in de portal.

Automatisch afsluiten

Automatisch afsluiten is een functie in Azure waarmee u uw VM's automatisch kunt afsluiten volgens een schema. Gebruik automatisch afsluiten om kosten te besparen door ervoor te zorgen dat uw VM's niet worden uitgevoerd wanneer ze niet nodig zijn. U kunt instellen dat het schema voor automatisch afsluiten dagelijks of wekelijks plaatsvindt en u kunt ook de tijdzone voor de planning opgeven.

Als u naar de functie Automatisch afsluiten in een VIRTUELE machine in Azure Portal wilt navigeren, gaat u naar de blade van de VIRTUELE machine in de portal, klikt u onder de sectie Bewerkingen op Automatisch afsluiten en configureert u de instellingen voor automatisch afsluiten op basis van uw voorkeuren.

Screenshot showing Auto-shutdown option for a VM.

Zie Automatisch afsluiten voor meer informatie.

Zoals u kunt zien, biedt Azure verschillende hulpprogramma's voor het maken en beheren van resources, zodat u beheerbewerkingen kunt integreren in een proces dat voor u geschikt is. Laten we enkele van de andere Azure-services bekijken om ervoor te zorgen dat uw infrastructuurresources probleemloos worden uitgevoerd.