目次
IaC ツールで AVD 環境の構築・運用業務を効率化
Azure Virtual Desktop (以下、 AVD )は、 Microsoft により提供される仮想デスクトップサービスです。クラウドベースで、どこからでもデスクトップ環境にアクセスできます。利便性が高くリモートワークにも適しているため、多くの企業で導入されています。
しかし、 AVD 環境の構築・管理業務の負担が課題となっている場合も多くあります。そこでおすすめなのが、インフラ構築・運用を効率化できる Terraform の導入です。本記事では Terraform の概要から AVD 環境に用いる方法まで詳しく解説します。
1. AVDとTerraformとは
まず AVD と Terraform の概要について解説します。
AVD とは
AVD とは、クラウド上に構築された仮想デスクトップ環境をサービスとして提供する DaaS ( Desktop as a Service )の一種です。 Microsoft が提供するクラウドプラットフォーム Microsoft Azure で提供されます。
AVD は Microsoft が物理的な基盤の管理責任を負い、メンテナンスも実施するためユーザーの負担が少ないことや柔軟性が高いことがメリットです。ただし、仮想マシンの構築やネットワーク設定、ユーザー管理などは利用者の責任範囲となります。
Terraform とは
Terraform とは、 HashiCorp 社によって開発されたオープンソースの IaC ( Infrastructure as Code )ツールです。 IaC とは、手動で設定を行う代わりにコードを使用してインフラの構築や管理を行う手法のことを指します。 IaC を用いることで、次のようなメリットが得られます。
- 作業をコード化して自動化することで、手間や時間を削減できる
- 手作業による設定ミスや誤った手順の実行を防げる
- コードを再利用できるため、同じ環境が複数必要な場合でも正確かつスピーディに構築できる
Terraform は、このような IaC を実現するための代表的なツールです。

2. Terraform はさまざまな環境に対応可能
IaC ツールは Terraform 以外にもさまざまな種類が存在しますが、特定のパブリッククラウドやサービスに依存するものが多いです。
一方で Terraform は、オンプレミス・クラウドを問わずさまざまな環境に対応していることが特徴です。 AVD をはじめ、 AWS ( Amazon Web Services )や Google Cloud 、 VMWare などに対応しており、異なる環境でもコードを適用できます。
3. AVD 環境を Terraform で構築するメリット
AVD 環境を Terraform で構築することで、次のようなメリットが得られます。
構築・運用業務の効率化
Terraform を使用することで、これまで手動で行っていた仮想マシンやネットワークの構築作業などが自動化されるため、大幅に業務負荷を軽減できます。また、インフラ設定の変更やスケーリングもコードを変更するだけで実行できるため、運用の柔軟性や迅速性を向上させることが可能です。
同じく Azure リソースの管理・デプロイを効率化するサービスとしては、 ARM ( Azure Resource Manager )があります。ただし、 Terraform の使用に慣れている場合や、複数の環境をサポートする必要がある場合は、 Terraform の方が適しているといえるでしょう。
宣言的なインフラ管理
IaC を実現する方法はいくつかありますが、 Terraform は宣言型の方法を採用しています。これは「どうやって」構築するかではなく「何を」構築するかを記述する方法です。望ましい状態をコードで記述することで、 Terraform がその状態を実現するためのステップを自動で判断します。これによりインフラの一貫性が保たれ、設定ミスを削減できます。
バージョン管理の実現
インフラの設定を AVD の管理画面だけで管理している場合、「誰が・いつ・どのような設定(変更)をしたのか」を把握しにくいです。 Terraform を用いれば、コードを Git などのバージョン管理システムで管理できるため、履歴を追跡することが可能になります。
これにより保守性が向上するほか、変更によりどのような影響を及ぼすのか予測することが可能です。
4. Terraform を使用して AVD 環境を構築する方法
では、実際に Terraform を使用して AVD 環境を構成する方法について解説します。
1. Azure 環境・ Terraform 環境の構築
Azure サブスクリプションを持っていない場合はアカウントを作成して用意します。また、 Terraform の最新バージョンをインストールします。
2. Terraform コードの実装
Terraform 独自の宣言型構成言語である HCL ( HashiCorp Configuration Language )で、以下の設定を定義した構成ファイルを用意します。
- Terraform を使用して Azure リソースを管理するための設定
- AVD 環境の設定
3. Terraform の初期化
コマンド「 terraform init 」を実行し、 Terraform のデプロイを初期化します。これにより、 Azure リソースの管理に必要な Azure プロバイダがダウンロードされます。
4. Terraform 実行プランの作成
コマンド「 terraform plan 」を実行し、実行プランを作成します。これにより構成ファイルに記載された設定を実行するために必要なアクションが決定します。
5. Terraform 実行プランの適用
コマンド「 terraform apply 」を実行すると、手順 4 の実行プランがインフラに適用されます。
6. 結果の確認
Azure portal から構成ファイルの内容が反映されているか確認します。
詳しいコードの例はこちらからご確認ください。
※参考:https://learn.microsoft.com/ja-jp/azure/developer/terraform/create-avd-session-host
5. まとめ
Terraform は、オンプレミス・クラウド環境を問わずインフラの構築を自動化する IaC ツールです。 Terraform は AVD 環境でも使用でき、さまざまな構築・運用業務を効率化します。設定ミスなどのヒューマンエラーを減らすためにも効果的です。業務負荷を低減しつつ安全な運用を目指すために、 Terraform の導入を検討してみてはいかがでしょうか。
Azure の導入を相談したい


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

-
-
Azure導入支援・構築・運用サービス総合カタログ
Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。
-
Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

よく読まれる記事
- 1 Microsoft Entra IDとは? オンプレAD、Azure ADとの違いや機能、エディション、移行方法をわかりやすく解説2024.04.05
- 2 Microsoft Purviewとは?概要や主な機能、導入するメリットを解説2023.09.11
- 3 Azure Bastionとは?踏み台による仮想マシンへのセキュアな接続方法について解説2022.05.12
- 4 Azureネットワークセキュリティグループ(NSG)とは?特徴や設定時の注意点を解説2021.04.28
- 5 VDIに必要なWindows VDAライセンスとは?費用感、ライセンスの考え方について解説します!2022.08.10
Category
Contactお問い合わせ
お見積もり・ご相談など、お気軽にお問い合わせください。