Azure Managed Service Column <Azure運用コラム>

Azure Virtual Desktopの構築や管理にAzure Resource Managerを活用する方法とは?そのメリットや活用シナリオ、トラブルシューティングを解説

Category: 実践編

2024.05.20

AVDの構築と管理にどのようにARMを活用するのか、AVDの管理タスクとそれをサポートするARMの機能についてわかりやすく解説

Azure Virtual Desktop (以下 AVD )環境はクリティカルなワークロードであり、常に使用可能で障害に対する回復性が求められます。しかし、高パフォーマンスの環境を構築し、信頼性とセキュリティを確保しながら運用手順の一貫性や再現性を維持していくことは容易ではありません。

これらの課題に対しては、インフラ構築や管理をコード化して行う IaC( Infrastructure as Code ) の導入が効果的です。 Azure Resource Manager (以下 ARM )は、Azure のリソース管理に IaC を適用するサービスであり、AVDの構築や管理に利用することで、環境の一貫性と再現性を向上させることができます。

本記事では、ARM を使用した AVDの設定方法や手順、およびトラブルシューティングについて解説します。

1. Azure Resource Manager(ARM)の基礎

Azure Resource Manager(ARM)の基礎

ARM の概要と機能

ARM は Azure リソースに対する管理の自動化を実現するためのシステムです。 ARM では、 JSON 形式のテンプレートを活用して、リソースのデプロイを一貫して繰り返し実行することが可能です。

ARM はリージョン間や可用性ゾーン間での分散がなされており、メンテナンス中でも機能停止することが原則なく、信頼性が高いサービスです。

ARM の利用メリットと AVD における価値

ARMを利用することで、構築や管理に ARM を利用するメリットとしては「デプロイのスピードアップ」「環境構築を正確に再現可能」など、様々なものがあります。

AVD の構築においては、組織に最適な環境の完成までに何度も構築を繰り返すことがあり得るため、ARM を活用することでPowerShell や Azure CLI など使い慣れたツールを用いて最適な環境設定の試行を素早く何度も実行できます。

ARM の利用メリットと AVD における価値

図版出典:Microsoft公式サイト

完成した環境は ARM テンプレートとして保存して、半自動的な環境構築が可能となります。デプロイ時は相互に依存するリソースの調整がされた上で並列的に実行されるため、正確かつ短時間の構築を行えます。大規模な環境ではこれは大きなメリットとなるでしょう。

ほかにも環境構築や管理に ARM テンプレートを用いることで、操作の属人化を防ぐ効果や手順文書化作業の削減といった効果も得られます。

また、 ARM テンプレートは多くの優れたサンプルテンプレートが公開されており、それを用いて自組織用にカスタマイズすることも容易です。

参考:Azure Virtual Desktop Reference Architecture

ARM のメリットは関連記事をご参照ください。

2. AVD 管理のための ARM 活用シナリオ

AVDのホストプールの作成と管理を、ARMテンプレートを用いて行う方法を紹介します。

ARM を利用した AVD の構築手順

AVD のホストプールの作成には、ARMテンプレートを活用します。はじめに、リソースの構成を定義するARM テンプレートを作成します。テンプレートの作成では、リソースの名前や地理的な位置など、必要な情報をJSON形式で指定します。

テンプレート変数の詳しい使い方はこちらをご参照ください。

参考:ARM テンプレートにおける変数 – Azure Resource Manager | Microsoft Learn

作成した ARM テンプレートを用いて PowerShell や Azure CLI でデプロイを行います。

仮想マシンのホストプールあたり最大数などの各制限は ARM を用いたデプロイにも適用されます。また、 ARM テンプレートによる 1 回のデプロイで作成できるリソースは一般に 800 個までという制限も加わりますので注意しましょう。

AVD の基本的な管理タスク

セッションホストの追加やホストプールへの登録などの基本的なタスクは ARM を使用した単一プロセスで効率的に実施できます。

またAVD リソースをリージョン間で移動する場合にも、ARM の利用はミスの無い実行が可能です。この際、既存環境を ARM テンプレートにエクスポートし、移動先リージョン用に内容を変更後、移動元リソースの削除をしてからデプロイする手順となります。

ARM テンプレートでリソースに一括でタグ付けしておくと、管理時に目的のリソースを素早く検索したり、所属グループ毎のコスト算出を容易にしたりなどの利点が得られます。タグ付けは後々の管理業務に役立つようテンプレート上で事前に設計するとよいでしょう。

MS 社による ARM テンプレート例が公開されていますので、これを元に自環境用のテンプレートを開発することも可能です。

参考:RDS-Templates/ARM-wvd-templates at master · Azure/RDS-Templates · GitHub

その他の利用シナリオ

ARM の一貫性のあるデプロイを反復可能という特性を活かし、確実で素早い環境構築によりビジネス継続性が向上します。

また、作成されたテンプレートは複数人でのレビューが容易なため、設定の誤りや人為的ミスを削減し、効率的な運用の実現にもつながります。

3. ARMを使ったAVD管理で遭遇する一般的な問題とトラブルシューティング

ARM テンプレートを使用したデプロイのログは、Azure portal のデプロイ履歴で確認できます。デプロイされたテンプレートや渡されたパラメーター値、出力値などを取得でき、問題解決に役に立つでしょう。

以下に起こりうる事例と解決策をいくつか挙げます。

Unauthorized エラー

サブスクリプションが無料版、MSDN 版など、AVD 構築用本来のものでない場合や、デプロイ先リージョンで構築に必要な機能が提供されていない場合に起こりうるエラーです。サブスクリプションやリージョンを確認、必要に応じて変更を行いましょう。

Failure when processing extension エラー

PowerShell エクステンションが管理者アクセス権を取得できない状況です。指定したユーザーの管理アクセス権を確認した後にデプロイをやり直します。

InvalidResourceReference エラー

ARM テンプレートのリソースグループ名が既存リソースの名前と重複する場合に起こります。リソースグループ名の最初の 2 文字を一意にすることで解決します。

Error downloading エラー

ARM テンプレートに関連付けられている zip ファイルのダウンロードが不可能な状態です。ネットワークセキュリティグループやファイアウォール、ルーティングに問題がないか確認しましょう。

4. まとめ

この記事では、 AVD の構築や管理に ARM を利用するメリット、環境構築の手順、トラブルシューティングなどを解説しました。

ARM を活用することで高いパフォーマンス効率の AVD 環境を素早く構築することが可能となり、信頼性を確保しつつ、コスト最適化につながる管理を行うことができます。

ARM テンプレートに代わり、構文がより使いやすい Bicep というドメイン固有言語もあります。 AVD の運用に今から ARM を導入する場合は Bicep も選択肢として検討するとよいでしょう。

導入においては、 AVD と ARM どちらにも精通したプロフェッショナルに相談できるとより安心です。

Azure の導入を相談したい

Azure導入支援サービス

Azure 導入支援サービス

Microsoft Azure 導入の具体的な方法の検討や技術検証を専門家にサポートいたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Azure導入個別相談会(無料)

Tag: AVD Azure Virtual Desktop

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php