Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Fin-JAWS 2021 LT
Search
Yukito
February 21, 2024
Programming
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fin-JAWS 2021 LT
Yukito
February 21, 2024
More Decks by Yukito
See All by Yukito
技術系コミュニティ活動を3年間やってみて思うこと
yukitodate
0
530
5日間でAWS認定資格 Machine Learning Specialtyを取得した話
yukitodate
1
1.3k
年に一度のお祭り 来週いよいよ開催!
yukitodate
0
260
JAWS-UG最大規模イベント JAWS DAYS 2021 のご案内
yukitodate
2
1.5k
Other Decks in Programming
See All in Programming
Building a Meta Ray-Ban display app
akkeylab
0
150
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
数百円から始めるRuby電子工作
tarosay
0
150
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
Google Apps Script で Ruby を動かす
kawahara
0
220
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
150
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
550
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
3
840
今さら聞けない .NET CLI
htkym
0
190
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
570
How to make the Groovebox
asonas
2
2.3k
How STYLIGHT went responsive
nonsquared
100
6.2k
Code Review Best Practice
trishagee
74
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
280
Faster Mobile Websites
deanohume
310
32k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
The browser strikes back
jonoalderson
0
1.5k
Transcript
AWS VDI WorkSpacesを利用した テレワーク環境運用方法の紹介 〜with CLI 初心者の学び〜
本日お伝えしたいこと テレワーク環境で利用している Amazon WorkSpaces の VDI 運用管理の AWS CLIやTypeScript等を用いた効率化方法 CLI初心者の学びや気づき
2
発表の流れ 1. Amazon WorkSpaces とは 2. WorkSpaces VDI 運用の体制と課題 3.
WorkSpaces VDI 運用フローの効率化 4. 学びと所感 3
Amazon WorkSpaces とは 1 4
Amazon WorkSpacesとは ⊡ AWSの提供するフルマネージド型仮想デスクトップサービス ⊡ クラウド上でデスクトップ環境を提供。「いつでも・どこでも」を実現 ⊡ Amazon WorkSpaces 構成要素の一つにAWS
Directory Serviceがある ⊡ WorkspacesはDirectoryServiceをユーザ管理ディレクトリとして利用 5 https://d1.awsstatic.com/webinars/jp/pdf/services/20180207_AWS_BlackBelt-Workspaces.pdf AWS Directory Service
WorkSpaces VDI 運用の 効率化前の体制と課題 2 6
WorkSpaces VDI 運用の概要 ⊡ WorkSpaces利用用途 □ 金融系のお客様開発案件にて、弊社含む開発会社の テレワーク時にお客様のVDI環境利用のため ⊡ 利用者
□ 会社数:約24社 □ 総利用者数:約450人 ⊡ 運用体制 □ 計2人(自分は今年から運用担当を引き継いだ) ⊡ 運用課題 □ テレワーク環境申請〜デプロイの運用管理の作業負荷が高い → 運用作業を効率化したい! 7
Amazon WorkSpaces 運用フロー(効率化前) 8 テレワーク申請管理簿 (テレワーク環境利用者情報管理) 仮想デスクトップ構築 テレワーク申請管理簿の 情報を元にコンソールで構築 認証サーバにユーザ登録
2段階認証コード出力 セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信 PowerShell Amazon WorkSpaces Mail Excel Step.1 Step.2 Step.3 運用担当者 テレワーク環境利用者
運用フローの問題 9 仮想デスクトップ構築 テレワーク申請管理簿の 情報を元にコンソールで構築 認証サーバにユーザ登録 2段階認証コード出力 セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信
PowerShell Amazon WorkSpaces Mail Excel Step.1 Step.2 Step.3 運用担当者 更新有無を 随時確認する 必要あり 申請簿から コンソール画面に転 記する情報多い サーバにSSHしてコ マンドを何個か叩く 必要あり テレワーク申請管理簿 (テレワーク環境利用者情報管理) セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信 Excel テレワーク環境利用者 メールにてセットアップ情報を 各利用者分送る必要あり (利用者によって宛先異なる)
運用フローの問題 10 仮想デスクトップ構築 テレワーク申請管理簿の 情報を元にコンソールで構築 認証サーバにユーザ登録 2段階認証コード出力 セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信
PowerShell Amazon WorkSpaces Mail Excel Step.1 Step.2 Step.3 運用担当者 更新有無を 随時確認する 必要あり 申請簿から コンソール画面に転 記する情報多い サーバにSSHしてコ マンドを何個か叩く 必要あり テレワーク申請管理簿 (テレワーク環境利用者情報管理) セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信 Excel テレワーク環境利用者 メールにてセットアップ情報を 各利用者分送る必要あり (利用者によって宛先異なる)
Amazon WorkSpacesによる仮想デスクトップ作成における問題 ①作成人数が多いと、WorkSpaces環境作成作業に非常に時間を要する ・年度初めは申請者数100人ほど。 1ユーザにつき4つの情報転記が必要であるため、計400回もコピペする必要ある... ・(申請者1人でもコピペ作業は正直めんどう...) ②一度に作成可能な人数の制限がある(20人まで) ③転記ミス発生 運用時の問題 ⊡
ユーザ名 ⊡ 名 ⊡ 性 ⊡ Eメール 11 申請簿情報の転記
運用フローの問題 12 仮想デスクトップ構築 テレワーク申請管理簿の 情報を元にコンソールで構築 認証サーバにユーザ登録 2段階認証コード出力 セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信
PowerShell Amazon WorkSpaces Mail Excel Step.1 Step.2 Step.3 運用担当者 更新有無を 随時確認する 必要あり 申請簿から コンソール画面に転 記する情報多い サーバにSSHしてコ マンドを何個か叩く 必要あり テレワーク申請管理簿 (テレワーク環境利用者情報管理) セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信 Excel テレワーク環境利用者 メールにてセットアップ情報を 各利用者分送る必要あり (利用者によって宛先異なる)
運用フローの問題 13 仮想デスクトップ構築 テレワーク申請管理簿の 情報を元にコンソールで構築 認証サーバにユーザ登録 2段階認証コード出力 セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信
PowerShell Amazon WorkSpaces Mail Excel Step.1 Step.2 Step.3 運用担当者 更新有無を 随時確認する 必要あり 申請簿から コンソール画面に転 記する情報多い サーバにSSHしてコ マンドを何個か叩く 必要あり テレワーク申請管理簿 (テレワーク環境利用者情報管理) セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信 Excel テレワーク環境利用者 メールにてセットアップ情報を 各利用者分送る必要あり (利用者によって宛先異なる)
運用フローの問題 14 仮想デスクトップ構築 テレワーク申請管理簿の 情報を元にコンソールで構築 認証サーバにユーザ登録 2段階認証コード出力 セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信
PowerShell Amazon WorkSpaces Mail Excel Step.1 Step.2 Step.3 運用担当者 (私) 更新有無を 随時確認する 必要あり 申請簿から コンソール画面に転 記する情報多い サーバにSSHしてコ マンドを何個か叩く必 要あり テレワーク申請管理簿 (テレワーク環境利用者情報管理) セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信 Excel テレワーク環境利用者 メールにてセットアップ情報を 各利用者分送る必要あり (利用者によって宛先異なる) メインの業務以外の事務的作業に 多くの時間をとられるのは嫌
運用課題 15 課題 WorkSpaces利用者が数十名規模であれば問題ないが、 数百名以上の規模では、 テレワーク環境申請〜デプロイの運用管理の効率的な仕組みが必要 △100人申請者がいるとデプロイまで2時間半以上かかる 解決アプローチ 以下ツール活用等により、申請からデプロイまでを効率化 ⊡
AWS CLI ⊡ Microsoft Lists ⊡ Power Automate ⊡ シェルスクリプト作成
WorkSpaces VDI 運用フローの効率化 3 16
Amazon WorkSpaces 運用フロー(効率化前) 17 テレワーク申請管理簿 (テレワーク環境利用者情報管理) 仮想デスクトップ構築 テレワーク申請管理簿の 情報を元にコンソールで構築 認証サーバにユーザ登録
2段階認証コード出力 セットアップ情報送信 2段階認証コード (とWorkSpaces招待メール)を送信 PowerShell Amazon WorkSpaces Mail Excel Step.1 Step.2 Step.3 運用担当者 テレワーク環境利用者
Amazon WorkSpaces 運用フロー(効率化後) 18 テレワーク申請管理簿 PowerShell Amazon WorkSpaces Outlook Microsoft
Lists Step.1:仮想デスクトップ構築 Step.2:認証サーバにユーザ登録 Step.3:セットアップ情報送信 運用担当者 利用者 Power Automate Microsoft Lists AWS CLI シェルスクリプト ✖ ✖ ✖ ✖ ✖ Typescript
Amazon WorkSpaces 運用フロー(効率化後) 19 テレワーク申請管理簿 PowerShell Amazon WorkSpaces Outlook Microsoft
Lists Step.1:仮想デスクトップ構築 Step.2:認証サーバにユーザ登録 Step.3:セットアップ情報送信 運用担当者 利用者 Power Automate Microsoft Lists AWS CLI シェルスクリプト ✖ ✖ ✖ ✖ ✖ Typescript
仮想デスクトップ構築の 効率化後の流れ 20 TSでの処理フロー Amazon WorkSpaces AWS CLI ✖ ✖
Typescript 1. テレワーク申請管理簿(CSV形式)を読み取ってユーザを一括作成 a. CSV→JSON形式に変換 b. JSONからデータを抽出しCLIコマンドのインプットパラメータ作成 c. インプットパラメータのバリデーション実行 d. 複数のユーザ作成一括実行 2. WorkSpaces環境を一括作成 a. WorkSpaces環境作成のCLI実行
工夫したこと 21 インプットパラメータへのバリデーション実行 申請簿の情報に不備があるケースが頻繁に発生する EX. 必須項目の空欄、メールアドレス形式不備 入力フォーマットの有効性を スキーマを用いて検証したことで 目視による入力不備確認作業を軽減 ★バリデーションライブラリ
Zod 利用 Zod ・Schema firstなvalidationライブラリ ・validateするschemaを定義して、 schemaベースにparse ・型以上の制約をつけられる ・コードもシンプルに
学びや所感 4 22
CLI初利用の学び ⊡ コンソール画面とCLIではできる機能は同じだが、 IFは異なるためCLI初心者にとっては躓くポイントになる □ ユーザ作成とWorkSpaces環境作成が分離 □ コンソールでは意識したことがなかったWorkDocsの存在 □ 特にWorkSpaces
は今回の要件にマッチするやってみた系記事がなく、 参考材料が少なく苦労した ⊡ CLIの活用はユースケースに合わせたアレンジが必要な場合がある □ TSでやる処理が思ったより多かった ⊡ CLIを導入後に運用フローを少し変更することが必要な場合がある □ CLIだと、管理者側で初期パスワード設定作業&パスワード送付が必要になる 23
さいごに 5 24
さいごに 25 解決アプローチ 課題 以下ツール活用等により、申請からデプロイまでを効率化 ⊡ AWS CLI, Microsoft Lists,
Power Automate,シェルスクリプト作成 申請〜デプロイ3分 WorkSpaces利用者が数十名規模であれば問題ないが、 数百名以上の規模では、 テレワーク環境申請〜デプロイの運用管理の効率的な仕組みが必要 △100人申請者がいるとデプロイまで2時間半以上かかる...