緊急 VM アクセス (EVA)

緊急 VM アクセス サービス (EVA) を使用すると、ユーザーは仮想マシンからロックアウトされるシナリオでオペレーターにヘルプを要求でき、再デプロイ操作ではネットワーク経由のアクセスを回復できません。

注意

EVA は、Azure Stack Hub 2301 以降の一般提供でリリースされました。

この機能はサブスクリプションごとに有効にする必要があり、 cloudadmin ユーザーが緊急回復コンソール VM (ERCS) にアクセスするには、オペレーターがリモート デスクトップ アクセスを有効にする必要があります。

ユーザーが行う最初のステップは、PowerShell で VM コンソールへのアクセスを要求することです。 要求により、オペレーターがコンソールから仮想マシンに接続することに同意し、そのための追加情報を許可します。 コンソール アクセスはネットワーク接続に依存せず、ハイパーバイザーのデータ チャネルを使用します。

オペレーターは、資格情報がわかっている場合にのみ、VM 内で実行されているオペレーティング システムに対して認証できます。 その時点で、オペレーターはユーザーと画面を共有し、問題を解決してネットワーク接続を復元することもできます。

重要

Windows Server を実行している VM の場合、EVA 機能はグラフィカル ユーザー インターフェイス (GUI) で実行されているコンピューターに限定されます。 Windows Server の場合、コア オペレーティング システムはスクリーン キーボード機能をサポートしていません。 Ctrl + Alt + Del キーの組み合わせを入力として送信できないため、そのコンソールに接続することはできますが、コア サーバーにサインインすることはできません。 Windows コア OS に関する問題に対処する必要がある場合は、Microsoft サポートに問い合わせて、ロック解除された PEP からのコンソール アクセスを提供してください。

オペレーターが EVA のユーザー サブスクリプションを有効にする

このシナリオでは、オペレーターは緊急 VM アクセス機能を使用できる必要があるサブスクリプションを決定できます。

最初に、次の 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

VM コンソールへのアクセスを要求するユーザー

ユーザーは、オペレーターが特定の VM に対してコンソール アクセスを作成することに同意します。

  1. ユーザーとして PowerShell を開き、サブスクリプションにサインインして、こちらで説明されているように Azure Stack Hub に接続します

  2. 次のスクリプトを実行します。 VMResourceID を作成するには、サブスクリプション ID、リソース グループ、VM 名を置き換える必要があります。

    $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. このスクリプトからは、VMResourceID と共に、テナントがオペレーターに提供した緊急回復コンソール名 (ERCS) が返されます。

オペレーターが ERCS VM へのリモート デスクトップ アクセスを有効にする

Azure Stack Hub オペレーターの次のステップは、特権エンドポイントをホストする緊急回復コンソール VM (ERCS) へのリモート デスクトップ アクセスを有効にすることです。

ERCS への接続に使用するオペレーター ワークステーションから、特権エンドポイント (PEP) で次のコマンドを実行します。 コマンドは、ワークステーションの IP をネットワーク セーフリストに追加します。 PEP に接続する方法に関するガイダンスに従ってください。 オペレーターは、cloudadmin ユーザー グループのメンバーまたは cloudadmin 自身でもかまいません。

Grant-RdpAccessToErcsVM

緊急回復コンソール VM (ERCS) へのリモート デスクトップ アクセスを無効にするには、特権エンドポイント (PEP) で次のコマンドを実行します。

Revoke-RdpAccessToErcsVM

注意

いずれかの ERCS VM にテナント ユーザーのアクセス要求が割り当てられます。 オペレーターは、テナントから受信した ERCS VM ($enableVMAccessResponse の出力) に対してのみ、PEP セッションを作成できます。

  1. オペレーターは、たとえばオペレーター アクセス ワークステーション (OAW) から、リモート デスクトップ クライアント (RDP) を使い、その ERCS 名を使用して接続します。

    Note

    オペレーターは、Grant-RdpAccessToErcsVM を実行したのと同じクラウド管理者アカウントを使用して認証を行います。

  2. RDP 経由で ERCS VM に接続したら、PowerShell を起動します。

  3. 次のコマンドを使用して、テナント仮想マシンのコンソールに接続します。

    ConnectTo-TenantVm -ResourceID
    
  4. オペレーターは、、cloudadmin 資格情報を再び使用して、認証を行う必要があるテナント仮想マシンのコンソール画面に接続します。 オペレーターには、ゲスト オペレーティング システムにサインインするための資格情報がありません。

    注意

    サインイン画面で、Windows + U キーを押すとスクリーン キーボードが起動され、Ctrl + Alt + Delter キーを押すことができます。 Windows + U キーの組み合わせを使用するには、全画面 RDP モードである必要があります。

  5. オペレーターは、テナントと画面を共有し、VM への接続を妨げている問題をネットワーク経由でデバッグできます。

  6. 完了したら、オペレーターは次のコマンドを実行してユーザーの同意を削除できます。

    Delete-TenantVMSession -ResourceID
    

    Note

    ユーザーの同意は 8 時間後に自動的に期限切れになり、オペレーターによるすべてのアクセスが取り消されます。