Поделиться через


Экстренный доступ к виртуальной машине (EVA)

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

Примечание.

EVA была выпущена с общедоступной доступностью, начиная с Azure Stack Hub 2301.

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

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

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

Внимание

Для виртуальных машин под управлением Windows Server функция EVA ограничена компьютерами, работающими с графическим пользовательским интерфейсом (GUI). Для Windows Server основная операционная система не поддерживает функции клавиатуры на экране. Так как сочетание клавиш CTRL+ALT+Del невозможно отправить в качестве входных данных, вы не можете войти на основной сервер, даже если вы можете подключиться к консоли. Если вам нужно устранить проблему с ос Windows core, обратитесь в службу поддержки Майкрософт, чтобы предоставить доступ к консоли из разблокированного 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 = [string]$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. Подключитесь к консоли виртуальной машины клиента с помощью следующей команды:

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

    Примечание.

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

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

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

    Delete-TenantVMSession -ResourceID
    

    Примечание.

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