Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается перенос виртуальных машин VMware на виртуальные машины Azure с дисками, зашифрованными с помощью шифрования на стороне сервера (SSE) с ключами, управляемыми клиентом (CMK), с помощью миграции и модернизации (репликация без агента).
Интерфейс портала миграции и модернизации позволяет перенести виртуальные машины VMware в Azure с репликацией без агента. Интерфейс портала поддерживает DES/CMK. ПЕРЕД началом репликации необходимо создать DES и предоставить ее при запуске репликации. Его нельзя предоставить во время миграции. В этой статье вы узнаете, как создать и развернуть шаблон Azure Resource Manager для репликации виртуальной машины VMware и настроить реплицированные диски в Azure для использования SSE с CMK.
Примеры, приведенные в этой статье, используют Azure PowerShell для выполнения задач, необходимых для создания и развертывания шаблона Resource Manager.
Дополнительные сведения о шифровании на стороне сервера (SSE) с помощью ключей, управляемых клиентом (CMK) для управляемых дисков.
Предпосылки
- Ознакомьтесь с руководством по миграции виртуальных машин VMware в Azure с репликацией без агента, чтобы понять требования к средству.
- Следуйте этим инструкциям , чтобы создать проект службы "Миграция Azure" и добавить средство миграции и модернизации в проект.
- Следуйте этим инструкциям , чтобы настроить устройство службы "Миграция Azure" для VMware в локальной среде и завершить обнаружение.
Подготовка к репликации
После завершения обнаружения виртуальных машин строка "Обнаруженные серверы" на плитке "Миграция и модернизация" отображает количество виртуальных машин VMware, обнаруженных устройством.
Прежде чем начать репликацию виртуальных машин, необходимо подготовить инфраструктуру репликации.
- Создайте экземпляр служебной шины в целевом регионе. Служебная шина используется локальным устройством службы "Миграция Azure" для взаимодействия со службой миграции и модернизации для координации репликации и миграции.
- Создайте учетную запись хранения для передачи журналов операций из репликации.
- Создайте учетную запись хранения, в которую аппарат Azure Migrate загружает данные репликации.
- Создайте Key Vault и настройте его для управления токенами общей подписи доступа для доступа к объектам BLOB в учетных записях хранения, созданных на шагах 3 и 4.
- Создайте маркер подписи общего доступа для служебной шины, созданной на шаге 1, и создайте секрет для маркера в Key Vault, созданном на предыдущем шаге.
- Создайте политику доступа к Key Vault, чтобы предоставить доступ к Key Vault локальному устройству Azure Migrate (с использованием приложения AAD устройства) и службе миграции и модернизации.
- Создайте политику репликации и настройте службу миграции и модернизации с подробными сведениями о инфраструктуре репликации, созданной на предыдущем шаге.
Инфраструктура репликации должна быть создана в целевом регионе Azure для миграции и в целевой подписке Azure, на которую переносятся виртуальные машины.
Портал миграции и модернизации упрощает подготовку инфраструктуры репликации, автоматически выполняя это при репликации виртуальной машины впервые в проекте. В этой статье предполагается, что вы уже реплицировали одну или несколько виртуальных машин с помощью интерфейса портала и что инфраструктура репликации уже создана. Мы рассмотрим, как узнать сведения о существующей инфраструктуре репликации и использовать эти сведения в качестве входных данных в шаблон Resource Manager, который будет использоваться для настройки репликации с помощью CMK.
Определение компонентов инфраструктуры репликации
- На портале Azure перейдите на страницу групп ресурсов и выберите группу ресурсов, в которой был создан проект службы "Миграция Azure".
- Выберите развертывания в меню слева и найдите имя развертывания, начиная со строки "Microsoft.MigrateV2.VMwareV2EnableMigrate". Вы увидите список шаблонов Resource Manager, созданных порталом для настройки репликации виртуальных машин в этом проекте. Мы скачаем один такой шаблон и используем его в качестве основы для подготовки шаблона к репликации с помощью CMK.
- Чтобы скачать шаблон, выберите любое развертывание, соответствующее шаблону строки на предыдущем шаге>, выберите шаблон из меню слева выберите >" в верхнем меню. Сохраните файл template.json локально. Этот файл шаблона изменится на последнем шаге.
Создание набора шифрования дисков
Объект набора шифрования дисков сопоставляет управляемые диски с Key Vault, где содержится CMK для использования в SSE. Чтобы реплицировать виртуальные машины с помощью CMK, вы создадите набор шифрования дисков и передайте его в качестве входных данных в операцию репликации.
Следуйте примеру , чтобы создать набор шифрования дисков с помощью Azure PowerShell. Убедитесь, что набор шифрования дисков создается в целевой подписке, в которую переносятся виртуальные машины, и в целевом регионе Azure для миграции.
Набор шифрования дисков можно настроить для шифрования управляемых дисков с помощью ключа, управляемого клиентом, или для двойного шифрования с помощью ключа, управляемого клиентом, и ключа платформы. Чтобы использовать параметр двойного шифрования при хранении, настройте набор шифрования дисков, как описано здесь.
В приведенном ниже примере набор шифрования дисков настроен для использования ключа, управляемого клиентом.
$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"
Получение сведений о виртуальной машине VMware для миграции
На этом шаге вы будете использовать Azure PowerShell для получения сведений о виртуальной машине, которую необходимо перенести. Эти сведения будут использоваться для создания шаблона Resource Manager для репликации. В частности, два свойства, представляющие интерес:
- Идентификатор ресурса компьютера для обнаруженных виртуальных машин.
- Список дисков для виртуальной машины и их идентификаторов дисков.
$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
Скопируйте значение строки SiteId, соответствующее "прибору Azure Migrate", через который виртуальная машина была обнаружена. В примере, показанном выше, SiteId — "/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.
Скопируйте значения ResourceId, name и disk uuid для перенесенного компьютера.
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
Создание шаблона Resource Manager для репликации
- Откройте файл шаблона Resource Manager, скачанный на шаге "Определение компонентов инфраструктуры репликации " в выбранном редакторе.
- Удалите все определения ресурсов из шаблона, за исключением ресурсов, которые имеют тип Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems.
- Если существует несколько определений ресурсов указанного выше типа, удалите все, кроме одного. Удалите все определения свойств dependsOn из определения ресурса.
- В конце этого шага должен быть файл, который выглядит как приведенный ниже пример и имеет тот же набор свойств.
{
"$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"
}
}
}
]
}
- Измените свойство name в определении ресурса. Замените строку, следующую за последним "/" в свойстве имени значением $machine. Имя (из предыдущего шага).
- Измените значение свойства properties.providerSpecificDetails.vmwareMachineId со значением $machine. ResourceId(из предыдущего шага).
- Задайте значения для targetResourceGroupId, targetNetworkId, targetSubnetName как идентификатор целевой группы ресурсов, идентификатор целевой виртуальной сети и имя целевой подсети соответственно.
- Задайте для параметра licenseType значение "WindowsServer", чтобы применить преимущество гибридного использования Azure для этой виртуальной машины. Если эта виртуальная машина не имеет права на преимущество гибридного использования Azure, задайте для параметра licenseType значение NoLicenseType.
- Измените значение свойства targetVmName на требуемое имя виртуальной машины Azure для перенесенной виртуальной машины.
- При необходимости добавьте свойство с именем targetVmSize под свойством targetVmName . Задайте для свойства targetVmSize требуемый размер виртуальной машины Azure для перенесенной виртуальной машины.
- Свойство disksToInclude — это список входных данных диска для репликации с каждым элементом списка, представляющим один локальный диск. Создайте столько элементов списка, сколько дисков на локальной виртуальной машине. Замените свойство diskId в элементе списка на uuid дисков, определенных на предыдущем шаге. Задайте значение isOSDisk "true" для диска ОС виртуальной машины и "false" для всех других дисков. Оставьте свойства logStorageAccountId и logStorageAccountSasSecretName без изменений. Установите значение diskType для использования типа управляемого диска Azure (Standard_LRS, Premium_LRS, StandardSSD_LRS) для диска. Для дисков, которые необходимо зашифровать с помощью CMK, добавьте свойство с именем diskEncryptionSetId и задайте значение идентификатора ресурса созданного набора шифрования дисков ($des.Id) в шаге "Создание набора шифрования дисков".
- Сохраните измененный файл шаблона. В приведенном выше примере измененный файл шаблона выглядит следующим образом:
{
"$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"
}
}
}
]
}
Настройка репликации
Теперь вы можете развернуть измененный шаблон Resource Manager в группе ресурсов проекта, чтобы настроить репликацию для виртуальной машины. Узнайте, как развернуть ресурс с помощью шаблонов Azure Resource Manager и 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 :
Дальнейшие шаги
Мониторинг состояния репликации с помощью интерфейса портала и выполнение тестовой миграции и миграции.