629 Views
February 04, 22
スライド概要
2020 11/25 第29回 Tokyo Jazug Night 発表資料
~Windows Virtual Desktop 構築にまつわるアレコレ~
Microsoft系プロダクトの技術者から始まり、最近はMicrosoft Azure(特にAVD)をメインの取り扱いにしているおじさんSE。 AzureのユーザーグループであるJAZUG主催イベントに比較的よく出没 ※SlideShareから移行して現在はこちら(ドクセル)がプライマリになっています。 Azureのお話以外にも仕事のやり方進め方なども書いていく予定です。
Windows Virtual Desktop 構築にまつわるアレコレ 第29回 Tokyo Jazug Night Online (2020/11/25) パーソルテクノロジースタッフ株式会社 Twitter:@iwai_d 岩井 大祐(いわい だいすけ) 2022/2/4 Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved.
作成者自己紹介と 簡単な会社紹介 Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved.
作成者自己紹介 • 自己紹介 – 岩井 大祐(いわい だいすけ)/ Twitter:@iwai_d – パーソルテクノロジースタッフ(株)でMS系プロダクトをメイン軸に Azureを取り扱い品目に増やしつつあるおじさんインフラ技術者 – JAZUG関連イベントに割とよく出没、数回登壇させていただきました – 会社のブログで【エンジニアの失敗学】ネタをメインに執筆中 【https://persol-tech-s.co.jp/corporate/security/writer/iwai_daisuke/】 (現在、多忙に加えネタ探し中……(汗)) • 好きなもの – ウッドストック (小さきことは美しい……) Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 3
簡単な会社紹介 • パーソルテクノロジースタッフ(株) – 旧インテリジェンスのエンジニア派遣事業を 旧テンプスタッフ・テクノロジーに統合し、2017年1月に発足 機械設計系チームとIT系チームがあります – 自動車や航空機関連、医療機器やアナログ回路のモノづくり、 RPAやIoT、ドローン系のホットな案件も積極的にやっています – 自社内製でセキュリティサービスの提供もしています ご縁がありましたらよろしくお願いいたします m(_ _)m Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 4
今回のお題目 Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved.
今回のお題目 • 今、Azure界隈でホット案件の1つとなっている Windows Virtual Desktop(WVD)案件で実際に 遭遇した事例から、ツボどころなどを共有します → よ~く読めば「Azureやるなら当然じゃん」的な部分もありますが、 実際に構築してると盲点になっていたりとか、やってしまいがちな所 をお話しできればと • 内容として事実は書いていますが、 諸般の事情からぼかして書いている部分があります → 例によってその辺はお察しください…… Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 6
業務内容 • WVDの環境を完全にゼロから新規構築するという かなりベタでかつレアな案件 – Active DirectoryやAzure AD Connectも完全新規構築 – Azureの契約もこのための新規契約 ……過去、契約やExpressRouteでハメられたことを考えると 構成的にもシンプルだったので若干安堵していた 結論:それは甘すぎ(汗) ミミックがあらわれた! またコレなの……? Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 7
全体構成検討中に気がつく • 今回、定常業務で使う方が多かったので結果として マスター構築の難易度は低かったものの…… – Single-Session構成で大量にセッションホストを作成する必要に迫られた – Multi-Sessionにすればもう少し難易度下がるのだが…… →導入するアプリの複数においてWin10の検証は済んでいたものの、 Multi-Sessionでの検証がされておらず、かつ、稼働開始日が諸般の事情で 後ろ倒し不可という条件があったためSingle-Session一択の状態に ※ど~でもいい話だが、私自身はNT4.0、2000、XP、7、10のクライアントマスター設計構築と展開に関わった経験あり(汗) • ツボどころ1 – Win10 Multi-Sessionは便利なのだが、アプリの検証をする時間は必要 特に業務直結のフルスクラッチアプリだったりすると、アプリ検証用に 本番系直結のPoC環境を作らないとお話にならず…… Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 8
構成の設計中に発見 • 今回、FSLogixのプロファイル格納に Azure NetApp Filesを使うことにしたのだが…… – Single-Sessionなのでセッションホストの台数が相当な数に。 – 今後の拡張やマスター更新時のローリングによる一時的増加も 考慮するとIPアドレス制限(Max1,000 IP)が足かせになる。 – NetApp Filesのボリューム毎にVnetを分ければ回避できるとの事 だったので、ホストプール単位にVnetを分割して作成することに。 • ツボどころ2 – Azure NetApp Filesを使う場合、IP接続数制限に伴う考慮は必要。 – それ以外のプロファイル格納についても管理上の観点から検討は必要。 ※今回はAzure NetApp Files 1カ所のみの格納だったので冗長構成がなくてその点は楽…… (ちなみにデプロイとか操作するときは必ず処理が終わってから次の作業に。スケベ心は死亡フラグ) Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 9
構成の設計中に発見(その2) • SNATポート枯渇するんじゃね? – 各セッションホストからは(当然ながら)インターネットアクセスする – 更にExchange Onlineも使う – 接続元IPを見ているシステムも存在するから接続元IPがランダムになると これまたよろしくないのである程度固定化する必要がある – SNATポート数、足りるのかなぁと言う話が…… – Azure Firewallでゴニョゴニョ(自主規制)し、装置(自主規制)を 組み合わせてSNATポート利用数を抑えることでまずは対処する事とし、 間に合わない場合は手動拡張を依頼するスキームにした • ツボどころ3 – SNATを始め、通信足回りの制限事項チェックは欠かせない – 自動拡張とは言え、急速に不足する可能性は考慮する必要あり Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 10
机上設計をした結果…… • まぁこれなら問題もないしいけるだろうと思い、 セッションホストのデプロイを始めた – 検証用の小規模ホストプールは問題なく完了した – 安心して本番用セッションホストを作り始めるとデプロイ中に (それも必ず【201台目】で)エラーを吐いて停止してしまう – WVDのホストプールには基本的に可用性セットが組まれる →賢明な方はもうおわかりですね(汗) – 結局、ホストプールの数をさらに細分化して逃げるハメに…… • ツボどころ4 – WVDの1ホストプールで作れるVM数、意識しないとMAX200台まで ※PowerShellでゴニョゴニョすると可用性セットなしでも デプロイできるらしいが……(未確認) Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 11
検証用ホストプールをデプロイした結果…… • セッションホストのローカル管理者ユーザーと パスワードって…… – 通常、AzureポータルやARMテンプレートで指定したドメイン参加用の ID/パスワードが各セッションホストのローカル管理者になる おいおい、ドメイン管理者アカウントで作っちまったぞ(汗) →ということで、デプロイした全台ID/パスワード変更をするハメに – 最終的には適当なDomain Users権限ユーザーに対してWVDホストプール 所属のOU配下に子オブジェクト作成権限を与えてやることで対応 (固定パスワードにしていてもDomain Users権限なので逃げやすい) • ツボどころ5 – 特にパスワードポリシーなどが厳しい会社でWVDを構築する場合、 セッションホストのドメイン参加用ID/パスワードはきちんと検討して 対応できるようにしておく必要がある Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 12
わかってはいたものの…… • やっぱりセッションホストの電源管理、厳しいわ~ – これは元々現状WVDの欠点として言われていたので対応は行っていた (詳細はボカすが、ユーザー側での対応ができるようにはした) – 極力わかりやすい操作でできるようにしたもののエンドユーザー側の 管理者から「PCスキルの低い人にはその作業は厳しい」と指摘があった – しかし、タイマー制御でやると勤務時間がバラバラにも関わらず一律 セッションホストが稼働状態になるので月額利用料が跳ね上がる – ……現状多くは語れない……(すみません) • ツボどころ6 – 電源管理対策、やったつもりでいてもエンドユーザーと話をすると それだと不十分とか言われることも。WVD利用者の想定は思った以上に 重要。(CitrixとかVMwareの方が…はわかってるけどコストが……) Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 13
ツボどころまとめ 1. Win10 Multi-Sessionを使うにはアプリ側検証が大事 2. Azure NetApp Filesを使う場合は接続IPアドレス数制限に注意 3. SNATポート制限など、通信の足回りに関わる制限に注意 4. 1つのホストプールは特別何もしなければ基本Max200台 5. ドメイン参加用ID/パスワードは端末ローカル管理者と同義 6. WVD純正の電源管理、エンドユーザーヒアリングは大事 Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 14
構築してみた感じまとめ 1. 構成するとVnet Peeringを多用することになる →Vnetの設計は後戻りが困難なので拡張性も考慮が必要 2. Active Directoryは現状AADDSとかより古典的だが オンプレADの方が結果論で言うと手っ取り早かった(汗) 3. Active DirectoryのGPO、何だかんだと大活躍 →ある意味枯れてる手法なので安定度も高く、 トラブルシュートも比較的楽だったので工数削減に貢献した 4. WVDのRDPプロパティ設定、構築中にもコロコロ変更が →使う時には詳細項目の設定値を確認するのが無難かも Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 15
WVD構築の注意点は? Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved.
結局のところはAzureの基本に戻る • 公式Docsなど先人の知恵の把握は確認、励行すべし – 今回の遭遇事例、結局は公式Docsやくらう道の記事にも書いて あるAzureの制限事項ばかりだったが、WVDは通常のAzure構築 と若干違って、かなり大量のVMをデプロイしているにも関わらず、 作業自体が簡単なせいなのかあれこれ考慮から漏れがち。 (実際、私も含め担当者は複数名いてそれぞれがAzureの知識や構築の実戦経験、 WVDで数ヶ月にわたる各種実験での経験やデータの蓄積を持っていたにも 関わらず結果的に漏れ漏れだったという……) • Win10 Multi-Sessionを活用できるかがWVDではカギ – 基本的にはWin10 Multi-Sessionをできる限り活用してホスト プールのVM台数を削減することでこれらのネタに遭遇する率を 下げられるということを実感。 Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 17
あとは…… • 余裕をもった構築計画が重要 – 今回、短納期案件と言うことで机上設計や検討の部分を ある程度見切って構築しながら修正して対応することに なったが、もう少し情報の調査をする余裕があれば スマートな設計ができたかも • Azure各リソースにおける点の知識をいかにして線や 面として結びつけられるか(痛感) – 先の話にも繋がるが、各単体サービスでの制限事項などは 知っていてもWVDというシステムで結びつけられないとつらい 実際に関わったメンバー全員、貴重なノウハウを得られたことで WVDの事をより知ることができたのは良かったのではと…… Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 18
おまけ • FSLogixのGPO設定を私物AzureのVMに展開して 説明などを日本語化したExcel資料、一応作りました – MSのDocsとか日本語資料が少ないので、自分が設定するときに サクッと組めるようにと作ったアンチョコ的シロモノです (欲しい方がいればTwitterとかで連絡いただければ……更新改良歓迎です) Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 19
最後に…… 今回はAzure界隈でも比較的ホット案件でかつ まだまだ事例も少ないWVDに関してお話しさせていただきました あるあるネタばかりではありましたが、今回の構築作業をするに あたり、JAZUG界隈の方々から個人的に教えていただいた事も 多かったので、御礼の意味も込めてお話ししています 同じような構築等をされる際の参考になればと思います 今回は実際に手を汚して構築やトラブルシューティングしている メンバーを代表する形でお話ししております 改めて、今回の案件に携わっているメンバー各位に感謝です Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 20
謝辞 ~ いつもお世話になってる あんなサイトやこんなサイト ~ Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved.
いつもいつもお世話になっております • くらう道さん【 https://www.cloudou.net/ 】 • ブチザッキさん【 https://buchizo.wordpress.com/ 】 • Made in container【 http://www.syuheiuda.com/ 】 • JAZUG【 https://www.facebook.com/groups/jazug/ 】 – WVDに関する情報を探すならまずはココ。今回は完全に聖典状態 – Azureの更新確認など定期チェックはやっぱり欠かせませぬ – おなじみコンテナ神宇田さんのブログ。説明が丁寧で助かります – 中の人や参加されている皆さまには本当にお世話になっております その他、ブログ等で経験を書かれている多くの皆様のおかげです Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 22
ご清聴 ありがとうございました m(_ _)m Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved.