Memindahkan vm (Klasik) atau Cloud Services instans peran ke subnet lain menggunakan PowerShell

Anda dapat menggunakan PowerShell untuk memindahkan VM (Classic) dari satu subnet ke subnet lainnya di jaringan virtual yang sama (VNet). Instans peran dapat dipindahkan dengan mengedit file CSCFG, bukan menggunakan PowerShell.

Catatan

Artikel ini menjelaskan cara memindahkan VM yang disebarkan hanya melalui model penyebaran klasik.

Mengapa memindahkan VM ke subnet lain? Migrasi subnet berguna ketika subnet yang lebih lama terlalu kecil dan tidak dapat diperluas karena VM yang sedang berjalan di subnet tersebut. Dalam hal ini, Anda dapat membuat subnet baru yang lebih besar dan memigrasikan VM ke subnet baru, kemudian setelah migrasi selesai, Anda dapat menghapus subnet kosong lama.

Cara memindahkan VM ke subnet lain

Untuk memindahkan VM, jalankan cmdlet PowerShell Set-AzureSubnet, menggunakan contoh di bawah ini sebagai templat. Pada contoh di bawah ini, kita memindahkan TestVM dari subnet saat ini, ke Subnet-2. Pastikan untuk mengedit contoh untuk mencerminkan lingkungan Anda. Perhatikan bahwa setiap kali Anda menjalankan cmdlet Update-AzureVM sebagai bagian dari prosedur, itu akan memulai ulang VM Anda sebagai bagian dari proses pembaruan.

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

Jika Anda menentukan IP pribadi internal statis untuk VM Anda, Anda harus menghapus pengaturan itu sebelum Anda dapat memindahkan VM ke subnet baru. Dalam hal ini, gunakan yang berikut:

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

Untuk memindahkan instans peran ke subnet lain

Untuk memindahkan instans peran, edit file CSCFG. Pada contoh di bawah ini, kita memindahkan "Role0" di jaringan virtual VNETName dari subnet saat ini ke Subnet-2. Karena instans peran sudah disebarkan, Anda cukup mengubah nama Subnet = Subnet-2. Pastikan untuk mengedit contoh untuk mencerminkan lingkungan Anda.

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