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

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

こんにちは!

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

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

構成図

事前準備として図のように、

  • 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を参加させます。

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

2. PowerShellからFSxに接続

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

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

ログインができたらスタートメニューからPowershellを開きます。

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

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

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

2-3. FSxに接続

AWSコンソールからWindows Remote PowerShell エンドポイントを確認し、次のコマンドで指定してFSxへ接続します。

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

※AWSコンソールのDNS名と間違えないよう注意してください。

3. 重複排除設定

データ重複排除とは?

docs.aws.amazon.com

docs.microsoft.com

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

Enable-FSxDedup

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

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

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

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

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

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

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

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

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

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

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

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

Get-FSxDedupSchedule

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

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

4. クォータの設定

クォータとは?

docs.aws.amazon.com

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

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

Enable-FSxUserQuotas -Enforce -DefaultLimit 20971520 -DefaultWarningLimit 10485760

※クォータの単位はバイト(B)です。

4-2. クォータの設定

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

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

※クォータの単位はバイト(B)です。

4-3. クォータの確認

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

Get-FSxUserQuotaSettings

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

Get-FSxUserQuotaEntries

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

シャドウコピーとは?

docs.microsoft.com

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

Get-FSxshadowStorage

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

No FSx Shadow Storage Configured

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

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

Set-FSxShadowStorage -Maxsize "20%"

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

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

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

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

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

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

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

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

Get-FSxShadowCopySchedule

まとめ

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

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

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

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

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

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

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

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

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