「WorkSpace Image」を利用したデプロイ(展開)を検証してみた

記事タイトルとURLをコピーする

どうも、昨夜おでんを食べたのですが、がんもどきは入っていなかったなぁと思うがんも(佐竹)です。

昨夜に引き続き」、WorkSpacesのゴールデンマスター(ゴールデンイメージ)こと、WorkSpace Imageを使った検証をします。

はじめに

今回は、VDI管理者が間違いなく出くわす「デプロイ(展開)」について記載します。
※ここでいうデプロイとは、元となっているゴールデンマスターに追加インストールされたアプリケーションやパッチを、後追いで利用中の各VDI端末に展開することを指します

まずはデプロイ用のWorkSpace Imageを作ろう

前回の記事では、GoogleのChromeのみを追加インストールしたWorkSpaceを元Imageとして、新たなWorkSpaceを構築しました。

WSI18

これが現在現場で利用されているWorkSpaceの状態です。

今回、このVDI端末(配信先のWorkSpace)がUser名「Yoichi2」になります。
また、元のImageとなるWorkSpaceが
User名「Yoichi」となります。

この状態のクライアント(Yoichi2)に、今回はThunderbird(メーラ)をデプロイしたいと思います。

まずは、イメージ用のWorkSpace(Yoichi)にログインして、そこにThunderbirdをインストールします。

WSI2_1

Thunderbirdのインストールが完了しました。
これを元Imageとするために

WSI2_2

まずは、Reboot WorkSpaceをしましょう。

Rebootが完了し、Runningステータスに戻ったら、

WSI2_3

Create Imageをします。
今回は上記の通りのImage Nameにしました。

WSI2_4

待つこと約40分。
無事にThunderbird入りのImageがAvailableになりました。

Bundleの確認とUpdateをしよう

次に、デプロイしたい先のWorkSpace(Yoichi2)の元バンドルとなっている「WorkSpace Bundle」の項目を確認しましょう。

WSI14

はい、「my1stbundle」ですね。

次に、「WorkSpace Bundles」に移動して、

WSI2_5

今回、デプロイしたいmy1stbundleのImage名を確認しましょう。

BundleとImageの紐付けはいつでもUpdateできるため、ここでImageの差し替えをします。

「Image⇒Bundle⇒WorkSpace」という流れになっていることを念頭に置いて頂けるとわかりやすいと思います

WSI2_6

実際に更新しましょう。
今回作成したThunderbird入りのImageを選択して、

WSI2_7

Update Bundle成功です。

Rebuildする前にRebootしよう

次のステップは、後はもうYoichi2にRebuildをかけるだけでデプロイが完了するのですが、

WSI2_9

Rebuild WorkSpaceを選択すると

WSI2_10

このような注意書きが表示されます。よく読むと

「Rebuildの前に再起動をしましょう」

と記載があります。
なお、Rebuildをすると、ユーザデータ(Dドライブのデータ)はここ12時間以内に作成されている自動バックアップから復旧されます。

ということで、マネジメントコンソールからRebootをしましょう。

WSI2_11

Reboot WorkSpaceを押すと

WSI2_12

Pendingになります。Runningになるまで、数分待ちましょう。

Rebuildしよう

遂にやってきました、デプロイのお時間です。
デプロイには、Rebuild(再構築)を利用します。

これを行うと、元のBundleからユーザデータ以外を構築しなおしてくれるので、
先ほどBundle⇔Image間の紐付けを変更すると、新しいImageから再構築されることになります。

これ即ち、デプロイ(展開)です。

本当にデプロイされるのか心配なので、実行する直前に対象WorkSpace(Yoichi2)の画面キャプチャをとっておきました。

WSI2_13

というわけで、満を持して、Yoichi2のRebuildを実行!

WSI2_14

ステータスはRebuilding WorkSpaceになります。

WSI2_15

そして、その後Pendingに遷移します。
RebuldはLaunchと同じく重たい処理なので、十数分かかります。

WSI2_16

きた!Runningになりました。今回は20分かかりました。

確認してみよう

さっそく接続します。

WSI2_17d

おお!

左上にThunderbirdのアイコンがいますね。
もちろん、起動も無事にできました!デプロイ/展開成功です!

おめでとうございます。

検証していて気になった点

今回、これと合わせて検証したのが、Dドライブのデータの巻き戻りです。

WSI2_13

Dドライブのフォルダは、Rebuildを実行する30分ほど前に作ったものです。
作成後にRebootをしており、Rebootと同タイミングでDドライブのバックアップが取得される仕様なのであれば、Dドライブのデータも引き継がれるはずです

引き継がれない場合は、ここ12時間以内に取得されたバックアップから復旧ということでこれらのデータは消失するはずです。

そして、その結果です。

WSI2_18

残念なことに、Dドライブのデータは巻き戻ってしまいました。
マネジメントコンソールからのRebootでも、Dドライブのバックアップは取得されないようです。

Dドライブを生かしたデプロイには、現状12時間使用を停止する期間を設ける必要がありそうです。

次に気になるのは、

WSI2_17d

これ、よく見たら、タスクバーにThunderbirdのショートカットがないんです。
元ImageのWorkSpaceである、Yoichiにはありました。

WSI2_1

↑これがYoichi側の画面キャプチャです。

あれ?
デスクトップにはあるのに?何故タスクバーはデプロイされなかったのでしょうか・・・?

しかし、前回インストールしたChromeはしっかりと持ってこれています。

結論から言いますと、これは単純に「DドライブがRebuildで巻き戻っただけ」でした。

ただ、詳細が気になって調べたところ、以下のフォルダが関連していることがわかりました。

WSI2_22

アプリケーションをインストールしたとき、インストールラがタスクバーのショートカットも作成してくれますが、
その場合は、「AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar」
関係のフォルダ「全てに」設置をしてくれます。

ですので、Chromeは上記キャプチャの通りに
・C:UsersDefaultAppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar
・D:UsersYoichi2AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar
どちらにも配置されています

ただし、Thunderbirdの場合はそのような機能がなかったため、私がタスクバーに手動で追加をしました。

手動で追加をすると、
D:UsersYoichi2AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar
こちら、Dドライブ側のUserのAppData以下にのみ配置されるため、Cドライブに情報が残りません。
ゴールデンマスターで重要なのは、Cドライブです。

ゴールデンマスターの情報は、全てCドライブに配置される必要があります。
そしてどうやら、Dドライブの「TaskBar」フォルダ以下は、Cドライブの「TaskBar」から
WorkSpaceのLaunchのタイミングで毎回コピーされているようです。

ですので、タスクバーもマスターとしてデプロイしたい場合は、Cドライブの「TaskBar」以下にも設置するように準備をする必要があります。

ただ気を付けたいのは、最終的にタスクバーは、
D:Users%User名%AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar
が正となってユーザには表示されるということで、はじめにお伝えした通り、今回は「Rebuild」だったことから
単純に「DドライブごとThunderbirdが入っていないタスクバーに巻き戻った」という話でした。

加えて、ショートカットついでにデスクトップを調べてみますと、

WSI2_20

レジストリを確認したところ、ユーザ単位ではDドライブを見ているのですが、ここにはWorkSpacesとZocaloのショートカットしか置いてありません。
ですが、デスクトップにはChrome等のショートカットアイコンが置いてあります。
これは、「C:UsersPublicDesktop」も合わせて表示されているためで、
デスクトップの場合はこの2つのフォルダを持ってデスクトップアイコンが決まります。

最後に、タスクバーとデスクトップのショートカットアイコン事情を比較しますと、

  • タスクバーはユーザの持ち物なので勝手に展開しない
  • デスクトップは管理者側からショートカットを設置して展開することができる

となります。

まとめ

イメージ元となったWorkSpaceに新たにインストールされたThunderbirdを、
WorkSpace ImageとRebuildをうまく利用することで、構築済みのWorkSpacにデプロイすることができました!

図示すると、以下のようになるでしょうか。

WSI2_21

これができるとできないとでは管理者の手間が大違いですね!

昨夜は「なぜBundleとImageの紐付けが後からUpdateできる必要があったのか?」と考えていたのですが、
本日答えがみつかりました。1つはこのデプロイのためと言えるでしょう。

この検証結果もって、Amazon WorkSpacesを利用してのデプロイ運用を含めて
お客様にご提案できるようになったと思います。

Workspacesを使ってみたいというお問い合わせがございましたら、是非サーバーワークスまでご連絡ください。
お待ちしております。

佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ

マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023 Japan AWS Top Engineers/2020-2023 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。