Azure Virtual Desktop のセッション ホストの更新 (プレビュー)
重要
Azure Virtual Desktop のセッション ホストの更新プログラムは現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
セッション ホストの更新では、セッション ホスト構成を持つホスト プール内のすべてのセッション ホストの基盤となる仮想マシン (VM) ディスクの種類、オペレーティング システム (OS) イメージ、およびその他の構成プロパティを更新できます。 セッション ホストの更新では、既存の仮想マシンの割り当てを解除または削除し、更新された構成でホスト プールに追加される新しい仮想マシンを作成します。 セッション ホストを更新するこの方法は、各セッション ホストを最新の状態に保つために、継続的な繰り返しスケジュールで更新プログラムを個別に配布してインストールするのではなく、コア ソース イメージ内で更新を管理するという推奨事項に沿ったものです。
更新を実行するときに実施可能な変更を次に示します。
- 仮想マシン イメージ
- [仮想マシンのサイズ]
- 仮想マシン ディスクの種類
- 仮想マシンのセキュリティの種類:
- Standard
- トラステッド起動の仮想マシン
- 機密の仮想マシン
- Active Directory ドメイン参加資格情報
- Microsoft Intune Enrollment
- ローカル管理者の資格情報
- カスタム構成の PowerShell スクリプトの実行
セッション ホストの更新を使用してセッション ホストの更新を完了すると、ホスト プール内のすべてのセッション ホストが、指定した変更で標準化されます。 高可用性構成、ネットワーク構成、場所など、セッション ホストのその他の Azure プロパティは、更新プログラム間で保持されます。
更新プロセス
同時に更新するホスト プール内のセッション ホストの数を指定できます ("バッチ" と呼ばれます)。 この値は、更新中に一度に使用できなくなるセッション ホストの最大数です。残りのセッション ホストはすべて使用できます。 更新が開始されると、プール内の残りのセッション ホストをバッチで更新する前に、、1 つのセッション ホスト (initial と呼ばれます) のみが対象となって、エンド ツー エンドの更新プロセスが成功したかどうかがテストされます。 このアプローチにより、障害が発生した場合の影響が最小限に抑えられます。
たとえば、10 個のセッション ホストを持つホスト プールがあり、バッチ サイズとして 3 を入力した場合、1 つのセッション ホスト (initial) が更新され、その次に残りのセッション ホストが 3 つのセッション ホストに対する 3 つのバッチで更新されます。 最初のセッション ホストの更新が完了した後の任意の時点では、ホスト プールで使用できるセッション ホストが少なくとも 7 つあります。
更新中、セッション ホストの更新は次のプロセスに従います。
既存のセッション ホストは、その名前と、以前に指定したバッチのサイズに基づいて選択されます。 管理者によって指定された通知が接続中のすべてのユーザーに送信された後、サービスは前に指定された期間待機してから、残りのユーザーをサインアウトします。
選択されたセッション ホストはドレイン モードになり、ホスト プールから削除されます。 Active Directory ドメインに参加しているセッション ホストのコンピューター アカウントは削除されません。
更新されたセッション ホスト構成を使用して、同じ数の新しいセッション ホストが作成されます。 VM、OS ディスク、ネットワーク インターフェイスの新しい Azure リソースは、
SessionHostName-DateTime
の形式になります。たとえば、VM1-0
という既存の VM は、VM1-0-2023-04-15T17-16-07
という新しい VM に置き換えられます。 オペレーティング システムのホスト名は変更されません。 これらの新しいセッション ホストは、Azure VM 拡張機能を使用してディレクトリに参加します。Active Directory ドメインに参加しているセッション ホストは、既存の AD コンピューター オブジェクトを継承します。 このプロセスにより、信頼関係が確立され、以前の VM との既存の信頼関係が解除されます。
新しいセッション ホストは既存のホスト プールに参加し、ドレイン モードは無効になり、セッション ホストは接続を受け入れられるようになります。
元の VM を保存することを選択したかどうかに応じて、元の VM は割り当て解除されるか削除されます。
一度に 1 つのホスト プールで実行またはスケジュールできるセッション ホストの更新操作は 1 つだけです。 ただし、セッション ホストの更新操作を複数のホスト プールで同時に実行することはできます。
セッション ホストの既存の電源状態とドレイン モードは優先されます コストを節約するために、すべてのセッション ホストの割り当てが解除されたホスト プールで更新を実行できます。
重要
Azure Virtual Desktop Insights を使用する場合、更新されたセッション ホストに Azure Monitor エージェントまたは Log Analytics エージェントは自動的にはインストールされません。 エージェントを自動的にインストールするには、次のオプションがあります。
- Azure Monitor エージェントの場合は、Azure Policy を使用できます。
- Log Analytics エージェントの場合は、Azure Automation を使用できます。
Azure サブスクリプションのクォータ制限に注意し、更新することでその制限を超える場合はクォータを増やすための要求を送信することを検討してください。
更新するホスト プールに合わせたテスト ホスト プールで更新プロセスをテストすることをお勧めします。 これにより、更新プロセス自体がテストされ、環境内の以前の VM と同じ名前の新しい VM の結果もテストされます。 また、運用環境のホスト プールを更新する前に、新しいアプリケーションや修正プログラムなどの更新が環境内で期待どおりに動作することをテストすることも重要です。
仮想マシンと管理ツール
新しいイメージは、Azure Virtual Desktop と仮想マシンの世代でサポートされている必要があります。これは以下から入手できます。
Azure Marketplace。
Azure Compute Gallery の既存の共有イメージ。
既存のマネージド イメージ。
セッション ホストの更新では、新しい仮想マシンが作成されるため、それらをディレクトリに参加させる必要があります。 既存の VM と同じディレクトリを使用する必要があります。 更新中にディレクトリを変更することはできません。
セッション ホストに手動で追加されたファイル、レジストリ キー、証明書などのカスタマイズは、更新の完了後にはなくなります。 プール内のセッション ホストを個別に更新することはできません。そのため、これらのカスタマイズをイメージ自体に追加するか、Intune やグループ ポリシーなどの構成管理ツールによってカスタマイズが適用されるようにするか、セッション ホスト構成でカスタム構成の PowerShell スクリプトにこれらのカスタマイズを追加する必要があります。
セッション ホストが Active Directory に参加している状態で更新を行うと、コンピューター オブジェクトは削除されません。 これは、Active Directory 内に一時的に孤立したコンピューター オブジェクトがあることを意味します。 新しい仮想マシンがドメインに参加する際に、元のホスト名を使用して、孤立したコンピューター オブジェクトを継承します。 ドメインを変更する場合は、孤立したコンピューター オブジェクトを以前のドメインから削除する必要があります。
グループ ポリシー オブジェクト (GPO) は、セッション ホストにポリシーを適用するために使用されます。通常は Active Directory ドメインの OU レベルで適用されます。 ただし、コンピューター オブジェクトまたはグループ オブジェクトを使用して、いくつかのアプリケーション/フィルター処理が実行される場合があります。 新しい VM は孤立したコンピューター オブジェクトを継承するため、既存の GPO は引き続き適用されます。 更新プロセスの一環として OU メンバーシップを変更する場合は、既存の GPO が引き続き適用されることを確認する必要があります。
スケジュールとユーザー セッション
更新の開始時にセッション ホストにサインインしているユーザーがいる場合、そのユーザーには管理者が指定した通知が届き、サインアウトしてから再度サインインするよう通知されます。 ユーザーはすぐにもう一度サインインして、ホスト プール内の別のセッション ホストに接続できます。
新しい接続は、更新されるセッション ホストに送られます。これにより、再度サインアウトするよう通知されるためだけに、間もなく更新されるセッション ホストにサインインすることを避けられます。 ただし、更新の開始時には、新しく更新されたセッション ホストがないため、サインアウトを求められて後に、まだ更新されていないセッション ホストにサインインしたユーザーには、再度サインアウトするよう通知されます。
使用可能なセッション ホストの数が少ない場合は、エンド ユーザーの中断を最小限に抑えるために、適切なタイミングで更新をスケジュールする必要があります。
既知の問題と制限事項
既知の問題と制限事項は次のとおりです。
セッション ホストの更新は、グローバル Azure クラウドでのみ使用できます。 Azure US Government や 21Vianet が運用する Azure など、他のクラウドでは使用できません。
購入プランのある Azure Compute Gallery 共有イメージから作成されたセッション ホストの場合、セッション ホストが更新されたときにプランは保持されません。 セッション ホストに使用するイメージに購入プランがあるかどうかを確認するには、Azure PowerShell または Azure CLI を使用できます。
現在、セッション ホストの更新では、RDAgent を展開するために、パブリック Azure Storage エンドポイント
wvdhpustgr0prod.blob.core.windows.net
へのアクセスが必要です。 これが Azure Virtual Desktop に必要なエンドポイントに移行されるまで、wvdhpustgr0prod.blob.core.windows.net
にアクセスできないセッション ホストは、エラーCustomerVmNoAccessToDeploymentPackageException
で更新できません。更新中に OS ディスクのサイズを変更することはできません。 更新サービスは、既定でギャラリー イメージで定義されているサイズと同じサイズに設定されます。
更新が失敗した場合は、更新が取り消されるまでホスト プールを削除できません。
更新の進行状況は、セッション ホストが更新されたときにのみ変更されます。 たとえば、10 個のセッション ホストがあるホスト プールでは、最初のセッション ホストが更新されている間、進行状況は 0.00% と表示されます。 最初のセッション ホストが更新されると、この値は 10% に変わります。
既存のセッション ホストから取得したイメージを作成し、それをセッション ホストの更新のソース イメージとして使用する場合は、イメージを作成する前に
C:\packages\plugin
フォルダーを削除する必要があります。 そうしないと、このフォルダーが原因で、更新された仮想マシンをホスト プールに参加させる DSC 拡張機能が実行されなくなります。Azure Virtual Desktop Insights を使用する場合、更新されたセッション ホストに Azure Monitor エージェントまたは Log Analytics エージェントは自動的にはインストールされません。 エージェントを自動的にインストールするには、次のオプションがあります。
- Azure Monitor エージェントの場合は、Azure Policy を使用できます。
- Log Analytics エージェントの場合は、Azure Automation を使用できます。
- Azure portal の [Azure Virtual Desktop の分析情報] 内からこれらの新しいセッション ホストを手動で追加します。
セッション ホストが作成されているときに、セッション ホストのないホスト プールでセッション ホスト構成を変更することは避けてください。ホスト プール内でセッション ホストのプロパティが不整合になる可能性があります。
バッチ サイズが大きい更新は、エラーコード
AgentRegistrationFailureGeneric
で断続的に失敗することがあります。 更新されるセッション ホストのサブセットでこの現象が発生した場合、通常、更新を再試行することで問題は解決します。