こんにちは、石川です。
今回は、Amazon WorkSpacesで利用しているOfficeを、AWS CloudShellから一括で入れ替える方法を紹介します。
前回はコンソール画面からの切り替えを取り上げましたが、対象台数が多い場合は、CloudShellからCLIでまとめて実施したほうが効率的です。
本記事では、既存Officeの関連解除から、新しいOfficeの関連付け、デプロイまでを一括で実行する方法を簡潔に整理します。
はじめに
WorkSpacesのアプリケーション入れ替えは、コンソールから個別に実施することも可能です。
ただし、複数台が対象になると、同じ操作を繰り返すことになり、作業負荷やミスのリスクが上がります。
そのため、対象のWorkSpace IDをあらかじめ整理しておき、CloudShellからCLIで順番に処理する形にしておくと、作業をシンプルに進めやすくなります。
前提
実施前に、以下は確認しておきたいポイントです。
- 対象がWindows WorkSpacesであること
- 対象WorkSpaceの状態が AVAILABLE または STOPPED であること
- 実行時にユーザーセッションへ影響が出ること
- Office / Visio / Project の構成に不整合がないこと
特に、アプリケーションのデプロイ時は利用者影響が発生するため、事前周知や作業時間帯の調整は重要です。
CloudShellで一括変更する
今回は、対象のWorkSpace IDを workspaces.txt にまとめたうえで、CloudShellから以下のように処理します。
手順1
WorkSpacesIDをtxtメモにまとめます
vi workspaces.txt
手順2
以下コマンドを実行します
while read WS_ID; do
echo "=== Processing $WS_ID ==="
aws workspaces disassociate-workspace-application \
--workspace-id "$WS_ID" \
--application-id アンインストールするOfficeのID \
&& aws workspaces associate-workspace-application \
--workspace-id "$WS_ID" \
--application-id インストールするOfficeのID \
&& aws workspaces deploy-workspace-applications \
--workspace-id "$WS_ID"
echo "=== Done $WS_ID ==="
echo
done < workspaces.txt
このスクリプトでは、1台ずつ以下の処理を実施しています。
- 既存Officeの関連解除
- 新しいOfficeの関連付け
- アプリケーションのデプロイ
&& でつないでいるため、途中でエラーになった場合は後続処理を止めることができます。
シンプルですが、一括作業では扱いやすい形です。
※実行画面は以下。
※以下のようにOffice2024がインストールされています
この方法のよいところ
CloudShellから実施する形にしておくと、複数台に対して同じ操作を繰り返す作業をまとめやすくなります。
また、対象IDをファイルで管理できるため、どのWorkSpaceを処理したかも追いやすくなります。
コンソールで1台ずつ操作する場合と比べると、作業の標準化がしやすく、台数が多い環境ほどメリットを感じやすいと思います。
実施時の注意点
一括変更は便利ですが、事前確認なしで流すと想定外の影響が出ることもあります。
そのため、少なくとも以下は見ておくと安心です。
- 対象WorkSpaceの状態
- 利用者の接続状況
- 関連アプリケーションの構成
- 実施対象のWorkSpace IDに誤りがないこと
特に workspaces.txt の中身は、そのまま処理対象になるため、実行前に一度見直しておくのがおすすめです。
最後に
WorkSpacesのOffice入れ替えを複数台に対して実施する場合、CloudShellからCLIでまとめて処理すると、作業をかなり整理しやすくなります。
今回のように、関連解除 → 関連付け → デプロイまでをループで流せるようにしておくと、同様の作業が発生した際にも再利用しやすくなります。
これからWorkSpacesのアプリケーション入れ替えを進める方の参考になれば幸いです。

