Implementaties en resources migreren naar virtuele-machineschaalsets in flexibele indeling
Net als beschikbaarheidssets kunt u met virtuele-machineschaalsets virtuele machines over meerdere foutdomeinen verdelen. Met virtuele-machineschaalsets met flexibele indeling kunt u de schaalbaarheid van virtuele-machineschaalsets in de uniforme indelingsmodus combineren met de regionale beschikbaarheidsgaranties van beschikbaarheidssets. Dit artikel gaat over migratieoverwegingen bij het overschakelen naar de flexibele indelingsmodus voor virtuele-machineschaalsets.
Sjablonen en scripts voor implementaties van beschikbaarheidssets bijwerken
Eerst moet u een virtuele-machineschaalset maken zonder profiel voor automatisch schalen via Azure CLI, Azure PowerShell of ARM-sjabloon. Azure Portal staat alleen het maken van een virtuele-machineschaalset toe met een profiel voor automatisch schalen. Als u geen profiel voor automatisch schalen wilt of nodig hebt en u een schaalset wilt maken met behulp van Azure Portal, kunt u de initiële capaciteit instellen op 0.
U moet het aantal foutdomeinen opgeven voor de virtuele-machineschaalset. Voor regionale (niet-zonegebonden) implementaties biedt Virtual Machine Scale Sets hetzelfde foutdomeingaranties als beschikbaarheidssets. U kunt echter maximaal 1000 exemplaren schalen. Voor zonegebonden implementaties waarbij u exemplaren verspreidt over meerdere beschikbaarheidszones, moet het aantal foutdomeinen zijn ingesteld op 1.
Updatedomeinen zijn afgeschaft in de flexibele indelingsmodus. De meeste platformupdates met SKU's voor algemeen gebruik worden uitgevoerd met livemigratie en vereisen geen opnieuw opstarten van het exemplaar. Wanneer een platformonderhoud vereist dat exemplaren opnieuw worden opgestart, worden updates toegepast op foutdomein per foutdomein.
Flexibele indeling voor virtuele-machineschaalsets biedt ook ondersteuning voor het implementeren van exemplaren in meerdere beschikbaarheidszones. U kunt overwegen om uw VM-implementaties bij te werken om over meerdere beschikbaarheidszones te verdelen.
De laatste stap in dit proces is het maken van een virtuele machine. In plaats van een beschikbaarheidsset op te geven, geeft u de virtuele-machineschaalset op. U kunt desgewenst de beschikbaarheidszone of het foutdomein opgeven waarin u de VIRTUELE machine wilt plaatsen.
Vm's voor bestaande beschikbaarheidssets migreren
Er is momenteel geen geautomatiseerd hulpprogramma's om bestaande exemplaren in een beschikbaarheidsset rechtstreeks te verplaatsen naar een virtuele-machineschaalset. Er zijn echter verschillende strategieën die u kunt gebruiken om bestaande exemplaren te migreren naar een flexibele schaalset:
Blauw/groen of naast elkaar migratie
- Nieuwe vm-exemplaren van schaalsets met vergelijkbare configuratie in dezelfde resourcegroep, virtueel netwerk, load balancer, enzovoort, als de VM's in de beschikbaarheid
- Gegevens, netwerkverkeer, enzovoort migreren om de nieuwe schaalsetexemplaren te gebruiken
- De toewijzing van de oorspronkelijke virtuele machines van de beschikbaarheidsset ongedaan maken of verwijderen, zodat de vm's van de schaalset worden uitgevoerd voor uw toepassing
VM-exemplaren vervangen
- Noteer de parameters die u wilt behouden van de virtuele machine (naam, NIC-id, besturingssysteem- en gegevensschijf-id's, VM-configuratie-instellingen, plaatsing van foutdomeinen, enzovoort)
- Verwijder de virtuele machine van de beschikbaarheidsset. De NIC's en schijven voor de virtuele machine worden niet verwijderd
- Een nieuw virtuele-machineobject maken met behulp van de parameters van de oorspronkelijke VM
- NIC-id
- Besturingssysteem- en gegevensschijven
- Plaatsing van foutdomein
- Andere VM-instellingen
Implementatiesjablonen en scripts voor uniform schaalsets bijwerken
Werk de implementatiesjablonen en scripts van Uniform Virtual Machine Scale Sets bij om flexibele indeling te gebruiken. Wijzig de volgende elementen in uw sjablonen om het proces te voltooien.
- Verwijderen
LoadBalancerNATPool
(niet geldig voor flex) - De parameter overprovisioning verwijderen (niet geldig voor flex)
- Verwijderen
upgradePolicy
(nog niet geldig voor flex) - Compute-API-versie bijwerken naar 2021-03-01
- Indelingsmodus toevoegen
flexible
platformFaultDomainCount
VereistsinglePlacementGroup
=onwaar vereist- Netwerk-API-versie toevoegen aan 2021-11-01 of hoger
- IP
configuration.properties.primary
instellen op waar (vereist voor uitgaande regels)
Bestaande Uniform-schaalsets migreren
Er is momenteel geen geautomatiseerd hulpprogramma's om bestaande exemplaren rechtstreeks te verplaatsen of een Uniform-schaalset te upgraden naar een flexibele virtuele-machineschaalset. Hier volgt echter een strategie die u kunt gebruiken om bestaande exemplaren te migreren naar een flexibele schaalset:
Blauw/groen of naast elkaar migratie
- Maak een nieuwe schaalset voor flexibele indelingsmodus met vergelijkbare configuratie in dezelfde resourcegroep, virtueel netwerk, load balancer, enzovoort als de oorspronkelijke schaalset in de uniformindelingsmodus
- Gegevens, netwerkverkeer, enzovoort migreren om de nieuwe schaalsetexemplaren te gebruiken
- De oorspronkelijke virtuele machines van de Uniform-schaalset omlaag schalen of verwijderen, zodat de virtuele machines van de schaalset worden uitgevoerd voor uw toepassing
Overwegingen voor flexibele schaalsets
Met virtuele-machineschaalsets met flexibele indeling kunt u de schaalbaarheid van virtuele-machineschaalsets in uniform orchestration combineren met de regionale beschikbaarheidsgaranties van beschikbaarheidssets. Hieronder volgen belangrijke overwegingen bij het kiezen om te werken met de flexibele indelingsmodus.
Schaalbare netwerkconnectiviteit maken
Uitgaand netwerktoegangsgedrag varieert, afhankelijk van hoe u ervoor kiest om virtuele machines in uw schaalset te maken. Handmatig toegevoegde VM-exemplaren hebben standaard uitgaande connectiviteitstoegang. Impliciet gemaakte VM-exemplaren hebben geen standaardtoegang.
Om de standaardnetwerkbeveiliging te verbeteren, hebben exemplaren van virtuele machines die impliciet zijn gemaakt via het profiel voor automatisch schalen geen standaardtoegang voor uitgaand verkeer. Als u virtuele-machineschaalsets wilt gebruiken met impliciet gemaakte VM-exemplaren, moet uitgaande toegang expliciet worden gedefinieerd via een van de volgende methoden:
- Voor de meeste scenario's raden we de NAT-gateway aan die is gekoppeld aan het subnet.
- Voor scenario's met hoge beveiligingsvereisten of wanneer u Azure Firewall of NvA (Network Virtual Appliance) gebruikt, kunt u een aangepaste door de gebruiker gedefinieerde route opgeven als volgende hop via de firewall.
- Exemplaren bevinden zich in de back-endpool van een Standard SKU Azure Load Balancer.
- Koppel een openbaar IP-adres aan de netwerkinterface van het exemplaar.
Veelvoorkomende scenario's waarvoor expliciete uitgaande connectiviteit is vereist, zijn:
- Activering van Windows-VM's vereist dat u uitgaande connectiviteit van het VM-exemplaar hebt gedefinieerd met de Windows Activation Key Management Service (KMS). Zie Problemen met activering van Windows-VM's oplossen voor meer informatie.
- Toegang tot opslagaccounts of Key Vault. Connectiviteit met Azure-services kan ook tot stand worden gebracht via Private Link.
- Windows-updates.
- Toegang tot Linux-pakketbeheerders.
Zie De standaard uitgaande toegang in Azure voor meer informatie.
Bij VM's met één exemplaar waarin u expliciet de NIC maakt, wordt standaard uitgaande toegang geboden. Virtual Machine Scale Sets in de modus Uniform Orchestration heeft ook standaard uitgaande connectiviteit.
Belangrijk
Controleer of u expliciete uitgaande netwerkconnectiviteit hebt. Meer informatie hierover vindt u in virtuele netwerken en virtuele machines in Azure en zorg ervoor dat u de aanbevolen procedures voor netwerken van Azure volgt.
Foutdomein toewijzen tijdens het maken van de VM
U kunt het aantal foutdomeinen voor de flexibele indelingsschaalset kiezen. Wanneer u een VIRTUELE machine toevoegt aan een flexibele schaalset, worden instanties gelijkmatig verdeeld over foutdomeinen in Azure. Hoewel het raadzaam is om Azure het foutdomein toe te wijzen, kunt u voor geavanceerde scenario's of scenario's voor probleemoplossing dit standaardgedrag overschrijven en het foutdomein opgeven waar het exemplaar terechtkomt.
az vm create –vmss "myVMSS" –-platform_fault_domain 1
Naamgeving van exemplaar
Wanneer u een virtuele machine maakt en deze toevoegt aan een flexibele schaalset, hebt u volledige controle over exemplaarnamen binnen de regels van de Azure Naming-conventie. Wanneer VM's automatisch aan de schaalset worden toegevoegd via automatisch schalen, geeft u een voorvoegsel op en voegt Azure een uniek nummer toe aan het einde van de naam.
VM-API-wijzigingen weergeven in schaalsets
Met virtuele-machineschaalsets kunt u de exemplaren weergeven die deel uitmaken van de schaalset. Met flexibele indeling biedt de lijst vm-opdracht Virtuele-machineschaalsets een lijst met VM-id's van schaalsets. Vervolgens kunt u de GET Virtual Machine Scale Sets VM-opdrachten aanroepen voor meer informatie over de werking van de schaalset met het VM-exemplaar. Gebruik de standaard GET VM-opdrachten of Azure Resource Graph om de volledige details van de VIRTUELE machine op te halen.
Query-exemplaren voor energiestatus
De voorkeursmethode is het gebruik van Azure Resource Graph om query's uit te voeren voor alle VM's in een virtuele-machineschaalset. Azure Resource Graph biedt efficiënte querymogelijkheden voor Azure-resources op schaal in abonnementen.
| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.virtualMachineScaleSet contains "demo"
| extend powerState = properties.extended.instanceView.powerState.code
| project name, resourceGroup, location, powerState
| order by resourceGroup desc, name desc
Het uitvoeren van query's op resources met Azure Resource Graph is een handige en efficiënte manier om query's uit te voeren op Azure-resources en API-aanroepen naar de resourceprovider te minimaliseren. Azure Resource Graph is een uiteindelijk consistente cache waarbij nieuwe of bijgewerkte resources mogelijk maximaal 60 seconden worden weergegeven. U kunt:
- Vm's weergeven in een resourcegroep of abonnement.
- Gebruik de optie uitvouwen om de exemplaarweergave (foutdomeintoewijzing, energie- en inrichtingsstatussen) op te halen voor alle VM's in uw abonnement.
- Gebruik de VM-API en opdrachten ophalen om model- en exemplaarweergave voor één exemplaar op te halen.
Schaalsets vm-batchbewerkingen
Gebruik de standaard-VM-opdrachten om exemplaren te starten, te stoppen, opnieuw te starten, te verwijderen in plaats van de VM-API's van de virtuele-machineschaalset. De vm-batchbewerkingen van de virtuele-machineschaalset (alles starten, alles stoppen, alles opnieuw instellen, enzovoort) worden niet gebruikt met de modus Flexibele indeling.
De status van de toepassing bewaken
Met toepassingsstatuscontrole kan uw toepassing Azure een heartbeat bieden om te bepalen of uw toepassing in orde of niet in orde is. Azure kan VM-exemplaren die niet in orde zijn, automatisch vervangen. Voor flexibele schaalsetexemplaren moet u de toepassingsstatusextensie op de virtuele machine installeren en configureren. Voor exemplaren van uniform schaalsets kunt u de toepassingsstatusextensie gebruiken of de status meten met een aangepaste statustest van Azure Load Balancer.
Diagnostische gegevens over opstarten ophalen
Gebruik de standaard-VM-API's en -opdrachten om diagnostische gegevens en schermopnamen van het exemplaar op te halen. De diagnostische API's en opdrachten voor virtuele-machineschaalsets voor VM's worden niet gebruikt met exemplaren van de flexibele indelingsmodus.
VM-extensies
Gebruik extensies die zijn gericht op standaard virtuele machines, in plaats van extensies die zijn gericht op exemplaren van de uniformindelingsmodus.
Exemplaren beveiligen tegen verwijderen
Virtuele-machineschaalsets in de flexibele indelingsmodus hebben momenteel geen opties voor instantiebeveiliging. Als u automatische schaalaanpassing hebt ingeschakeld voor een virtuele-machineschaalset, lopen sommige VM's mogelijk het risico dat ze tijdens het inschalen worden verwijderd. Als u bepaalde VM-exemplaren wilt beveiligen tegen verwijdering, gebruikt u Azure Resource Manager-vergrendeling.