Flytta en virtuell dator (klassisk) eller Cloud Services en rollinstans till ett annat undernät med hjälp av PowerShell

Du kan använda PowerShell för att flytta dina virtuella datorer (klassisk) från ett undernät till ett annat i samma virtuella nätverk (VNet). Rollinstanser kan flyttas genom att redigera CSCFG-filen i stället för att använda PowerShell.

Anteckning

Den här artikeln beskriver hur du flyttar virtuella datorer som endast distribueras via den klassiska distributionsmodellen.

Varför ska jag flytta virtuella datorer till ett annat undernät? Migrering av undernät är användbart när det äldre undernätet är för litet och inte kan utökas på grund av befintliga virtuella datorer som körs i det undernätet. I så fall kan du skapa ett nytt, större undernät och migrera de virtuella datorerna till det nya undernätet. När migreringen är klar kan du ta bort det gamla tomma undernätet.

Så här flyttar du en virtuell dator till ett annat undernät

Om du vill flytta en virtuell dator kör Set-AzureSubnet PowerShell-cmdleten med hjälp av exemplet nedan som en mall. I exemplet nedan flyttar vi TestVM från det aktuella undernätet till Subnet-2. Se till att redigera exemplet så att det återspeglar din miljö. Observera att när du kör Update-AzureVM cmdlet som en del av en procedur startar den om den virtuella datorn som en del av uppdateringsprocessen.

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

Om du har angett en statisk intern privat IP-adress för den virtuella datorn måste du rensa inställningen innan du kan flytta den virtuella datorn till ett nytt undernät. I så fall använder du följande:

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

Flytta en rollinstans till ett annat undernät

Om du vill flytta en rollinstans redigerar du CSCFG-filen. I exemplet nedan flyttar vi "Role0" i det virtuella nätverket VNETName från dess aktuella undernät till Subnet-2. Eftersom rollinstansen redan har distribuerats ändrar du bara undernätsnamnet = Undernät-2. Se till att redigera exemplet så att det återspeglar din miljö.

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