De beschikbare opties beschrijven voor het maken en beheren van een virtuele Azure-machine
Azure-portal is de eenvoudigste manier om middelen zoals virtuele machines te maken wanneer je begint. Het is echter niet noodzakelijkerwijs de meest efficiënte of 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. Het handmatig maken ervan in Azure Portal zou geen leuke taak zijn.
Laten we eens kijken naar een aantal andere manieren om resources te maken en te beheren in Azure:
- 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 met dezelfde instellingen wilt maken. U kunt een VM-installatiekopieën maken, deze uploaden naar Azure en ernaar verwijzen als basis voor uw nieuwe VM. Dit proces is inefficiënt en tijdrovend. Azure biedt u de mogelijkheid om een sjabloon te maken waaruit u een exacte kopie van een virtuele machine kunt maken.
Resource Manager-sjablonen JSON-bestanden zijn die de resources definiëren die u voor uw oplossing moet implementeren.
U kunt een resourcesjabloon maken voor uw VIRTUELE machine. Selecteer sjabloon exporterenonder Automation in het VM-menu.
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, die 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-sjabloonvoor 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 het platformoverschrijdende opdrachtregelprogramma 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 Azure-VM maken met de opdracht az vm create
.
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.
Kom meer te weten over het maken en beheren van VM's met het Azure CLI-hulpprogramma in de -module Virtuele machines beheren.
Zie Quickstart: Een virtuele Linux-machine maken met behulp van de CLIvoor 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 automatisering van herhaalde taken.
Notitie
PowerShell is een platformoverschrijdende shell die services biedt zoals het shell-venster en het parseren van opdrachten. Azure PowerShell is een optioneel invoegtoepassingspakket waarmee de Azure-specifieke opdrachten (ook wel cmdletsgenoemd) worden toegevoegd. 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, geeft u verschillende parameters op om het grote aantal beschikbare VM-configuratie-instellingen te verwerken. De meeste parameters hebben redelijke waarden; u hoeft alleen de vereiste parameters op te geven. Meer informatie over het maken en beheren van VM's met Azure PowerShell in de Azure-taken automatiseren met behulp van scripts met PowerShell module.
Zie Quickstart: Een virtuele Linux-machine maken met behulp van PowerShellvoor meer informatie over het gebruik van PowerShell om VM's te maken.
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 quickstart Azure Terraform Provider en voor meer informatie: Terraform gebruiken om een VM-te maken.
Programmeerbaar (API's)
Over het algemeen zijn zowel Azure PowerShell als Azure CLI goede opties als u eenvoudige scripts kunt uitvoeren en wilt blijven werken met opdrachtregelprogramma's. Als het gaat om complexere scenario's, waarbij het maken en beheren van VM's deel uitmaakt van een grotere toepassing met complexe logica, is een andere benadering nodig.
U kunt programmatisch communiceren met elk type resource in Azure.
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 bijbehorende HTTP-methoden (GET
, PUT
, POST
, DELETE
en PATCH
) en een bijbehorend antwoord.
De Azure Compute-API's bieden u programmatische toegang tot virtuele machines en de bijbehorende ondersteunende resources.
Voor meer informatie, zie de referentie Virtual Machines REST API.
Azure Client SDK
Hoewel de REST API platform- en taalneutraal is, kijken ontwikkelaars meestal naar een hoger abstractieniveau. De Azure Client SDK bevat de Azure REST API, waardoor ontwikkelaars veel eenvoudiger kunnen 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 Azure-VM 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();
Azure VM-extensies
Stel dat u na de eerste implementatie meer software op uw virtuele machine wilt configureren en installeren. U wilt dat deze taak een specifieke configuratie gebruikt, bewaakt en automatisch wordt uitgevoerd.
Azure VM-extensies kleine toepassingen zijn waarmee u na de eerste implementatie taken op Azure-VM's kunt configureren en automatiseren.
Zie extensies en functies van virtuele Azure-machinesvoor meer informatie.
Azure Automation services
Tijd besparen, fouten verminderen en efficiëntie verhogen zijn een aantal van de belangrijkste uitdagingen voor operationeel beheer bij het beheren van 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.
Azure Automation- kunt u services integreren waarmee u eenvoudig frequente, tijdrovende en foutgevoelige beheertaken kunt automatiseren. Deze services omvatten procesautomatisering, configuratiebeheeren updatebeheer.
Procesautomatisering. Stel dat u een virtuele machine hebt die wordt bewaakt op een specifieke fout. 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 mogelijk wilt 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, servers en mobiele apparaten van uw bedrijf. U kunt deze ondersteuning uitbreiden naar uw Azure-VM's met Configuration Manager.
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, installatie plannen en implementatieresultaten bekijken om te controleren of updates zijn toegepast. Updatebeheer bevat services die proces- en configuratiebeheer bieden. U schakelt updatebeheer voor een VIRTUELE machine rechtstreeks vanuit uw Azure Automation--account in. 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 de functie voor automatisch afsluiten om kosten te besparen door ervoor te zorgen dat uw virtuele machines niet draaien 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.
Zie automatisch afsluitenvoor 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 geschikt is voor u. Laten we enkele van de andere Azure-services bekijken om ervoor te zorgen dat uw infrastructuurbronnen soepel worden uitgevoerd.