Share via


VMware VM'lerini sunucu tarafı şifreleme ve müşteri tarafından yönetilen anahtarlarla etkinleştirilen Azure VM'lerine geçirme

Bu makalede, Geçiş ve modernleştirme (aracısız çoğaltma) kullanarak VMware VM'lerini müşteri tarafından yönetilen anahtarlarla (CMK) sunucu tarafı şifreleme (SSE) kullanılarak şifrelenmiş disklerle Azure sanal makinelerine geçirme işlemi açıklanmaktadır.

Geçiş ve modernleştirme portalı deneyimi, aracısız çoğaltma ile VMware VM'lerini Azure'a geçirmenizi sağlar. Portal deneyimi DES/CMK'yi destekler. ÇOĞALTMA başlatılmadan önce DES oluşturulmalıdır ve çoğaltma başlatılırken sağlanmalıdır. Geçiş sırasında sağlanamaz. Bu makalede, VMware VM'sini çoğaltmak ve Azure'da çoğaltılan diskleri CMK ile SSE kullanacak şekilde yapılandırmak için Azure Resource Manager şablonu oluşturup dağıtmayı öğreneceksiniz.

Bu makaledeki örnekler, Resource Manager şablonunu oluşturmak ve dağıtmak için gereken görevleri gerçekleştirmek için Azure PowerShell'i kullanır.

Yönetilen diskler için müşteri tarafından yönetilen anahtarlarla (CMK) sunucu tarafı şifrelemesi (SSE) hakkında daha fazla bilgi edinin.

Önkoşullar

Çoğaltmaya hazırlanma

VM bulma işlemi tamamlandıktan sonra, Geçiş ve modernleştirme kutucuğundaki Bulunan Sunucular satırı, alet tarafından bulunan VMware VM'lerinin sayısını gösterir.

VM'leri çoğaltmaya başlayabilmeniz için önce çoğaltma altyapısının hazırlanması gerekir.

  1. Hedef bölgede bir Service Bus örneği oluşturun. Service Bus, şirket içi Azure Geçişi aleti tarafından çoğaltma ve geçişi koordine etmek üzere Geçiş ve modernleştirme hizmetiyle iletişim kurmak için kullanılır.
  2. çoğaltmadan işlem günlüklerinin aktarılması için bir depolama hesabı oluşturun.
  3. Azure Geçişi aletinin çoğaltma verilerini karşıya yüklediği bir depolama hesabı oluşturun.
  4. Bir Key Vault oluşturun ve 3. ve 4. adımda oluşturulan depolama hesaplarında blob erişimi için paylaşılan erişim imzası belirteçlerini yönetmek üzere Key Vault'u yapılandırın.
  5. 1. adımda oluşturulan hizmet veri yolu için paylaşılan erişim imzası belirteci oluşturun ve önceki adımda oluşturulan Key Vault'ta belirteç için bir gizli dizi oluşturun.
  6. Şirket içi Azure Geçişi aletine (alet AAD uygulamasını kullanarak) ve Geçiş ve modernleştirme Hizmeti'ne Key Vault erişimi vermek için bir Key Vault erişim ilkesi oluşturun.
  7. Bir çoğaltma ilkesi oluşturun ve Önceki adımda oluşturulan çoğaltma altyapısının ayrıntılarıyla Geçiş ve modernleştirme hizmetini yapılandırın.

Çoğaltma altyapısı, geçiş için hedef Azure bölgesinde ve VM'lerin geçirildiği hedef Azure aboneliğinde oluşturulmalıdır.

Geçiş ve modernleştirme portalı deneyimi, bir vm'yi projede ilk kez çoğalttığınızda bunu sizin için otomatik olarak yaparak çoğaltma altyapısının hazırlanmasını kolaylaştırır. Bu makalede, portal deneyimini kullanarak bir veya daha fazla VM'yi zaten çoğalttığınız ve çoğaltma altyapısının zaten oluşturulduğunu varsayacağız. Var olan çoğaltma altyapısının ayrıntılarını bulmayı ve bu ayrıntıları CMK ile çoğaltmayı ayarlamak için kullanılacak Resource Manager şablonuna giriş olarak kullanmayı inceleyeceğiz.

Çoğaltma altyapısı bileşenlerini tanımlama

  1. Azure portalında kaynak grupları sayfasına gidin ve Azure Geçişi projesinin oluşturulduğu kaynak grubunu seçin.
  2. Sol menüden Dağıtımlar'ı seçin ve "Microsoft.MigrateV2.VMwareV2EnableMigrate" dizesiyle başlayan bir dağıtım adı arayın. Bu projedeki VM'ler için çoğaltmayı ayarlamak üzere portal deneyimi tarafından oluşturulan Resource Manager şablonlarının listesini görürsünüz. Böyle bir şablon indirecek ve şablonu CMK ile çoğaltmaya hazırlamak için temel olarak bu şablonu kullanacağız.
  3. Şablonu indirmek için, önceki adımda > dize düzeniyle eşleşen herhangi bir dağıtımı seçin, sol menüden > Şablon'a tıklayın üstteki menüden İndir'e tıklayın. template.json dosyasını yerel olarak kaydedin. Bu şablon dosyasını son adımda düzenleyeceksiniz.

Disk Şifreleme Kümesi Oluşturma

Disk şifreleme kümesi nesnesi, Yönetilen Diskler SSE için kullanılacak CMK'yi içeren bir Key Vault'a eşler. VM'leri CMK ile çoğaltmak için bir disk şifreleme kümesi oluşturacak ve çoğaltma işlemine giriş olarak geçireceksiniz.

Azure PowerShell kullanarak disk şifreleme kümesi oluşturmak için buradaki örneği izleyin. Disk şifreleme kümesinin VM'lerin geçirildiği hedef abonelikte ve geçiş için hedef Azure bölgesinde oluşturulduğundan emin olun.

Disk şifreleme kümesi, yönetilen diskleri müşteri tarafından yönetilen bir anahtarla veya hem müşteri tarafından yönetilen anahtar hem de platform anahtarıyla çift şifreleme için yapılandırılabilir. Bekleyen çift şifreleme seçeneğini kullanmak için disk şifreleme kümesini burada açıklandığı gibi yapılandırın.

Aşağıda gösterilen örnekte, disk şifreleme kümesi müşteri tarafından yönetilen bir anahtar kullanacak şekilde yapılandırılmıştır.

$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"

Geçirilen VMware VM'sinin ayrıntılarını alma

Bu adımda, geçirilmesi gereken VM'nin ayrıntılarını almak için Azure PowerShell'i kullanacaksınız. Bu ayrıntılar, çoğaltma için Resource Manager şablonunu oluşturmak için kullanılır. Özellikle, ilgilendiğim iki özellik şunlardır:

  • Bulunan VM'ler için makine Kaynak Kimliği.
  • VM için disklerin listesi ve bunların disk tanımlayıcıları.

$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/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite

VM'nin bulunduğu Azure Geçişi aletine karşılık gelen SiteId dizesinin değerini kopyalayın. Yukarıda gösterilen örnekte SiteId değeri "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite" şeklindedir .


#Replace value with SiteId from the previous step
$SiteId = "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/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.

Geçirilecek makinenin ResourceId, name ve disk uuid değerlerini kopyalayın.

PS > $machine.Name
10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210
PS > $machine.ResourceId
/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/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

Çoğaltma için Resource Manager şablonu oluşturma

  • seçtiğiniz bir düzenleyicide Çoğaltma altyapısı bileşenlerini tanımlama adımında indirdiğiniz Resource Manager şablon dosyasını açın.
  • "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" türündeki kaynaklar dışındaki tüm kaynak tanımlarını şablondan kaldırın
  • Yukarıdaki türdeki birden çok kaynak tanımı varsa, biri dışında tümünü kaldırın. Kaynak tanımından dependsOn özellik tanımlarını kaldırın.
  • Bu adımın sonunda, aşağıdaki örneğe benzeyen ve aynı özellik kümesine sahip bir dosyanız olmalıdır.
{
    "$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/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.RecoveryServices/vaults/ContosoMigration7371rsvault/replicationPolicies/migrateVMware104e4sitepolicy",
                "providerSpecificDetails": {
                    "instanceType": "VMwareCbt",
                    "vmwareMachineId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_500937f3-805e-9414-11b1-f22923456e08",
                    "targetResourceGroupId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/PayrollRG",
                    "targetNetworkId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/PayrollRG/providers/Microsoft.Network/virtualNetworks/PayrollNW",
                    "targetSubnetName": "PayrollSubnet",
                    "licenseType": "NoLicenseType",
                    "disksToInclude": [
                        {
                            "diskId": "6000C295-dafe-a0eb-906e-d47cb5b05a1d",
                            "isOSDisk": "true",
                            "logStorageAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.Storage/storageAccounts/migratelsa1432469187",
                            "logStorageAccountSasSecretName": "migratelsa1432469187-cacheSas",
                            "diskType": "Standard_LRS"
                        }
                    ],
                    "dataMoverRunAsAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "snapshotRunAsAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "targetBootDiagnosticsStorageAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.Storage/storageAccounts/migratelsa1432469187",
                    "targetVmName": "PayrollWeb04"
                }
            }
        }
    ]
}
  • Kaynak tanımında name özelliğini düzenleyin. name özelliğindeki son "/" değerini izleyen dizeyi $machine değeriyle değiştirin. Name( önceki adımdan).
  • properties.providerSpecificDetails.vmwareMachineId özelliğinin değerini $machine değeriyle değiştirin. ResourceId( önceki adımdan).
  • targetResourceGroupId, targetNetworkId, targetSubnetName değerlerini sırasıyla hedef kaynak grubu kimliğine, hedef sanal ağ kaynak kimliğine ve hedef alt ağ adına ayarlayın.
  • Bu VM için Azure Hibrit Avantajı uygulamak için licenseType değerini "WindowsServer" olarak ayarlayın. Bu VM Azure Hibrit Avantajı için uygun değilse licenseType değerini NoLicenseType olarak ayarlayın.
  • targetVmName özelliğinin değerini geçirilen VM için istenen Azure sanal makine adıyla değiştirin.
  • İsteğe bağlı olarak targetVmName özelliğinin altına targetVmSize adlı bir özellik ekleyin. targetVmSize özelliğinin değerini geçirilen VM için istenen Azure sanal makine boyutuna ayarlayın.
  • disksToInclude özelliği, bir şirket içi diski temsil eden her liste öğesiyle çoğaltma için disk girişlerinin listesidir. Şirket içi VM'de disk sayısı kadar liste öğesi oluşturun. Liste öğesindeki diskId özelliğini önceki adımda tanımlanan disklerin uuid değeriyle değiştirin. isOSDisk değerini VM'nin işletim sistemi diski için "true" ve diğer tüm diskler için "false" olarak ayarlayın. log Depolama AccountId ve log Depolama AccountSasSecretName özelliklerini değiştirmeden bırakın. diskType değerini, disk için kullanılacak Azure Yönetilen Disk türüne (Standard_LRS, Premium_LRS, StandardSSD_LRS) ayarlayın. CMK ile şifrelenmeleri gereken diskler için diskEncryptionSetId adlı bir özellik ekleyin ve değeri oluşturulan ($des) disk şifreleme kümesinin kaynak kimliğine ayarlayın. Id) disk şifreleme kümesi oluşturma adımında
  • Düzenlenen şablon dosyasını kaydedin. Yukarıdaki örnekte, düzenlenen şablon dosyası aşağıdaki gibi görünür:
{
    "$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/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.RecoveryServices/vaults/ContosoVMwareCMK00ddrsvault/replicationPolicies/migrateVMwareApplianca8basitepolicy",
                "providerSpecificDetails": {
                    "instanceType": "VMwareCbt",
                    "vmwareMachineId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210",
                    "targetResourceGroupId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoMigrationTarget",
                    "targetNetworkId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/cmkRTest/providers/Microsoft.Network/virtualNetworks/cmkvm1_vnet",
                    "targetSubnetName": "cmkvm1_subnet",
                    "licenseType": "NoLicenseType",
                    "disksToInclude": [
                        {
                            "diskId": "6000C291-5106-2aac-7a74-4f33c3ddb78c",
                            "isOSDisk": "true",
                            "logStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                            "logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
                            "diskEncryptionSetId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
                            "diskType": "Standard_LRS"
                        },
                        {
                            "diskId": "6000C293-39a1-bd70-7b24-735f0eeb79c4",
                            "isOSDisk": "false",
                            "logStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                            "logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
                            "diskEncryptionSetId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
                            "diskType": "Standard_LRS"
                        },
                        {
                            "diskId": "6000C29e-cbee-4d79-39c7-d00dd0208aa9",
                            "isOSDisk": "false",
                            "logStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                            "logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
                            "diskEncryptionSetId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
                            "diskType": "Standard_LRS"
                        }
                    ],
                    "dataMoverRunAsAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "snapshotRunAsAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "targetBootDiagnosticsStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                    "performAutoResync": "true",
                    "targetVmName": "FPL-W19-09"
                }
            }
        }
    ]
}

Çoğaltmayı ayarlama

Artık düzenlenen Resource Manager şablonunu proje kaynak grubuna dağıtarak VM için çoğaltmayı ayarlayabilirsiniz. Azure Resource Manager şablonları ve Azure PowerShell ile kaynak dağıtmayı öğrenin

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 :

Sonraki adımlar

Portal deneyimi aracılığıyla çoğaltma durumunu izleyin ve Test geçişlerini ve geçişini gerçekleştirin.