Memigrasikan VM VMware ke VM Azure yang diaktifkan dengan enkripsi sisi server dan kunci yang dikelola pelanggan
Artikel ini menjelaskan cara memigrasikan VMware VM ke komputer virtual Azure dengan disk yang dienkripsi menggunakan enkripsi sisi server (SSE) dengan kunci yang dikelola pelanggan (CMK), menggunakan Migrasi dan modernisasi (replikasi tanpa agen).
Pengalaman portal Migrasi dan modernisasi memungkinkan Anda memigrasikan VMware VM ke Azure dengan replikasi tanpa agen. Pengalaman portal mendukung DES/CMK. DES harus dibuat sebelum memulai replikasi dan harus disediakan saat memulai replikasi. Ini tidak dapat disediakan pada saat migrasi. Dalam artikel ini, Anda akan melihat cara membuat dan menyebarkan templat Azure Resource Manager untuk mereplikasi VM VMware dan mengonfigurasi disk yang direplikasi di Azure untuk menggunakan SSE dengan CMK.
Contoh dalam artikel ini menggunakan Azure PowerShell untuk menjalankan tugas yang diperlukan guna membuat dan menyebarkan templat Resource Manager.
Pelajari selengkapnya tentang enkripsi sisi server (SSE) dengan kunci yang dikelola pelanggan (CMK) untuk disk yang dikelola.
Prasyarat
- Tinjau tutorial tentang migrasi VM VMware ke Azure dengan replikasi tanpa agen untuk memahami persyaratan alat.
- Ikuti instruksi ini untuk membuat proyek Azure Migrate dan menambahkan alat Migrasi dan modernisasi ke proyek.
- Ikuti petunjuk ini untuk menyiapkan alat Azure Migrate untuk VMware di lingkungan lokal Anda dan menyelesaikan penemuan.
Mempersiapkan replikasi
Setelah penemuan VM selesai, baris Server yang Ditemukan pada petak peta Migrasi dan modernisasi akan menampilkan jumlah VMware VM yang ditemukan oleh appliance.
Sebelum Anda dapat mulai mereplikasi VM, infrastruktur replikasi perlu dipersiapkan.
- Buat instans Bus Layanan di wilayah target. Bus Layanan digunakan oleh appliance Azure Migrate lokal untuk berkomunikasi dengan layanan Migrasi dan modernisasi untuk mengoordinasikan replikasi dan migrasi.
- Buat akun penyimpanan untuk transfer log operasi dari replikasi.
- Buat akun penyimpanan tempat appliance Azure Migrate mengunggah data replikasi.
- Buat Key Vault dan konfigurasikan Key Vault untuk mengelola token tanda tangan akses bersama untuk akses blob pada akun penyimpanan yang dibuat pada langkah 3 dan 4.
- Buat token tanda tangan akses bersama untuk bus layanan yang dibuat di langkah 1 dan buat rahasia untuk token di Key Vault yang dibuat di langkah sebelumnya.
- Buat kebijakan akses Key Vault untuk memberikan appliance Azure Migrate lokal (menggunakan aplikasi AAD appliance) dan akses Layanan Migrasi dan modernisasi ke Key Vault.
- Buat kebijakan replikasi dan konfigurasikan layanan Migrasi dan modernisasi dengan detail infrastruktur replikasi yang dibuat pada langkah sebelumnya.
Infrastruktur replikasi harus dibuat di wilayah Azure target untuk migrasi dan di langganan Azure target tempat VM dimigrasikan.
Pengalaman portal Migrasi dan modernisasi menyederhanakan persiapan infrastruktur replikasi dengan melakukan ini secara otomatis untuk Anda saat Anda mereplikasi VM untuk pertama kalinya dalam proyek. Dalam artikel ini, kami akan berasumsi bahwa Anda sudah mereplikasi satu atau beberapa VM menggunakan pengalaman portal dan infrastruktur replikasi sudah dibuat. Kita akan melihat cara menemukan detail infrastruktur replikasi yang ada dan cara menggunakan detail ini sebagai input ke templat Resource Manager yang akan digunakan untuk menyiapkan replikasi dengan CMK.
Mengidentifikasi komponen infrastruktur replikasi
- Di portal Azure, buka halaman grup sumber daya dan pilih grup sumber daya tempat proyek Azure Migrate dibuat.
- Pilih Penyebaran dari menu sebelah kiri dan telusuri nama penyebaran yang diawali dengan string "Microsoft.MigrateV2.VMwareV2EnableMigrate". Anda akan melihat daftar templat Resource Manager yang dibuat oleh pengalaman portal guna menyiapkan replikasi untuk VM dalam proyek ini. Kami akan mengunduh satu templat tersebut dan menggunakannya sebagai dasar guna menyiapkan templat untuk direplikasi dengan CMK.
- Untuk mengunduh templat, pilih penyebaran apa pun yang cocok dengan pola string di langkah > sebelumnya pilih Templat dari menu > sebelah kiri Klik Unduh dari menu atas. Simpan file template.json secara lokal. Anda akan mengedit file templat ini pada langkah terakhir.
Membuat Set Enkripsi Disk
Enkripsi disk mengatur objek yang memetakan Disk Terkelola ke Key Vault yang berisi CMK yang akan digunakan untuk SSE. Untuk mereplikasi VM dengan CMK, Anda akan membuat set enkripsi disk dan meneruskannya sebagai input ke operasi replikasi.
Ikuti contoh di sini untuk membuat set enkripsi disk menggunakan Azure PowerShell. Pastikan bahwa set enkripsi disk dibuat di langganan target tempat VM dimigrasikan, dan di wilayah Azure target untuk migrasi.
Set enkripsi disk dapat dikonfigurasi untuk mengenkripsi disk yang dikelola dengan kunci yang dikelola pelanggan, atau untuk enkripsi ganda dengan kunci yang dikelola pelanggan dan kunci platform. Untuk menggunakan opsi enkripsi ganda saat tidak aktif, konfigurasikan set enkripsi disk seperti yang dijelaskan di sini.
Dalam contoh yang ditunjukkan di bawah, set enkripsi disk dikonfigurasi untuk menggunakan kunci yang dikelola pelanggan.
$Location = "southcentralus" #Target Azure region for migration
$TargetResourceGroupName = "ContosoMigrationTarget"
$KeyVaultName = "ContosoCMKKV"
$KeyName = "ContosoCMKKey"
$KeyDestination = "Software"
$DiskEncryptionSetName = "ContosoCMKDES"
$KeyVault = New-AzKeyVault -Name $KeyVaultName -ResourceGroupName $TargetResourceGroupName -Location $Location -EnableSoftDelete -EnablePurgeProtection
$Key = Add-AzKeyVaultKey -VaultName $KeyVaultName -Name $KeyName -Destination $KeyDestination
$desConfig = New-AzDiskEncryptionSetConfig -Location $Location -SourceVaultId $KeyVault.ResourceId -KeyUrl $Key.Key.Kid -IdentityType SystemAssigned
$des = New-AzDiskEncryptionSet -Name $DiskEncryptionSetName -ResourceGroupName $TargetResourceGroupName -InputObject $desConfig
Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
New-AzRoleAssignment -ResourceName $KeyVaultName -ResourceGroupName $TargetResourceGroupName -ResourceType "Microsoft.KeyVault/vaults" -ObjectId $des.Identity.PrincipalId -RoleDefinitionName "Reader"
Mendapatkan detail VM VMware yang akan dimigrasi
Pada langkah ini, Anda akan menggunakan Azure PowerShell untuk mendapatkan detail VM yang perlu dimigrasikan. Detail ini akan digunakan untuk menyusun templat Resource Manager untuk replikasi. Secara khusus, dua properti minatnya adalah:
- ID Sumber Daya komputer untuk VM yang ditemukan.
- Daftar disk untuk VM dan pengidentifikasi disknya.
$ProjectResourceGroup = "ContosoVMwareCMK" #Resource group that the Azure Migrate Project is created in
$ProjectName = "ContosoVMwareCMK" #Name of the Azure Migrate Project
$solution = Get-AzResource -ResourceGroupName $ProjectResourceGroup -ResourceType Microsoft.Migrate/MigrateProjects/solutions -ExpandProperties -ResourceName $ProjectName | where Name -eq "Servers-Discovery-ServerDis
covery"
# Displays one entry for each appliance in the project mapping the appliance to the VMware sites discovered through the appliance.
$solution.Properties.details.extendedDetails.applianceNameToSiteIdMapV2 | ConvertFrom-Json | select ApplianceName, SiteId
ApplianceName SiteId
------------- ------
VMwareApplianc /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite
Salin nilai string SiteId yang sesuai dengan appliance Azure Migrate yang ditemukan melalui VM. Dalam contoh yang ditunjukkan di atas, SiteId adalah "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite"
#Replace value with SiteId from the previous step
$SiteId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite"
$SiteName = Get-AzResource -ResourceId $SiteId -ExpandProperties | Select-Object -ExpandProperty Name
$DiscoveredMachines = Get-AzResource -ResourceGroupName $ProjectResourceGroup -ResourceType Microsoft.OffAzure/VMwareSites/machines -ExpandProperties -ResourceName $SiteName
#Get machine details
PS /home/bharathram> $MachineName = "FPL-W19-09" #Replace string with VMware VM name of the machine to migrate
PS /home/bharathram> $machine = $Discoveredmachines | where {$_.Properties.displayName -eq $MachineName}
PS /home/bharathram> $machine.count #Validate that only 1 VM was found matching this name.
Salin nilai ResourceId, nama, dan uuid disk untuk komputer yang akan dimigrasikan.
PS > $machine.Name
10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210
PS > $machine.ResourceId
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210
PS > $machine.Properties.disks | select uuid, label, name, maxSizeInBytes
uuid label name maxSizeInBytes
---- ----- ---- --------------
6000C291-5106-2aac-7a74-4f33c3ddb78c Hard disk 1 scsi0:0 42949672960
6000C293-39a1-bd70-7b24-735f0eeb79c4 Hard disk 2 scsi0:1 53687091200
6000C29e-cbee-4d79-39c7-d00dd0208aa9 Hard disk 3 scsi0:2 53687091200
Membuat templat Resource Manager untuk replikasi
- Buka file templat Resource Manager yang Anda unduh di langkah Mengidentifikasi komponen infrastruktur replikasi di editor pilihan Anda.
- Hapus semua definisi sumber daya dari templat kecuali untuk sumber daya dengan jenis "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems"
- Jika ada beberapa definisi sumber daya dari jenis di atas, hapus semua kecuali satu. Hapus definisi properti dependsOn dari definisi sumber daya.
- Di akhir langkah ini, Anda harus memiliki file yang terlihat seperti contoh di bawah ini dan memiliki kumpulan properti yang sama.
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
"apiVersion": "2018-01-10",
"name": "ContosoMigration7371rsvault/VMware104e4replicationfabric/VMware104e4replicationcontainer/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_500937f3-805e-9414-11b1-f22923456e08",
"properties": {
"policyId": "/Subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/ContosoMigration/providers/Microsoft.RecoveryServices/vaults/ContosoMigration7371rsvault/replicationPolicies/migrateVMware104e4sitepolicy",
"providerSpecificDetails": {
"instanceType": "VMwareCbt",
"vmwareMachineId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_500937f3-805e-9414-11b1-f22923456e08",
"targetResourceGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/PayrollRG",
"targetNetworkId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/PayrollRG/providers/Microsoft.Network/virtualNetworks/PayrollNW",
"targetSubnetName": "PayrollSubnet",
"licenseType": "NoLicenseType",
"disksToInclude": [
{
"diskId": "6000C295-dafe-a0eb-906e-d47cb5b05a1d",
"isOSDisk": "true",
"logStorageAccountId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/ContosoMigration/providers/Microsoft.Storage/storageAccounts/migratelsa1432469187",
"logStorageAccountSasSecretName": "migratelsa1432469187-cacheSas",
"diskType": "Standard_LRS"
}
],
"dataMoverRunAsAccountId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/runasaccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"snapshotRunAsAccountId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/runasaccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"targetBootDiagnosticsStorageAccountId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/ContosoMigration/providers/Microsoft.Storage/storageAccounts/migratelsa1432469187",
"targetVmName": "PayrollWeb04"
}
}
}
]
}
- Edit properti name dalam definisi sumber daya. Ganti string setelah "/" terakhir di properti name dengan nilai $machine.Name(dari langkah sebelumnya).
- Ubah nilai properti properties.providerSpecificDetails.vmwareMachineId dengan nilai $machine.ResourceId( dari langkah sebelumnya).
- Tetapkan nilai untuk targetResourceGroupId, targetNetworkId, targetSubnetName ke ID grup sumber daya target, ID sumber daya jaringan virtual target, dan nama subnet target.
- Tetapkan nilai licenseType ke "WindowsServer" guna menerapkan Azure Hybrid Benefit untuk VM ini. Jika VM ini tidak memenuhi syarat untuk Azure Hybrid Benefit, tetapkan nilai licenseType ke NoLicenseType.
- Ubah nilai properti targetVmName ke nama komputer virtual Azure yang diinginkan untuk VM yang dimigrasikan.
- Secara opsional, tambahkan properti bernama targetVmSize di bagian properti targetVmName. Tetapkan nilai properti targetVmSize ke ukuran komputer virtual Azure yang diinginkan untuk VM yang dimigrasikan.
- Properti disksToInclude adalah daftar input disk untuk replikasi dengan setiap item daftar mewakili satu disk lokal. Buat item daftar sebanyak jumlah disk di VM lokal. Ganti properti diskId di item daftar ke uuid dari disk yang diidentifikasi pada langkah sebelumnya. Tetapkan nilai isOSDisk ke "true" untuk disk OS VM dan "false" untuk semua disk lainnya. Biarkan properti logStorageAccountId dan logStorageAccountSasSecretName menggunakan pengaturan defaultnya. Tetapkan nilai diskType ke jenis Disk yang Dikelola Azure (Standard_LRS, Premium_LRS, StandardSSD_LRS) yang akan digunakan untuk disk. Untuk disk yang perlu dienkripsi dengan CMK, tambahkan properti bernama diskEncryptionSetId dan tetapkan nilainya ke ID sumber daya dari kumpulan enkripsi disk yang dibuat($des.Id) di langkah Membuat Set Enkripsi Disk
- Simpan file templat yang telah diedit. Untuk contoh di atas, file templat yang diedit akan terlihat sebagai berikut:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
"apiVersion": "2018-01-10",
"name": "ContosoVMwareCMK00ddrsvault/VMwareApplianca8bareplicationfabric/VMwareApplianca8bareplicationcontainer/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210",
"properties": {
"policyId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.RecoveryServices/vaults/ContosoVMwareCMK00ddrsvault/replicationPolicies/migrateVMwareApplianca8basitepolicy",
"providerSpecificDetails": {
"instanceType": "VMwareCbt",
"vmwareMachineId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210",
"targetResourceGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoMigrationTarget",
"targetNetworkId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/cmkRTest/providers/Microsoft.Network/virtualNetworks/cmkvm1_vnet",
"targetSubnetName": "cmkvm1_subnet",
"licenseType": "NoLicenseType",
"disksToInclude": [
{
"diskId": "6000C291-5106-2aac-7a74-4f33c3ddb78c",
"isOSDisk": "true",
"logStorageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
"logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
"diskEncryptionSetId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
"diskType": "Standard_LRS"
},
{
"diskId": "6000C293-39a1-bd70-7b24-735f0eeb79c4",
"isOSDisk": "false",
"logStorageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
"logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
"diskEncryptionSetId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
"diskType": "Standard_LRS"
},
{
"diskId": "6000C29e-cbee-4d79-39c7-d00dd0208aa9",
"isOSDisk": "false",
"logStorageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
"logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
"diskEncryptionSetId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
"diskType": "Standard_LRS"
}
],
"dataMoverRunAsAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/runasaccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"snapshotRunAsAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/runasaccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"targetBootDiagnosticsStorageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
"performAutoResync": "true",
"targetVmName": "FPL-W19-09"
}
}
}
]
}
Siapkan replikasi
Anda sekarang dapat meyebarkan templat Resource Manager yang telah diedit ke grup sumber daya proyek guna menyiapkan replikasi untuk VM. Pelajari cara menyebarkan sumber daya dengan templat Azure Resource Manager dan Azure PowerShell
New-AzResourceGroupDeployment -ResourceGroupName $ProjectResourceGroup -TemplateFile "C:\Users\Administrator\Downloads\template.json"
DeploymentName : template
ResourceGroupName : ContosoVMwareCMK
ProvisioningState : Succeeded
Timestamp : 3/11/2020 8:52:00 PM
Mode : Incremental
TemplateLink :
Parameters :
Outputs :
DeploymentDebugLogLevel :
Langkah berikutnya
Pantau status replikasi melalui pengalaman portal dan lakukan Uji migrasi dan migrasi.