AVD で留意すべき期限について

Last Update: feedback 共有

本記事はマイクロソフト社員によって公開されております。

こんにちは、Windows サポート チームの神田です。
Azure Virtual Desktop (以下、 AVD) を利用するにあたり留意いただきたい期限について、ご案内いたします。

登録トークンの期限について

Azure Virtual Desktop (以下、 AVD) には、AVD エージェントというプログラムがセッション ホストで動作しておりますが、これには登録トークンが使用されており 90 日という期限があります。

セッション ホストを 90 日以上、連続で停止している場合は、登録トークンの証明書の有効期限が期限切れとなってしまい AVD エージェントが正しく動作せずセッション ホストが AVD サービスと接続できずリモート接続を受け付けられなくなります。
本動作については、下記 AVD の FAQ にも記載しておりますとおり、エージェントは自動起動され自発的に処理を行うので、90 日連続停止する前にセッション ホストを起動し 20 分ほど稼働させておけば登録トークンも更新されます。

‐ 参考資料 : 登録の問題を防ぐには、VM をどれくらいの頻度でオンにする必要がありますか?

登録トークンの有効期限が切れてしまった場合でも、AVD エージェントを再インストールすれば登録トークンが更新され、再び利用可能となりますが、再インストールのための作業が必要となるため、弊社としては定期的にセッションホストを起動し、登録トークンの更新を行うことを推奨しています。

なお、登録トークンの証明書の有効期間につきましては、弊社管理プレーンのログからのみ確認可能であり、
お客様ご自身にて確認可能な方法は残念ながらございません。しかしながら、セッション ホストのハートビートは Loganalytics から確認可能であるため、前回 AVD エージェントがトークンを更新した日付が確認できます。
また、定期的な起動につきましても Azure Automation の機能を利用することで自動化が可能です。セッション ホストの管理台数が多く、目視や手動での監視、管理が難しい場合には、これらの手法について確認いただき運用に組み込むことをご検討いただけますと幸いです。

Loganalytics での確認方法

Azure の Loganalytics を利用して、セッション ホストの最後の起動日時を確認して、トークンの期限切れを防ぐことが可能です。Loganalytics での確認方法ですが、例えば以下のようなサンプルクエリでは 80日より前に起動されたセッションホストから、50日以内に起動されたセッションホストは除外したものを表示することが可能でございます。

WVDAgentHealthStatus
| where LastHeartBeat < ago(80d) and LastHeartBeat > ago(120d)
| join kind=leftanti (
WVDAgentHealthStatus
| where LastHeartBeat > ago(50d)) on SessionHostName
| distinct SessionHostName

※ Loganalytics は既定 30 日がデータ保持期間なので、90 日以上のクエリを行う場合は、保持期限の設定変更が必要です。
‐ 参考資料 : 既定のワークスペース保持ポリシーを構成する

定期的なセッション ホストの自動起動

90 日間以上ホストを停止した状況にせず、定期的にセッションホストを自動起動させることで、トークン期限切れを防ぐことが可能です。ホストの自動起動については、Azure Automation の Start/Stop VMs during off-hours 機能が利用可能です。添付画像の通り、 定期的な日時(90 日間) を設定し、セッション ホストの起動と停止の間隔を 20 分で設定することにより、定期的にスケジュールを組んで対象セッション ホストの起動と停止を実施することが可能です。

‐ 参考資料 : Start/Stop VMs during off-hours を有効にする

‐ 参考資料 : Start/Stop VMs during off-hours を構成する


また、AVD エージェント以外にも、期限に関連する動作が影響するコンポーネントがありますので、参考までにご紹介いたします。

ドメイン コンピューター アカウントの有効期限

ドメインのコンピューター アカウントには既定の期限があり、期限を超過した場合、ドメインでコンピューターが認証できなくなり、リモートデスクトップ接続できなくなる場合があります。

AVD 固有の制限ではございませんが、ドメインのコンピューターアカウントは既定で 30 日で期限切れとなるため、30日以前にバックアップを行った場合には復旧時にドメインの再参加が必要になる場合があります。バックアップから復元を行う場合にはご留意ください (バックアップ作成と復元実行時の日付の差異が 30 以上の場合に発生する問題であり、30日ごとにセッション ホストを起動しておく必要ありません)。

‐ 参考資料 : ドメイン メンバー: 最大コンピューター アカウントのパスワードの有効期間
抜粋 : 既定値 クライアント コンピューターの有効な既定の設定 30 日

事象が発生した場合の対応方法については以下の文書をご参照ください。

‐ 参考資料 : RDP を使用して Azure VM に接続するときの認証エラーのトラブルシューティング

接続元クライアントにキャッシュされている RDP ファイルの署名

リモート デスクトップ接続で使用される .rdp ファイルにも利用期限があり、期限を超過した場合リモートデスクトップできなくなる場合があります。

リモート デスクトップ クライアントは、ワークスペースごとに、リモート接続に使用する .rdp ファイルを %LocalAppData%\rdclientwpf の中にキャッシュしています。.rdp ファイルは、ワークスペースの取得時にダウンロードされ、その際にはコントロールプレーンのゲートウェイ サーバーの証明書で署名されています。
サーバー証明書には期限があり、ゲートウェイ サーバー側で期限がきて証明書が更新されると、キャッシュにある .rdp ファイルが期限切れで使用できなくなります。
その場合は下記メッセージが接続元クライアントに表示されますが、説明の通りワークスペースを更新すれば、ゲートウェイ サーバーの新しい証明書で署名された .rdp ファイルがダウンロードされ、有効期限内の .rdp ファイルにて再び接続が可能となります。

‐ エラー メッセージ : 接続情報の証明書の有効期限が切れているため、接続がブロックされました。ワークスペースを更新するか、サポートに問い合わせください

ワークスペースを更新するには ”・・・” をクリックして [最新の情報に更新] をクリックします。

以上となります。