Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Terraforming Windows Virtual Desktop Infrastructure on Azure
YAEGASHI Takeshi
February 10, 2021
Technology
0
510
Terraforming Windows Virtual Desktop Infrastructure on Azure
Terraform meetup ONLINE #2021.02
https://terraform-jp.connpass.com/event/
YAEGASHI Takeshi
February 10, 2021
Tweet
Share
More Decks by YAEGASHI Takeshi
See All by YAEGASHI Takeshi
Azure AD対応の認証プロキシサーバをGoで作っている話
yaegashi
0
23
ゲーム開発におけるクラウドネイティブな CI/CD の最新動向
yaegashi
0
170
rclonefunction
yaegashi
0
630
大規模ゲーム開発を支えるAzure DevOpsによるクラウドネイティブなCI/CDの紹介
yaegashi
4
1.3k
社員全員が利用できるWebダッシュボードをAzureで作ってみた話
yaegashi
3
1.5k
cobra-cmder:Goの言語機能を活用したシンプルなCLIツール構成法
yaegashi
0
520
Microsoft Azure 向け Go SDK の最新動向・開発体制・コード生成戦略
yaegashi
0
300
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
yaegashi
12
5k
Customazed CLI: カスタムVMイメージ作成支援ツール
yaegashi
0
160
Other Decks in Technology
See All in Technology
cobra は便利になっている
nwiizo
0
130
GCCP Creator @ COSCUP 2022
line_developers_tw
PRO
0
1.4k
eBPF-based Container Networking
johnlin
2
1.1k
ロボットの実行すらメンドクサイ!?
kou12092
0
120
Amplifyで Webアプリケーションの 堅固な土台をサクッと構築する方法
kawasakiteruo
0
210
サイバー攻撃を想定したクラウドネイティブセキュリティガイドラインとCNAPP及びSecurity Observabilityの未来
sakon310
4
440
AlexNet前夜
yushiku
PRO
0
720
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
oracle4engineer
PRO
0
170
DMMプラットフォーム ゼロから始めるKubernetes運用 課題と改善
pospome
0
390
疎ベクトル検索と密ベクトル検索: 第68回 Machine Learning 15minutes! Broadcast
keyakkie
1
240
私のAWS愛を聞け!ここが好きだよAmazon FSx for NetApp ONTAP
non97
0
730
MySQL v5.7 勉強会/study-mysql-ver-5-7
andpad
0
2k
Featured
See All Featured
It's Worth the Effort
3n
172
26k
Keith and Marios Guide to Fast Websites
keithpitt
404
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
5 minutes of I Can Smell Your CMS
philhawksworth
196
18k
Designing for Performance
lara
597
63k
A better future with KSS
kneath
226
16k
YesSQL, Process and Tooling at Scale
rocio
157
12k
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
The Web Native Designer (August 2011)
paulrobertlloyd
75
2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
980
Ruby is Unlike a Banana
tanoku
91
9.3k
Transcript
Terraforming Windows Virtual Desktop Infrastructure on Azure 八重樫 剛史 Takeshi
Yaegashi BANDAI NAMCO Studios Inc.
自己紹介 八重樫 剛史 Takeshi Yaegashi 株式会社バンダイナムコスタジオ BANDAI NAMCO Studios Inc.
所属 Linux・Unix・OSS が好きなエンジニア Go 言語が好き 組み込みシステム開発、ゲームサーバ開発、 CI/CD インフラ開発、 開発環境のクラウドシフトなどの業務に従事 最近は Azure DevOps で Unity アプリの CI/CD をいじっていた 活動場所 ホームページ・ブログ https://l0w.dev GitHub https://github.com/yaegashi GitLab https://gitlab.com/yaegashi Twitter https://twitter.com/hogegashi
HashiCorp products 関連活動 Terraform provider for Microsoft Graph ▪ Microsoft
Graph API を操作するプロバイダ (Azure AD の代替) ▪ Terraform Registry に登録しました https://registry.terraform.io/providers/yaegashi/msgraph HashiTalks: Japan 2020 speaker ▪ Terraform provider for Microsoft Graph について喋りました
HashiCorp products 関連活動 Packer ▪ Azure の Windows VM イメージの構築に多用している
▪ Ansible provisioner が好き Azure Image Builder ▪ あまり知られていない Azure のマネージド Packer サービス ▪ あまりに使いづらいので CLI ツールを Go で作った話 https://qiita.com/yaegashi/items/5216a9b37c2041b93a3a
Windows Virtual Desktop (WVD) Azure が提供する VDI サービス ▪ COVID-19
対応のひとつとして注目されるようになった ▪ Windows 10 Enterprise の Azure VM にリモートデスクトップ接続できる ▪ Windows ライセンスと VM・基本インフラ以外の費用が必要なく、安いのが特長
WVD の一般的なアーキテクチャ https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/wvd/windows-virtual-desktop
wvd-terraform https://github.com/yaegashi/wvd-terraform ▪ ついさっき作ったばかりのリポジトリ ▪ Terraform を使って Windows Virtual Desktop
をお気軽に試せるサンプルです ▪ Terraform の provider の自作とかしてるわりに運用は素人なのでいろいろだめな点をご指摘くださ い
Windows Virtual Desktop を試す① 必要なサブスクリプションとライセンス ▪ Azure サブスクリプション – なんとか自分で用意してください
– 数日間試すだけなら、初回アカウント登録時のおまけクレジット (22,500 円) や Visual Studio サブスクリプションのおまけクレジット (6,000円/月) でも十分 ▪ Windows 10 Enterprise のライセンス × ユーザー数分 – Microsoft 365 Developer Program にサインアップするのがおすすめ https://developer.microsoft.com/ja-jp/microsoft-365/dev-program – 全部入りライセンス Microsoft 365 E5 × 25 がほぼ無期限に使える (90日ごとに更新) – 新しいテナントができるのでそこで Azure サブスクリプションを使えるようにする
Windows Virtual Desktop を試す② 事前に作っておくべきリソース ▪ Virtual Networks – AADDS
用と WVD ホスト用 2 つのサブネットを作っておく ▪ Azure Active Directory Domain Services (AADDS) – Azure AD のユーザー・グループを自動同期してくれるマネージド AD サーバ – これも Terraform で作れるとよいのだが azurerm provider が対応していない… – https://github.com/terraform-providers/terraform-provider-azurerm/issues/8970
Windows Virtual Desktop を試す③ サンプルリポジトリをクローンして設定 ▪ git clone https://github.com/yaegashi/wvd-terraform ▪
フォルダ構成 – workspace Workspace リソース – pool1 ホストプール・セッションホストリソース ▪ 各フォルダの修正箇所 – main.tf サブスクリプション・テナント・バックエンド設定 – variables.tf 変数設定 – local.auto.tfvars.json AD参加ユーザー・パスワードなど (.gitignore されている)
pool1/local.auto.tfvars.json CODE EDITOR { "adjoin": { "name": "aad-join", "domain": "l0wdev.onmicrosoft.com",
"password": "hogehogesecret" } }
Windows Virtual Desktop を試す④ Terraform 実行 ▪ workspace, pool1 の各フォルダで普通に実行
– terraform init – terraform plan – terraform apply
Windows Virtual Desktop を試す⑤ Web クライアントで接続テスト ▪ https://rdweb.wvd.microsoft.com/arm/webclient/index.html 間違って Windows
Server 2019 でホストを作ってしまっ た … (ライセンス違反)
セッションホストの追加登録 CODE EDITOR module "yaegashi" { source = "./modules/wvdhost" owner
= "yaegashi@l0wdev.onmicrosoft.com" vm = { location = "japaneast" resource_group_name = azurerm_resource_group.wvd.name name = "wvd-yaegashi1" size = "Standard_D2as_v4" storage_account_type = "Premium_LRS" license_type = "Windows_Client" subnet_id = data.azurerm_subnet.wvd.id gpu_driver = "" } adjoin = var.adjoin hpjoin = { name = azurerm_virtual_desktop_host_pool.wvd.name token = azurerm_virtual_desktop_host_pool.wvd.registration_info[0].token wvd_yaegashi.tf のようなファイルをコピペして増やすだけで追加登録可能!
Terraform で WVD まとめ① wvd-terraform のよい点 ▪ ホストプール・セッションホスト・ VM の複雑な構成のデプロイや破壊が自動的にできる
– ホストの追加・削除がとても手軽 ▪ Azure Portal や Azure CLI では不可能な構成も簡単に実現できる – ひとつのホストプールにサイズの異なる VM を混在して登録できる – ホスト名を個別に自由に決められる (通常は連番ホスト名しか使えない ) ▪ ユーザー個別のカスタマイズが必要な用途には都合がよい
Terraform で WVD まとめ② wvd-terraform のよくない点 ▪ ディレクトリ・ファイルの構成が素人ぽい ▪ 汎用性が足りない
(決め打ち設定がかなりある ) ▪ ドキュメントがない (README.md すらない) ▪ これから改善していきます!
Thank You! hugs@hashicorp.com learn.hashicorp.com discuss.hashicorp.com 17
hugs@hashicorp.com learn.hashicorp.com discuss.hashicorp.com 18