Memigrasikan sumber daya IaaS dari klasik ke Azure Resource Manager dengan menggunakan PowerShell
Berlaku untuk: ✔️ VM Linux ✔️ VM Windows
Penting
Saat ini, sekitar 90% Komputer Virtual IaaS menggunakan Azure Resource Manager. Pada 28 Februari 2020, VM klasik telah ditolak dan akan sepenuhnya dihentikan pada 6 September 2023. Pelajari lebih lanjut tentang penghentian ini dan bagaimana hal itu memengaruhi Anda.
Langkah-langkah ini menunjukkan cara menggunakan perintah Azure PowerShell untuk memigrasi sumber daya infrastruktur sebagai layanan (IaaS) dari model penerapan klasik ke model penyebaran Azure Resource Manager.
Jika diinginkan, Anda juga dapat memigrasikan sumber daya menggunakan Azure CLI.
- Untuk latar belakang skenario migrasi yang didukung, lihat Migrasi sumber daya IaaS yang didukung platform dari klasik ke Azure Resource Manager.
- Untuk panduan mendetail dan panduan migrasi, lihat Pendalaman teknis tentang migrasi yang didukung platform dari klasik ke Azure Resource Manager.
- Meninjau kesalahan migrasi yang paling umum.
Berikut adalah diagram alur untuk mengidentifikasi urutan langkah-langkah yang perlu dijalankan selama proses migrasi.
Langkah 1: Rencanakan migrasi
Berikut adalah beberapa praktik terbaik yang kami sarankan saat Anda mengevaluasi apakah akan memigrasikan resource IaaS dari klasik ke Resource Manager:
- Baca fitur dan konfigurasi yang didukung dan tidak didukung. Jika Anda memiliki komputer virtual yang menggunakan konfigurasi atau fitur yang tidak didukung, tunggu hingga konfigurasi atau dukungan fitur diumumkan. Atau, jika sesuai dengan kebutuhan Anda, hapus fitur tersebut atau keluar dari konfigurasi itu untuk mengaktifkan migrasi.
- Jika Anda memiliki skrip otomatis yang menyebarkan infrastruktur dan aplikasi Anda hari ini, coba buat penyiapan pengujian serupa dengan menggunakan skrip tersebut untuk migrasi. Atau, Anda dapat mengatur lingkungan sampel menggunakan portal Microsoft Azure.
Penting
Gateway aplikasi saat ini tidak didukung untuk migrasi dari klasik ke Resource Manager. Untuk memigrasi jaringan virtual dengan gateway aplikasi, hapus gateway sebelum Anda menjalankan operasi Siapkan untuk memindahkan jaringan. Setelah Anda menyelesaikan migrasi, sambungkan kembali gateway di Azure Resource Manager.
Gateway Azure ExpressRoute yang tersambung ke sirkuit ExpressRoute di langganan lain tidak dapat dimigrasikan secara otomatis. Dalam kasus seperti itu, hapus gateway ExpressRoute, migrasikan jaringan virtual, dan buat ulang gateway. Untuk informasi selengkapnya, lihat Memigrasikan sirkuit ExpressRoute dan jaringan virtual terkait dari model penyebaran klasik ke Resource Manager.
Langkah 2: Pasang PowerShell versi terbaru
Ada dua opsi utama untuk menginstal Azure PowerShell: Galeri PowerShell atau Alat Penginstal Platform Web (WebPI). WebPI menerima pembaruan bulanan. Galeri PowerShell menerima pembaruan secara terus menerus. Artikel ini didasarkan pada Azure PowerShell versi 2.1.0.
Untuk petunjuk penginstalan, lihat Cara memasang dan mengonfigurasi Azure PowerShell.
Langkah 3: Pastikan Anda administrator langganan
Untuk melakukan migrasi ini, Anda harus ditambahkan sebagai administrator bersama untuk langganan di portal Azure.
- Masuk ke portal Azure.
- Pada menu Hub, pilih Langganan. Jika Anda tidak melihatnya, pilih Semua layanan.
- Temukan entri langganan yang sesuai, lalu lihat bidang PERAN SAYA. Untuk administrator bersama, nilainya harus berupa Admin akun.
Jika Anda tidak dapat menambahkan administrator bersama, hubungi administrator layanan atau administrator bersama agar Anda bisa ditambahkan.
Langkah 4: Atur langganan Anda, dan daftarkan untuk migrasi
Pertama, mulai perintah PowerShell. Untuk migrasi, siapkan lingkungan Anda untuk Resource Manager dan klasik.
Masuk ke akun Anda untuk model Resource Manager.
Connect-AzAccount
Dapatkan langganan yang tersedia menggunakan perintah berikut ini:
Get-AzSubscription | Sort Name | Select Name
Atur langganan Azure Anda untuk sesi saat ini. Contoh ini menetapkan nama langganan default ke Langganan Azure Saya. Ganti contoh nama langganan dengan nama langganan Anda sendiri.
Select-AzSubscription –SubscriptionName "My Azure Subscription"
Catatan
Pendaftaran berupa langkah satu kali, tetapi Anda harus melakukannya sekali sebelum mencoba migrasi. Tanpa mendaftar, Anda akan melihat pesan kesalahan berikut:
BadRequest: Langganan tidak terdaftar untuk migrasi.
Daftar dengan penyedia sumber daya migrasi menggunakan perintah berikut:
Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
Tunggu lima menit hingga pendaftaran selesai. Periksa status persetujuan menggunakan perintah berikut:
Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
Pastikan RegistrationState adalah Registered
sebelum melanjutkan.
Sebelum beralih ke model penyebaran klasik, pastikan Anda memiliki cukup vCPU komputer virtual Azure Resource Manager di wilayah Azure dari penyebaran atau jaringan virtual Anda saat ini. Anda bisa menggunakan perintah PowerShell berikut ini untuk memeriksa jumlah vCPU yang Anda miliki saat ini di Azure Resource Manager. Untuk mempelajari selengkapnya tentang kuota vCPU, lihat Batasan dan Azure Resource Manager.
Contoh ini memeriksa ketersediaan di wilayah AS Barat. Ganti nama wilayah contoh dengan nama wilayah Anda sendiri.
Get-AzVMUsage -Location "West US"
Sekarang, masuk ke akun Anda untuk model penyebaran klasik.
Add-AzureAccount
Dapatkan langganan yang tersedia menggunakan perintah berikut ini:
Get-AzureSubscription | Sort SubscriptionName | Select SubscriptionName
Atur langganan Azure Anda untuk sesi saat ini. Contoh ini menetapkan langganan default menjadi Langganan Azure Saya. Ganti contoh nama langganan dengan nama langganan Anda sendiri.
Select-AzureSubscription –SubscriptionName "My Azure Subscription"
Langkah 5: Jalankan perintah untuk memigrasikan sumber daya IaaS Anda
- Migrasikan komputer di layanan cloud (bukan di jaringan virtual)
- Migrasikan komputer virtual dalam jaringan virtual
- Memigrasikan akun penyimpanan
Catatan
Semua operasi yang dijelaskan di sini adalah idempoten. Jika Anda memiliki masalah selain fitur yang tidak didukung atau kesalahan konfigurasi, sebaiknya Anda mencoba kembali operasi persiapan, pembatalan, atau pemrosesan. Platform kemudian mencoba tindakan lagi.
Langkah 5a: Opsi 1 - Memigrasikan komputer virtual dalam layanan cloud (bukan dalam jaringan virtual)
Dapatkan daftar layanan cloud menggunakan perintah berikut ini. Kemudian pilih layanan cloud yang ingin Anda migrasikan. Jika komputer virtual di layanan cloud berada di jaringan virtual atau jika mereka memiliki peran web atau pekerja, perintah akan mengembalikan pesan kesalahan.
Get-AzureService | ft Servicename
Dapatkan nama penyebaran untuk layanan cloud. Dalam contoh ini, nama layanannya adalah Layanan Saya. Ganti contoh nama layanan dengan nama layanan Anda sendiri.
$serviceName = "My Service"
$deployment = Get-AzureDeployment -ServiceName $serviceName
$deploymentName = $deployment.DeploymentName
Siapkan komputer virtual di layanan cloud untuk migrasi. Anda memiliki dua opsi untuk dipilih.
Opsi 1: Migrasikan komputer virtual ke jaringan virtual yang dibuat platform.
Pertama, validasikan bahwa Anda dapat memigrasikan layanan cloud menggunakan perintah berikut:
$validate = Move-AzureService -Validate -ServiceName $serviceName ` -DeploymentName $deploymentName -CreateNewVirtualNetwork $validate.ValidationMessages
Perintah berikut menampilkan peringatan dan kesalahan yang memblokir migrasi. Jika pesan validasi tidak berisi pesan kesalahan jenis, Anda dapat melanjutkan ke langkah Siapkan.
Move-AzureService -Prepare -ServiceName $serviceName ` -DeploymentName $deploymentName -CreateNewVirtualNetwork
Opsi 2: Migrasikan ke jaringan virtual yang ada dalam model penyebaran Resource Manager.
Contoh ini menetapkan nama grup sumber daya menjadi myResourceGroup, nama jaringan virtual menjadi myVirtualNetwork, dan nama subnet menjadi mySubNet. Ganti nama dalam contoh dengan nama sumber daya Anda sendiri.
$existingVnetRGName = "myResourceGroup" $vnetName = "myVirtualNetwork" $subnetName = "mySubNet"
Pertama, validasikan bahwa Anda dapat memigrasikan jaringan virtual menggunakan perintah berikut:
$validate = Move-AzureService -Validate -ServiceName $serviceName ` -DeploymentName $deploymentName -UseExistingVirtualNetwork -VirtualNetworkResourceGroupName $existingVnetRGName -VirtualNetworkName $vnetName -SubnetName $subnetName $validate.ValidationMessages
Perintah berikut menampilkan peringatan dan kesalahan yang memblokir migrasi. Jika pesan validasi tidak berisi kesalahan, Anda dapat melanjutkan dengan langkah Siapkan berikut ini:
Move-AzureService -Prepare -ServiceName $serviceName -DeploymentName $deploymentName ` -UseExistingVirtualNetwork -VirtualNetworkResourceGroupName $existingVnetRGName ` -VirtualNetworkName $vnetName -SubnetName $subnetName
Setelah operasi Siapkan berhasil dengan salah satu opsi sebelumnya, kueri status migrasi komputer virtual. Pastikan mereka dalam status Prepared
.
Contoh ini menetapkan nama komputer virtual menjadi myVM. Ganti nama contoh dengan nama VM Anda sendiri.
$vmName = "myVM"
$vm = Get-AzureVM -ServiceName $serviceName -Name $vmName
$vm.VM.MigrationState
Periksa konfigurasi untuk sumber daya yang disiapkan dengan menggunakan PowerShell atau portal Microsoft Azure. Jika Anda belum siap untuk migrasi dan ingin kembali ke status lama, gunakan perintah berikut:
Move-AzureService -Abort -ServiceName $serviceName -DeploymentName $deploymentName
Jika konfigurasi yang disiapkan sudah terlihat bagus, Anda dapat melanjutkan dan melakukan sumber daya menggunakan perintah berikut:
Move-AzureService -Commit -ServiceName $serviceName -DeploymentName $deploymentName
Langkah 5a: Opsi 2 - Memigrasikan komputer virtual dalam jaringan virtual
Untuk memigrasikan komputer virtual dalam jaringan virtual, Anda memigrasikan jaringan virtual. Komputer virtual secara otomatis bermigrasi dengan jaringan virtual. Pilih jaringan virtual yang ingin Anda migrasikan.
Catatan
Migrasikan satu komputer virtual yang dibuat menggunakan model penyebaran klasik dengan membuat kompuer virtual Resource Manager baru dengan Disk Terkelola menggunakan file VHD (OS dan data) dari komputer virtual.
Catatan
Nama jaringan virtual mungkin berbeda dari apa yang ditampilkan pada portal baru. Portal Microsoft Azure baru menampilkan nama sebagai [vnet-name]
, tetapi nama jaringan virtual yang sebenarnya berjenis Group [resource-group-name] [vnet-name]
. Sebelum memulai migrasi, cari nama jaringan virtual yang sebenarnya menggunakan perintah Get-AzureVnetSite | Select -Property Name
atau lihat di portal Microsoft Azure lama.
Contoh berikut ini mengatur nama jaringan virtual ke Grup [resource-group-name] [vnet-name]. Ganti contoh nama jaringan virtual dengan nama yang dikembalikan dari menjalankan perintah di bagian Catatan di atas..
$vnetName = "Group [resource-group-name] [vnet-name]"
Catatan
Jika jaringan virtual berisi peran web atau pekerja, atau komputer dengan konfigurasi yang tidak didukung, Anda akan mendapatkan pesan kesalahan validasi.
Pertama, validasikan bahwa Anda dapat memigrasikan jaringan virtual menggunakan perintah berikut:
Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
Perintah berikut menampilkan peringatan dan kesalahan yang memblokir migrasi. Jika validasi berhasil, Anda dapat melanjutkan ke langkah Persiapkan berikut:
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
Periksa konfigurasi untuk komputer virtual yang disiapkan dengan menggunakan Azure PowerShell atau portal Microsoft Azure. Jika Anda belum siap untuk migrasi dan ingin kembali ke status lama, gunakan perintah berikut:
Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName
Jika konfigurasi yang disiapkan sudah terlihat bagus, Anda dapat melanjutkan dan melakukan sumber daya menggunakan perintah berikut:
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
Langkah 5b: Memigrasikan akun penyimpanan
Setelah Anda selesai memigrasikan komputer virtual, lakukan pemeriksaan prasyarat berikut sebelum Anda memigrasikan akun penyimpanan.
Catatan
Jika akun penyimpanan Anda tidak memiliki disk atau data komputer virtual terkait, Anda dapat langsung ke bagian "Validasi akun penyimpanan dan mulai migrasi". Perhatikan juga bahwa menghapus disk klasik, citra komputer virtual, atau citra OS tidak menghapus file sumber VHD di akun penyimpanan. Namun, hal itu melanggar sewa pada file VHD tersebut sehingga dapat digunakan kembali untuk membuat disk atau citra ARM setelah migrasi.
Pemeriksaan prasyarat jika Anda memigrasikan komputer virtual atau akun penyimpanan Anda memiliki sumber daya disk:
Migrasikan komputer virtual yang disk-nya disimpan di akun penyimpanan.
Perintah berikut mengembalikan properti RoleName dan DiskName dari semua disk komputer virtual di akun penyimpanan. RoleName adalah nama komputer virtual tempat disk terpasang. Jika perintah ini mengembalikan disk, pastikan bahwa komputer virtual tempat disk ini dilampirkan dimigrasikan sebelum Anda memigrasikan akun penyimpanan.
$storageAccountName = 'yourStorageAccountName' Get-AzureDisk | where-Object {$_.MediaLink.Host.Contains($storageAccountName)} | Select-Object -ExpandProperty AttachedTo -Property ` DiskName | Format-List -Property RoleName, DiskName
Hapus disk komputer virtual yang tidak terpasang yang disimpan di akun penyimpanan.
Temukan disk komputer virtual yang tidak terpasang di akun penyimpanan dengan menggunakan perintah berikut:
$storageAccountName = 'yourStorageAccountName' Get-AzureDisk | where-Object {$_.MediaLink.Host.Contains($storageAccountName)} | Where-Object -Property AttachedTo -EQ $null | Format-List -Property DiskName
Jika perintah sebelumnya mengembalikan disk, hapus disk ini dengan menggunakan perintah berikut:
Remove-AzureDisk -DiskName 'yourDiskName'
Hapus citra komputer virtual yang disimpan di akun penyimpanan.
Perintah berikut mengembalikan semua citra komputer virtual dengan disk OS yang disimpan di akun penyimpanan.
Get-AzureVmImage | Where-Object { $_.OSDiskConfiguration.MediaLink -ne $null -and $_.OSDiskConfiguration.MediaLink.Host.Contains($storageAccountName)` } | Select-Object -Property ImageName, ImageLabel
Perintah berikut mengembalikan semua citra komputer virtual dengan disk data yang disimpan di akun penyimpanan.
Get-AzureVmImage | Where-Object {$_.DataDiskConfigurations -ne $null ` -and ($_.DataDiskConfigurations | Where-Object {$_.MediaLink -ne $null -and $_.MediaLink.Host.Contains($storageAccountName)}).Count -gt 0 ` } | Select-Object -Property ImageName, ImageLabel
Hapus semua citra komputer virtual yang dikembalikan oleh perintah sebelumnya dengan menggunakan perintah ini:
Remove-AzureVMImage -ImageName 'yourImageName'
Validasi akun penyimpanan dan mulai migrasi.
Validasi setiap akun penyimpanan untuk migrasi dengan menggunakan perintah berikut. Dalam contoh ini, nama akun penyimpanan adalah myStorageAccount. Ganti nama contoh dengan nama akun penyimpanan Anda sendiri.
$storageAccountName = "myStorageAccount" Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName
Langkah selanjutnya adalah menyiapkan akun penyimpanan untuk migrasi.
$storageAccountName = "myStorageAccount" Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName
Periksa konfigurasi untuk akun penyimpanan yang disiapkan dengan menggunakan Azure PowerShell atau portal Microsoft Azure. Jika Anda belum siap untuk migrasi dan ingin kembali ke status lama, gunakan perintah berikut:
Move-AzureStorageAccount -Abort -StorageAccountName $storageAccountName
Jika konfigurasi yang disiapkan sudah terlihat bagus, Anda dapat melanjutkan dan melakukan sumber daya menggunakan perintah berikut:
Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName
Langkah berikutnya
- Gambaran umum migrasi sumber daya IaaS yang didukung platform dari klasik ke Azure Resource Manager
- Pembahasan teknis mendalam tentang migrasi yang didukung platform dari klasik ke Azure Resource Manager
- Merencanakan migrasi sumber daya IaaS dari klasik ke Azure Resource Manager
- Menggunakan CLI untuk memigrasikan sumber daya IaaS dari klasik ke Azure Resource Manager
- Alat komunitas untuk membantu migrasi sumber daya IaaS dari klasik ke Azure Resource Manager
- Meninjau kesalahan migrasi yang paling umum
- Meninjau pertanyaan umum tentang memigrasikan sumber daya IaaS dari klasik ke Azure Resource Manager