【初心者向け】構築したFSx for Windowsの設定をPowershellからやってみた

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

こんにちは!

クラウドインテグレーション部(CI部)技術2課の反町です。

Amazon FSx for Windows File Serverを構築してクォータなどの設定をする機会があったのですが、ところどころはまった部分があったので注意点を含めつつ、設定手順を紹介したいと思います。(以下、FSxと記載します)

構成図

f:id:swx-miyu-sorimachi:20210817110428p:plain 事前準備として図のように、

  • Amazon FSx For Windows File Sever

  • FSxマウント用EC2

  • Active Directory認証用 MicrosoftAD

の構築をしておきました。

FSx についての詳細と構築手順は以下を参考にしました。

docs.aws.amazon.com

blog.serverworks.co.jp

FSx設定手順

1. FSx接続用EC2をドメイン参加させる

作成したActive DirectoryのドメインにEC2を参加させます。

スタートメニューからコントロールパネルを開きます。 f:id:swx-miyu-sorimachi:20210817113713p:plain [システム]を選択します。 f:id:swx-miyu-sorimachi:20210817113832p:plain [設定の変更]をクリックします。 f:id:swx-miyu-sorimachi:20210825150843p:plain [変更]をクリックします。 f:id:swx-miyu-sorimachi:20210818114722p:plain 所属するグループをドメインに変更してドメイン名を入力します。 f:id:swx-miyu-sorimachi:20210818114733p:plain 認証情報を求められるので入力して、[ようこそexample.com(ドメイン名)へ]と表示されればドメイン参加成功です。

2. PowerShellからFSxに接続

2-1. Active Directoryのユーザーでログインする

EC2のドメイン参加が終わったら、Acrtive DirectoryのユーザーでEC2にログインします。下線部分がドメイン名になっていることを確認します。 f:id:swx-miyu-sorimachi:20210818114749p:plain ※私はここでADのユーザーではなくEC2作成時のユーザーでログインし、Powershellから設定を行おうとしてしまい認証情報エラーとなってしまいました。

ログインができたらスタートメニューからPowershellを開きます。 f:id:swx-miyu-sorimachi:20210817115346p:plain

2-2. 接続言語を英語に指定

日本語OSの場合、接続時にエラーになってしまうことがあるので、次のコマンドを実行して言語を英語に変更します。

$usSession = New-PSSessionOption -Culture en-US -UICulture en-us

f:id:swx-miyu-sorimachi:20210817115606p:plain

2-3. FSxに接続

AWSコンソールからWindows Remote PowerShell エンドポイントを確認し、次のコマンドで指定してFSxへ接続します。 f:id:swx-miyu-sorimachi:20210825151058p:plain

enter-pssession -ComputerName [Windows Remote PowerShell エンドポイント] -sessionOption $usSession -ConfigurationName FSxRemoteAdmin

f:id:swx-miyu-sorimachi:20210818114835p:plain ※AWSコンソールのDNS名と間違えないよう注意してください。

3. 重複排除設定

データ重複排除とは?

docs.aws.amazon.com

docs.microsoft.com

3-1. データ重複排除の有効化

Enable-FSxDedup

f:id:swx-miyu-sorimachi:20210818114910p:plain

デフォルトの重複排除機能のスケジュールは以下となっています。

  • 最適化(Optimization):1時間ごと

  • ガベージコレクション(GarbageCollection):毎週土曜 午前2時45分(JST)

  • 整合性スクラブ(Scrubbing):毎週土曜 午前3時45分(JST)

3-2. データ重複排除スケジュールの設定

3-2-1. 最適化スケジュール設定

次のコマンドは平日20:00(JST)に高い優先度で最適化を行うスケジュールを設定しています。

New-FSxDedupSchedule -Name "MyCustomOptimization" -Type Optimization -Days Mon,Tue,Wed,Thu,Fri -Start 11:00 -Priority High

f:id:swx-miyu-sorimachi:20210818114932p:plain

3-2-2. ガーベージコレクションスケジュール設定

次のコマンドは毎週土曜 2:45(JST)にガベージコレクションを行うスケジュールを設定しています。

Set-FSxDedupSchedule -Name "WeeklyGarbageCollection" -Type GarbageCollection -Days Fri -Start 17:45

f:id:swx-miyu-sorimachi:20210818164004p:plain

3-2-3. 整合性スクラブスケジュール設定

次のコマンドは毎週土曜 3:45(JST)に整合性スクラブを行うスケジュールを設定しています。

Set-FSxDedupSchedule -Name "WeeklyScrubbing" -Type Scrubbing -Days Fri -Start 18:45

f:id:swx-miyu-sorimachi:20210818164021p:plain

3-3. 重複排除スケジュールの確認

Get-FSxDedupSchedule

f:id:swx-miyu-sorimachi:20210818114942p:plain

3-4. 不要な重複排除スケジュールの削除

Remove-FSxDedupSchedule -Name "重複排除スケジュール名"

f:id:swx-miyu-sorimachi:20210818115001p:plain

4. クォータの設定

クォータとは?

docs.aws.amazon.com

4-1. クォータの有効化

次のコマンドではすべてのユーザ/グループ(デフォルト設定)に対して約20MBの上限、約10MBで警告されるようにクォータを有効化しています。

Enable-FSxUserQuotas -Enforce -DefaultLimit 20971520 -DefaultWarningLimit 10485760

f:id:swx-miyu-sorimachi:20210825144536p:plain ※クォータの単位はバイト(B)です。

4-2. クォータの設定

次のコマンドではクォータを指定したユーザーまたはグループに対して約200KBの上限、約100KBで警告されるように設定しています。 ※ユーザーはActive Directoryに登録されているユーザーまたはグループを指定してください。

Set-FSxUserQuotas -Domain [ドメイン名] -Name [ユーザー名またはグループ名] -Limit 204800 -WarningLimit 102400

f:id:swx-miyu-sorimachi:20210825144551p:plain ※クォータの単位はバイト(B)です。

4-3. クォータの確認

次のコマンドでは、ファイルシステムの現在のユーザーストレージを確認できます。

Get-FSxUserQuotaSettings

f:id:swx-miyu-sorimachi:20210818115043p:plain

ファイルシステム上の個々のユーザーおよびグループの現在のユーザーストレージを確認するには次のコマンドを使用します。

Get-FSxUserQuotaEntries

f:id:swx-miyu-sorimachi:20210818115056p:plain

5. シャドウコピーの設定

シャドウコピーとは?

docs.microsoft.com

5-1. シャドウコピーストレージがファイルシステムに構成されているかの確認

Get-FSxshadowStorage

上記コマンドを実行し、次の値が帰ってくれば正常です。

No FSx Shadow Storage Configured

f:id:swx-miyu-sorimachi:20210818115113p:plain

5-2. ストレージ全体のシャドウコピーの容量を設定する

次のコマンドではシャドウコピーをストレージ全体の20%に設定しています。

Set-FSxShadowStorage -Maxsize "20%"

f:id:swx-miyu-sorimachi:20210818115124p:plain

5-3. シャドウコピーのスケジュール設定

シャドウコピーのスケジュール設定をする際は一度[exit]コマンドでFSxから抜ける必要があるみたいです!

次のコマンドでは$trigger1で平日の6:00(JST)、$trigger2で平日の18:00(JST)を指定しています。

exit
$trigger1 = new-scheduledTaskTrigger -weekly -DaysOfWeek Monday,Tuesday,Wednesday,Thursday,Friday -at 06:00
$trigger2 = new-scheduledTaskTrigger -weekly -DaysOfWeek Monday,Tuesday,Wednesday,Thursday,Friday -at 18:00

f:id:swx-miyu-sorimachi:20210818115134p:plain

次のコマンドで指定したスケジュールを設定します。

スケジュールを設定する際は1行目のコマンドを利用して再度FSxに入りました!

enter-pssession -ComputerName [Windows Remote PowerShell エンドポイント] -sessionOption $usSession -ConfigurationName FSxRemoteAdmin
Set-fsxshadowcopyschedule -scheduledtasktriggers $Using:trigger1,$Using:trigger2 -Confirm:$false

f:id:swx-miyu-sorimachi:20210818115148p:plain

5-4. 設定したスケジュールの確認

Get-FSxShadowCopySchedule

f:id:swx-miyu-sorimachi:20210818115158p:plain

まとめ

注意するポイントとしては、以下6点でした。

  • ドメイン参加後はAcrtive Directoryのユーザーでログインする

  • 接続言語を英語に指定する

  • Windows Remote PowerShell エンドポイントを指定する

  • クォータの指定でもAcrtive Directoryのユーザーを指定する

  • シャドウコピーのスケジュール設定をする際は一度FSxから抜ける

  • シャドウコピーのスケジュールを設定する際は再度FSxに入る

Powershellを利用したFSxの設定はコマンド初心者には難しいですね。エラーになった時の分析はさらに難しかったです。

今回の記事がどなたかの参考になればうれしいです。