Amazon Workspacesをパソコン代わりに使えるか

# はじめに
AWSの仮想デスクトップ環境「Amazon Workspaces」を利用して作業用の環境を作ってみました。できるだけお安くなるように小規模な環境を作成してみて、個人でパソコンの代わりに利用するという使い方が成立するのか？という観点で、導入の手軽さ、使い勝手とコスト面について様子を見てみたいと思います。

# 前提条件
いくつか最初に決めておいたほうが良いことや見落としがちなことがあるので、挙げておきたいと思います。

## VPCが必要になる
仮想デスクトップを置く場所として、VPCやSubnetなどネットワーク環境が必要になります。オンプレの環境と接続（例えばネットワークプリンタで印刷など）するためには何らかの方法でVPCとオンプレをつなぐネットワークが必要になります。さらにプライベートサブネットに仮想デスクトップを作成した場合、インターネットに接続するためにはNATゲートウェイが必要になります。


## ADが必須であること
VPC環境で利用できるADが必要になります。主に下記3つの方法があります。
* オンプレのADをDirectConnectなどでVPCから利用する
* VPC内にEC2でADサーバを作る
* AWSのDirectory Serviceを利用する

お手軽さの面から今回はAWSのマネージドADであるDirectory Serviceを利用することとしました。このサービスは単体で利用するとお金がかかりますが、Workspacesに使うと無料になるというお得な情報があります。

https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/register-deregister-directory.html

# Windows 10 や 11が使えるわけではない
お手軽に仮想のパソコンを利用できると思いきや、実際のところはWindows Server OSがクライアントOS風なUIで提供されるのがWorkSpacesです。本物のWindows 10や11を利用したければ今のところAzureに行くしかないようです。

ただし、WindowsっぽいUIでChromeとOfficeが使えればよいという場合は特に問題ないでしょう。

# 環境の構築
下記のような手順で進めます。

* VPCの準備
* ADを作成する
* Workspaceを作成する
* Workspacesを利用する

## VPCを準備する
VPCは既存のものを利用しましたが、今回プライベートサブネットに仮想デスクトップを作ることにしました。

https://qiita.com/talomina/items/af962a2d97a6a16b6968#vpc%E3%81%A8%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF

## ADを作成する
Directory ServiceのSimple ADを利用してADを作ります。

> Simple AD および AD Connector は、WorkSpaces で無料で利用できます。

1. Workspacesのコンソールから[ディレクトリ]を選んで[ディレクトリの作成]を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/40c1cc8d-947b-824d-ebc3-4909b78939f4.png)

1. ディレクトリタイプでSimple ADを選択しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/715ae940-a3cb-17e7-24e5-0405e35bbe67.png)

1. [VPCとサブネットを選択]画面でVPCとサブネットを2つ選択します。

1. [確認]画面で内容問題なければ[作成]します。
このとき、費用が月額57.6USDと表示されますが、Workspacesを利用するとこれが無料になるということです。

1. 作成したディレクトリをWorkspacesのコンソールで[登録]します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/3dde5180-88f4-3c49-37c5-cf9aecb8ffbc.png)

1. サブネットを2つ指定して登録します。このサブネットに後ほどWorkspaces を設置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/6364460c-a065-3adc-f8ce-73e1ad2f148f.png)

## Workspacesの作成

1. WorkSpacesのメニューからWorkspacesの作成をクリックします。

1. ディレクトリを選択する画面で先ほど作成したディレクトリを選択して[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/a71e6c67-3c76-a85b-2202-260f1b702894.png)

1. ユーザーを作成する画面がでてくるので、WorkSpacesを利用するためのユーザーを作ります。
1. さらにディレクトリからユーザーを選択する画面が出てくるのでWorkSpacesを利用するユーザーを選択します。
1. バンドルを選択する画面で使いたいWorkspacesを選びます。お値打ちな日本語Windows環境を利用したかったので「Value with Windows 10 (Server 2019 based)を選択しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/bc892ab2-0c44-9d82-78d8-702f069c9c88.png)
物理端末からWorkspacesへの接続にPCoIPとWSPというプロトコルがあるようですが、今回Fire HDから利用してみたかったのでPCoIPを選択しました。

https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/amazon-workspaces-protocols.html

1. 自動で電源が切れるように実行モードはAutoStopを選びました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/f431b501-6d7b-551e-12aa-0ef1130461fd.png)

1. 暗号化できるものは暗号化しておくことにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/4dca08b0-b067-5edd-e055-3f5b752f99f9.png)

これでWorkSpacesの作成は完了です。

## Workspacesを利用する
1. 完成したWorkSpacesにユーザーを招待します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/19547a44-5e7d-0d3a-66f7-e702dd351e97.png)

1. ユーザーにメールが送信されるので、そのユーザーがリンクをクリックしてWorkspacesのクライアントをダウンロード、インストールします。
1. ユーザー名/パスワードとメールに記載のあった[登録コード]でログインします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/b6c66a23-181d-72eb-9906-d81c02fb750a.png)

# お金の話
1週間ほど動かしておくと、費用はこんな感じでかかってきます。Workspacesを作った瞬間に月額の固定費がかかって、あとは利用した時間に応じて従量課金です。「EC2 その他」は何でしょうか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/940466/cff40e3d-74ea-485c-9e1f-023946516c0a.png)


料金の詳細はこちら。

https://aws.amazon.com/jp/workspaces/pricing/

## トータルコストの予測
今回WorkspacesでWindowsの最もコンパクトな構成を作ったわけですが、諸々合算で50USD/月の固定費と使った分だけ変動費が掛かるということになります。140JPY/USDで計算すると年間84,000円～となかなかのコストになります。

使わない月もあるとかであれば話は別ですが、個人で利用するならパソコンを買ったほうが安くつくかな、というのが現状です。

# その他のもろもろ

利用し始めた際にUS配列と認識されるようで、ググると下記が出てきました。

https://dev.classmethod.jp/articles/workspaces-keyboard-layout-change/

https://dev.classmethod.jp/articles/how-to-setup-ie-esc-on-workspaces/

# 注意したほうが良さそうなこと

### Workspacesのイメージを作成しようとしたら・・・
下記のようなメッセージが出ました。ボリュームの暗号化はしないほうがよさそうです。
> 選択した WorkSpace では、1 つ以上のボリュームが暗号化されています。暗号化されたボリュームのある WorkSpace からのイメージの作成は現在サポートされていません。イメージの作成には、暗号化されたボリュームのない WorkSpace を選択してください。

# おわりに

Workspaces はインターネット上のどこからでもプライベートネットワークに配置したデスクトップ環境を利用できる便利な仕組みでした。しかし、個人で利用するには少しコストがかかり過ぎるようです。

### こんなシーンで便利だと思う
個人的な利用はなさそうですが、こんな使い方なら適していると思われます。
* 急にパソコンが必要になって調達が間に合わないとき（個人パソコンからの利用）
* 短い期間だけ作業用パソコンが必要になるとき（個人パソコンからの利用）
* 複数人で共同利用できるパソコンが必要なとき
* インターネットからプライベートネットワークにアクセスするための踏み台として

# 参考文献

https://qiita.com/gk12/items/03f4b50d075389f6c4c4

https://qiita.com/leomaro7/items/a4caaa0910a079dd3c7b

https://qiita.com/zumax/items/fcec5c8de6acd98fadeb

https://qiita.com/hidekko/items/58d9aeece75d8ba71392