Доступ к виртуальной машине для экстренного реагирования (EVA) — общедоступная предварительная версия

Важно!

Доступ к аварийной виртуальной машине для Azure Stack Hub доступен в общедоступной предварительной версии и применяется только к версии 2108.

Служба аварийного доступа к виртуальной машине (EVA) позволяет пользователю запрашивать помощь от оператора в сценариях, в которых этот пользователь заблокирован с виртуальной машины, а операция повторного развертывания не помогает восстановить доступ через сеть.

Эта функция должна быть включена для каждой подписки, и оператору необходимо включить доступ к удаленному рабочему столу, чтобы пользователь cloudadmin мог получить доступ к виртуальным машинам консоли аварийного восстановления (ERCS).

Первым шагом пользователя является запрос доступа к консоли виртуальной машины с помощью PowerShell. Запрос предоставляет согласие и позволяет оператору с дополнительными сведениями подключаться к виртуальной машине через консоль. Доступ к консоли не зависит от сетевого подключения и использует канал данных гипервизора.

Важно отметить, что оператор может проходить проверку подлинности только в операционной системе, работающей на виртуальной машине, если учетные данные известны. На этом этапе оператор также может обмениваться экранами с пользователем и устранять проблему вместе для восстановления сетевого подключения.

Важно!

Функция EVA ограничена Windows серверных компьютеров, работающих с графическим интерфейсом пользователя, так как основная операционная система не поддерживает функциональность экранной клавиатуры. Так как сочетание клавиш CTRL+ALT+DEL нельзя отправлять в качестве входных данных, вы не сможете войти на основной сервер, даже если вы можете подключиться к консоли. Если вам нужно устранить проблему с Windows основной ОС, обратитесь в службу поддержки Майкрософт, чтобы предоставить доступ к консоли из разблокированного PEP.

Оператор включает подписку пользователя для EVA

В этом сценарии оператор может решить, какая подписка должна использовать функцию аварийного доступа к виртуальной машине.

Сначала запустите следующий сценарий PowerShell. Чтобы запустить этот сценарий, необходимо установить Azure Stack Hub PowerShell. Следуйте указаниям по установке Azure Stack Hub PowerShell. Замените заполнители переменных правильными значениями:

# Replace strings with your values before running the script
$FQDN = "External FQDN"
$RegionName = "Azure Stack Region Name"
# The value for "TenantID" should always be the tenant ID of home directory as it's only used for connecting to the admin resource manager endpoint.
$TenantID = "TenantID"
$TenantSubscriptionId = "Tenant Subscription ID"

$tenantSubscriptionSettings = @{
    TenantSubscriptionId = $tenantSubscriptionId
}

# Add environment & authenticate
Add-AzureRmEnvironment -Name AzureStackAdmin -ARMEndpoint https://adminmanagement.$RegionName.$FQDN
Login-AzureRmAccount -Environment AzureStackAdmin -TenantId $TenantID

Invoke-AzureRmResourceAction `
    -ResourceName "$($RegionName)/Microsoft.Compute.EmergencyVMAccess" `
    -ResourceType "Microsoft.Compute.Admin/locations/features" `
    -Action "enableTenantSubscriptionFeature" `
    -Parameters $tenantSubscriptionSettings `
    -ApiVersion "2020-11-01" `
    -ErrorAction Stop `
    -Force

Пользователь запрашивает доступ к консоли виртуальной машины

Как пользователь предоставляет согласие оператору на создание доступа к консоли для определенной виртуальной машины.

  1. Откройте PowerShell, войдите в свою подписку и подключитесь к Azure Stack Hub, как описано здесь.

  2. Выполните следующий сценарий. Чтобы создать VMResourceID, необходимо заменить идентификатор подписки, группу ресурсов и имя виртуальной машины:

    $SubscriptionID = "your Azure subscription ID" 
    $ResourceGroup = "your resource group name" 
    $VMName = "your VM name" 
    $vmResourceId = "/subscriptions/$SubscriptionID/resourceGroups/$ResourceGroup/providers/Microsoft.Compute/virtualMachines/$VMName" 
    
    $enableVMAccessResponse = Invoke-AzureRMResourceAction `
        -ResourceId $vmResourceId `
        -Action "enableVmAccess" `
        -ApiVersion "2020-06-01" `
        -ErrorAction Stop `
        -Force
    
    Write-Host "Please provide the following output to operator`n" -ForegroundColor Yellow
    Write-Host "ERCS Name:`t$(($enableVMAccessResponse).ERCSName)" -ForegroundColor Cyan
    Write-Host "ConnectTo-TenantVm -ResourceID $($vmResourceId)" -ForegroundColor Green
    Write-Host "Delete-TenantVMSession -ResourceID $($vmResourceId)" -ForegroundColor Green
    

  1. Скрипт возвращает имя консоли аварийного восстановления (ERCS), которую клиент предоставляет оператору вместе с VMResourceID.

Оператор позволяет удаленному рабочему столу получать доступ к виртуальным машинам ERCS

Следующим шагом для оператора Azure Stack Hub является включение удаленного рабочего стола доступа к виртуальным машинам консоли аварийного восстановления (ERCS), в которых размещаются привилегированные конечные точки.

Выполните следующие команды в привилегированной конечной точке (PEP) с рабочей станции оператора, которая будет использоваться для подключения к ERCS. Команда добавит IP-адрес рабочей станции в список безопасности сети. Следуйте указаниям по подключению к PEP. Оператор может быть членом группы пользователей cloudadmin или самой cloudadmin :

Grant-RdpAccessToErcsVM

Чтобы отключить доступ удаленного рабочего стола к виртуальным машинам консоли аварийного восстановления (ERCS), выполните следующую команду в привилегированной конечной точке (PEP):

Revoke-RdpAccessToErcsVM

Примечание

Любой из виртуальных машин ERCS будет назначен запрос на доступ пользователя клиента. Как оператор можно создать сеанс PEP только для виртуальной машины ERCS, полученной от клиента (выходные $enableVMAccessResponseданные).

  1. Оператор использует имя ERCS и подключается к нему с помощью клиента удаленного рабочего стола (RDP); например, с рабочей станции доступа к оператору (OAW).

    Примечание

    Оператор выполняет проверку подлинности с помощью той же учетной записи администратора облака, что и Grant-RdpAccessToErcsVM.

  2. После подключения к виртуальной машине ERCS через RDP запустите PowerShell.

  3. Импортируйте модуль аварийного доступа к виртуальной машине, выполнив следующую команду:

    Import-module Microsoft.AzureStack.Compute.EmergencyVmAccess.PowerShellModule
    
  4. Подключение в консоль виртуальной машины клиента с помощью следующей команды:

    ConnectTo-TenantVm -ResourceID
    
  5. Теперь оператор подключается к экрану консоли виртуальной машины клиента, к которой необходимо снова пройти проверку подлинности с помощью учетных данных cloudadmin . У оператора нет учетных данных для входа в гостевую операционную систему.

    Примечание

    На экране входа нажатие клавиш Windows + U запускает экранную клавиатуру, которая позволяет отправлять клавиши CTRL+ALT+DELETE. Для использования сочетания клавиш Windows + U необходимо использовать полноэкранный режим RDP.

  6. Теперь оператор может предоставить общий доступ клиенту для отладки любых проблем, которые препятствуют подключению к виртуальной машине через сеть.

  7. По завершении оператор может выполнить следующую команду, чтобы удалить согласие пользователя:

    Delete-TenantVMSession -ResourceID
    

    Примечание

    Срок действия согласия пользователя истекает автоматически через 8 часов и отменит весь доступ оператором.