CS課佐竹です。
最近、Amazon WorkSpacesの運用で少々困ることがあったため共有目的で記載します。
はじめに
Amazon WorkSpaces (ワークスぺース) では、EBS Volumeの「Modify」のようにDiskサイズの変更が可能となっています。公式ドキュメントのリンクは以下の通りです。
Amazon WorkSpaces » 管理ガイド » WorkSpaces の管理 » WorkSpace の変更
https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/modify-workspaces.html
ボリュームのサイズを変更する際の制限
早速ですが制限を見ていきます。
1. 組み合わせの制限
WorkSpacesのボリュームサイズで利用可能な組み合わせは、2019年7月現在以下の一覧の通りとなっております。
種類 | Root | User |
ドライブレター | Cドライブ | Dドライブ |
バリュー | 80 GB | 10 GB |
スタンダード | 80 GB | 50 GB |
パフォーマンス | 80 GB | 100 GB |
パワー(パワープロ) | 175 GB | 100 GB |
カスタム | 175 – 2000 GB | 100 – 2000 GB |
まずWorkSpacesのボリュームサイズには、上記の組み合わせ以外は選択できないという制限があることをご理解頂ければと存じます。
補足しますと、上記種類の「バリュー」が80 GBと10 GBの組み合わせというのは「AWS側が決めた推奨初期値」となっております。構築時にユーザ側でこれ以外の値に変更することも可能ですが、その組み合わせは上記の一覧の中におさまっている必要があります。具体的には、RootのCドライブを100GBにすることはできません。また、UserのDドライブに80GBを選択することもできません。この「組み合わせが上記一覧におさまっている必要がある」という制限は、初期構築時だけではなくボリュームサイズの変更時にも当てはまります。
CドライブもしくはDドライブの片方しか1度に変更できない
先に記載した内容への追加になるのですが、ボリュームのサイズ変更はRootとUserボリューム、それぞれ別々に実行する必要があります。よって、CドライブとDドライブが80 GBと10 GBの組み合わせのWorkSpaceを、175 GBと100 GBの組み合わせに一度に同時変更はできないのが現状です。もし現在ご利用されているWorkSpaceのCドライブの80 GBが容量不足で、かつDドライブのサイズが10 GBしかない場合は、一度Dドライブを100 GBに変更してから6時間待機の後、Cドライブを175 GBへと拡張するという段階を踏んでいただく必要があります。一度に同時変更はできない点にご注意ください。
ボリュームのサイズは縮小できない
一度、拡張したボリュームのサイズは小さくすることはできません。例えば50G GBを100 GBに拡張した後、改めて50 GBに縮小するということはできません。
2. 変更が可能な時間の制限
公式ドキュメントに記載がありますが、ボリュームの拡張は 6 時間に 1 回リクエストできます。一度ボリュームサイズの変更を実行すると、その後6時間は変更ができません。また、この「6時間に1回」という制限は、「構築直後のWorkSpace」にも当てはまります。つまり、新規に構築されたWorkSpaceでは、その後6時間はボリュームサイズの変更ができないということになります。実際に構築直後のWorkSpaceに対してボリュームサイズの変更を行ってみましたところ、以下のエラーが発生しました。
「Error Modifying WorkSpace Properties」とエラー表示がされます。このようなエラーが発生した場合、「WorkSpaceが構築されてから6時間が経過したかどうか?」「前回のボリュームサイズの変更から6時間が経過していないのではないか?」という2つの観点から切り分けを行う必要があります。合わせて、以下の公式のナレッジセンターもご参考ください。以下のナレッジセンターにおいても「6 時間に 1 回、ボリュームの増加をリクエストできます。」と記載があります。
WorkSpaces のボリュームサイズまたは計算タイプを変更するにはどうすればよいですか?
https://aws.amazon.com/jp/premiumsupport/knowledge-center/workspaces-change-volume-size/
なお残念ながらこの「WorkSpaceの構築もしくは前回の変更から6時間が経過したかどうか」はマネジメントコンソールからも、CLIからも確認する術がありません。そのため確実な方法としてはエラーが発生した場合は6時間の待機を行い、再度実行するのが確実となります。
3. 変更が可能なボリュームタイプの制限
WorkSpacesのボリューム(EBS Volumeと同等です)は、現在 Magnetic ではなく SSD で構築されています。これは2017年1月31日のリリースで発表された仕様変更となります。詳細は以下の公式ブログをご確認ください。
Amazon WorkSpaces の更新 – SSD ボリュームとコストオプティマイザ
https://aws.amazon.com/jp/blogs/news/amazon-workspaces-update-ssd-volumes-and-cost-optimizer/
これに加えて、重要なのが以下の制限です。最初にご紹介しました公式ドキュメントの注記において記載がありますが「サイズ変更できるのは、SSD ボリュームのみです。」という箇所です。つまり、WorkSpaceのボリュームサイズを変更しようとしても、変更ができるのは2017年1月31日以降に新規構築(Create)もしくは再構築(Rebuild)したWorkSpaceのみとなります。そしてさらに残念ながらこの「WorkSpaceのボリュームがMagneticなのかSSDなのか」はマネジメントコンソールからも、CLIからも確認する術がありません。調査が必要な場合、AWSサポートに問い合わせを行うか、もしくは対象のWorkSpaceの過去の操作履歴を追う必要があります。ただし、ある条件の時だけ確実にマグネティックであると判断できる条件があります。そのご説明のために、先に以下のリリースをご連絡致します。
Amazon WorkSpaces now comes with larger root volumes
https://aws.amazon.com/jp/about-aws/whats-new/2016/06/amazon-workspaces-now-comes-with-larger-root-volumes/
2016年6月24日にリリースされたこの拡張により、それ以後のWorkSpaceのRootボリューム(Cドライブ)は80 GBになりました。つまり時系列に並べると以下の通りです。
WorkSpaceの構築時期 | Root (Cドライブ) サイズ | ボリュームタイプ |
[A] 2016年6月23日 以前 | 60 GB | マグネティック |
[B] 2016年6月24日 ~ 2017年1月30日 | 80 GB | マグネティック |
[C] 2017年1月31日 以降に構築もしくは再構築 | 80 GB | SSD |
この一覧から判断が可能なのは「Rootのボリュームサイズが 60 GBのWorkSpaceは確実にマグネティックであるためボリュームのサイズを変更することはできない」という点です。注意が必要なのは、80 GBであっても、マグネティックで構築が可能となっていた時期が半年間ほどありました。よって、 80 GBだからといってSSDであるという判断は誤っている場合があることも留意が必要です。なお、マグネティックのボリュームをModifyにて拡張しようとした場合も、同様に「Error Modifying WorkSpace Properties」とエラー表示がされます。
停止中にもボリュームのサイズの変更は可能か?
制限に関連して記載させて頂きます。停止中のWorkSpaces、つまりSTOPPEDステータスのWorkSpaceに対してのボリュームサイズの変更ですが、結論からお伝えすると「可能」です。よって、制限には当たりません。ただし、変更中のステータスが画面に表示されないため、進行状況が把握しにくいというデメリットがあります。それを確認するために「aws workspaces describe-workspaces」が利用可能です。aws workspaces describe-workspaces を実行すると、”ModificationStates” という値が確認できます。この値は、ボリュームサイズの拡張が進行中では、以下の結果が返ります。
"ModificationStates": [ { "Resource": "USER_VOLUME", "State": "UPDATE_IN_PROGRESS" } ]
この値を確認することで、停止中のWorkSpaceでもボリュームサイズの変更が正常に動作しているか確認が可能となります。
ボリュームサイズ変更の運用ワークフロー
これまでに記載しました上記3つの制限を加味した簡易的な運用ワークフローを記載してみました。
以下、フローの補足説明となります。
- サイズが不適切な場合、再度申請時に「やはり再構築(リビルド)が必要」と連絡されると利用者もやり取りが面倒と感じる可能性を加味して、サイズの確認時に同時にRootボリュームサイズが60 GBかどうか=マグネティックかどうかも合わせて確認してから連絡を返すフローにしています
- 6時間経過した後でもエラーになる場合に、AWSサポートに問い合わせを行う作業を挟んでいますが、これは「マグネティックが原因ではない可能性も加味して」行うもので、凡その場合はマグネティックと考えられますため、フロー上はそのままマグネティックだった場合の再構築調整に進む想定です
- 「再構築の調整」と「再構築実施」のフローは本フローとは別で管理する想定のため、「再構築を調整」とだけ記載しています。再構築が完了した場合は、再度本フローが実行される想定です
まとめ
本記事では、WorkSpacesの運用における「ボリュームのサイズを変更する際の制限」についてまとめさせていただきました。制限は大きくわけて以下の3つの制限について記載しました。
- 組み合わせの制限
- 決められた組み合わせが存在すること
- CドライブとDドライブは同時に拡張ができないこと
- 縮小ができないこと
- 変更が可能な時間の制限
- 変更が可能なボリュームタイプの制限
これらに加え、記事の最後に運用ワークフローも提示させて頂きました。こちらのワークフローは「フロー策定時の叩き台」としてご利用いただければ幸いです。
この記事の通り、WorkSpacesのボリュームのサイズを変更するという作業1つ取っても注意すべき点が多々あります。というわけで、Amazon WorkSpacesの運用にお困りでしたら、是非サーバーワークスまでお問い合わせください。
ではまたお会いしましょう。