こんにちは!2年目の秋葉です!
入社2年目でまだまだ勉強中ですが、最近業務で「Amazon FSx for Windows File Server(以下FSx)」を触る機会がありました。
その中で、“PowerShellからシャドーコピーを設定してみる” という作業を経験したので、
同じようにFSxを扱う方や、これからPowerShell操作にチャレンジする方へ向けて、私の学びを共有したいと思います。
FSx、ボリュームシャドーコピーとは
ここで、本記事の要となるFSx・シャドーコピーについて簡単に説明します。
- FSx:WindowsファイルサーバーをAWS上にまるごと構築してくれるマネージドサービスです。
- ボリュームシャドーコピー:ファイルやフォルダの過去バージョンを自動的に保存しておく仕組み


似た言葉で「スナップショット」といわれるものがありますが、シャドーコピーはあくまで「仕組み」です。
スナップショットはシャドーコピーで作成される成果物だと考えましょう。
今回使用する構成図
今回はWorkSpacesを使用してFSxのボリュームシャドーコピーを設定していきます。
AWS WorkSpacesとは、AWSが提供するマネージド型の仮想デスクトップサービスです。
クラウド上にWindowsまたはLinuxデスクトップ環境を構築でき、利用ユーザーは自宅や社内、出張先など、
どこからでも安全にアクセスできるようになります。
PowerShellからFSxに接続してみる
早速、WorkSpacesに接続してPowerShellを起動します。
ここでひとつ注意点があります。
ボリュームシャドーコピーの設定は、誰でもできるわけではありません。
FSx構築時に「委任された管理者グループ」として登録されたグループに所属しているユーザーのみが設定操作を行えるため、
自分のアカウントにその権限がない場合は、対象の管理者ユーザーとして実行する必要があります。
別ユーザーとしてPowerShellを起動出来たら、以下コマンドを使用してFSxに接続します。
“Windows Remote PowerShell EndPoint”は、FSxのマネコン上で確認可能です。
Enter-PSSession -ComputerName "Windows Remote PowerShell EndPoint" -ConfigurationName fsxremoteadmin
赤枠部分が適切なWindows Remote PowerShell エンドポイントであれば成功です。
シャドーコピーの設定
シャドーコピーの容量設定
今回は以下コマンドを使用して設定しました。
「-Default」 オプションを使用すると、シャドウストレージの量をボリュームの 10% に、シャドウコピーの最大数を 20 に設定します。
Set-FsxShadowStorage -Default
スケジュール設定
スケジュールを設定する前に、[exit]コマンドを使用して、一度FSxから切断します。
以下コマンドを使用して、Windows スケジュールタスクトリガーを作成します。
JST時刻で毎日00:00にシャドウコピーを取得するように取得しています。
$trigger1 = new-scheduledTaskTrigger -weekly -DaysOfWeek Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday -at 00:00
次に、FSxにもう一度接続し、以下コマンドを使用してシャドーコピーのスケジュールを設定します。
Set-fsxshadowcopyschedule -scheduledtasktriggers $Using:trigger1 -Confirm:$false
設定時刻はUTC時刻で表記されるので、間違えないように注意してください。
その他コマンド
| コマンド | 説明 |
| Get-FsxShadowStorage | シャドウコピーストレージを表示 |
| Get-FsxShadowCopySchedule | シャドウコピースケジュールの表示 |
| Remove-FsxShadowCopySchedule | シャドウコピースケジュールの削除 |
| New-FsxShadowCopy | シャドウコピーの作成(手動) |
| Get-FsxShadowCopies | 既存のシャドウコピーの表示 |
| Remove-FsxShadowCopies -Oldest | 最も古いシャドウコピーの削除 |
| Remove-FsxShadowStorage | シャドウコピーのストレージ、スケジュール、およびすべてのシャドウコピーを削除する |
まとめ
今回は、FSxのボリュームシャドーコピーをPowerShellから有効化・スケジュール設定する流れをまとめました。
実際にやってみて感じたことをいくつか挙げます。
- GUIよりも仕組みを理解しながら設定できる
- FSx構築時に「委任された管理者グループ」として指定したグループがかなり重要!(最初、ここでハマりました)
- スケジュール設定時は、一度FSxから切断する!(次に、ここでもハマりました)
- スケジュール設定時刻はJST表記だが、表示時刻はUTC表記に注意!(最後に、ここでハマりました)
まだまだ学ぶことは多いですが、実際に構築してみると仕組みがぐっと分かりやすくなります。
これからFSxを運用していく方や、PowerShellを活用したい方の参考になれば幸いです。






