Een VM (klassiek) of een Cloud Services verplaatsen naar een ander subnet met behulp van PowerShell

U kunt PowerShell gebruiken om uw VM's (klassiek) van het ene subnet naar het andere in hetzelfde virtuele netwerk (VNet) te verplaatsen. Rol-exemplaren kunnen worden verplaatst door het CSCFG-bestand te bewerken in plaats van PowerShell te gebruiken.

Notitie

In dit artikel wordt uitgelegd hoe u alleen VM's verplaatst die zijn geïmplementeerd via het klassieke implementatiemodel.

Waarom VM's verplaatsen naar een ander subnet? Subnetmigratie is handig wanneer het oudere subnet te klein is en niet kan worden uitgebreid vanwege bestaande VM's die in dat subnet worden uitgevoerd. In dat geval kunt u een nieuw, groter subnet maken en de VM's migreren naar het nieuwe subnet. Nadat de migratie is voltooid, kunt u het oude lege subnet verwijderen.

Een VM verplaatsen naar een ander subnet

Als u een VM wilt verplaatsen, Set-AzureSubnet PowerShell-cmdlet uitvoeren met behulp van het onderstaande voorbeeld als sjabloon. In het onderstaande voorbeeld verplaatsen we TestVM van het huidige subnet naar Subnet-2. Zorg ervoor dat u het voorbeeld bewerkt om uw omgeving weer te geven. Houd er rekening mee dat wanneer u de cmdlet Update-AzureVM wordt uitgevoerd als onderdeel van een procedure, de VM opnieuw wordt opgestart als onderdeel van het updateproces.

Get-AzureVM –ServiceName TestVMCloud –Name TestVM `
| Set-AzureSubnet –SubnetNames Subnet-2 `
| Update-AzureVM

Als u een statisch intern privé-IP-adres voor uw virtuele machine hebt opgegeven, moet u die instelling eerst leeg maken voordat u de virtuele machine naar een nieuw subnet kunt verplaatsen. Gebruik in dat geval het volgende:

Get-AzureVM -ServiceName TestVMCloud -Name TestVM `
| Remove-AzureStaticVNetIP `
| Update-AzureVM
Get-AzureVM -ServiceName TestVMCloud -Name TestVM `
| Set-AzureSubnet -SubnetNames Subnet-2 `
| Update-AzureVM

Een rol-exemplaar verplaatsen naar een ander subnet

Als u een rol-exemplaar wilt verplaatsen, bewerkt u het CSCFG-bestand. In het onderstaande voorbeeld verplaatsen we 'Role0' in virtual network VNETName van het huidige subnet naar Subnet-2. Omdat het rol-exemplaar al is geïmplementeerd, wijzigt u alleen de subnetnaam = Subnet-2. Zorg ervoor dat u het voorbeeld bewerkt om uw omgeving weer te geven.

<NetworkConfiguration>
    <VirtualNetworkSite name="VNETName" />
    <AddressAssignments>
       <InstanceAddress roleName="Role0">
            <Subnets><Subnet name="Subnet-2" /></Subnets>
       </InstanceAddress>
    </AddressAssignments>
</NetworkConfiguration>