今回のゴール
以前にFSx for Windowsでファイルサーバーを構築したのですが、
AWSのサイトに管理のベストプラクティスがあったので、それを参考に設定してみました。
管理のベストプラクティス Amazon FSx ファイル・システム
下準備
今回はPowerShellで設定しますので、FSxサービスのファイルシステムの設定画面から”Windows Remote PowerShell エンドポイント”を確認します。
接続元が日本語環境の場合
接続元が日本語環境の場合、言語のローカリゼーションエラーが発生しますので、下記のオプションをコマンドの最後につけてください。
-SessionOption (New-PSSessionOption -uiCulture “en-US”)
リモートPowerShellセッションを開始しようとすると言語のローカリゼーションエラーが発生する
データー重複除外設定
設定
デフォルトのスケジュールでデータ重複排除をオンにします。
Invoke-Command -ComputerName $FSxWindowsRemotePowerShellEndpoint -ConfigurationName FSxRemoteAdmin -ScriptBlock { Enable-FsxDedup }
重複排除の状況は下記コマンドで確認できます。
Invoke-Command -ComputerName $FSxWindowsRemotePowerShellEndpoint -ConfigurationName FsxRemoteAdmin -ScriptBlock { Get-FSxDedupStatus } | select OptimizedFilesCount,OptimizedFilesSize,SavedSpace,OptimizedFilesSavingsRate
シャドウコピーの設定
設定
シャドウコピーをデフォルト設定でオンにします。
シャドウ コピーのデフォルト設定とは下記です。
- シャドウ コピーはファイル システムの最大10%を消費
- 毎週月曜日、火曜日、水曜日、木曜日、金曜日の午前7時と午後12時(UTC)にシャドウ・コピーが自動的に作成
Invoke-Command -ComputerName $FSxWindowsRemotePowerShellEndpoint -ConfigurationName FSxRemoteAdmin -ScriptBlock { Set-FsxShadowStorage -Default }
Invoke-Command -ComputerName $FSxWindowsRemotePowerShellEndpoint -ConfigurationName FSxRemoteAdmin -ScriptBlock { Set-FsxShadowCopySchedule -Default -Confirm:$False}
確認
実際にファイルをリストアしていきます。
ファイルを何か作成して、下記コマンドを実行してシャドウコピーを実行します。
enter-pssession -computername FSxFileSystem-Remote-PowerShell-Endpoint -configurationname fsxremoteadmin
New-FsxShadowCopy
エクスプローラーから、該当ファイル(またはフォルダ)を右クリックして”以前のバージョンの復元”をクリックします。
先ほどシャドウコピーを実行したファイルのバージョンが表示されていることを確認します。
ファイルをクリックすると、そのバージョンのファイル内容を確認する事ができます。
戻したいバージョンを選択して「復元」ボタンを押すと、そのバージョンに戻すことができます。
転送中の暗号化の強制(必要に応じて)
これは必須ではなく、要件に合わせた対応となります。
FSxでは保管時のデータの暗号化と、転送時のデータの暗号化があります。
転送時のデータの暗号化の設定を行います。
これを利用するには、SMBプロトコル3.0以降に対応している必要があります。(対応していないと接続できません。)
Invoke-Command -ComputerName $FSxWindowsRemotePowerShellEndpoint -ConfigurationName FSxRemoteAdmin -ScriptBlock { Set-FsxSmbServerConfiguration -EncryptData $True -RejectUnencryptedAccess $True -Confirm:$False}
確認
enter-pssession -computername FSxFileSystem-Remote-PowerShell-Endpoint -configurationname fsxremoteadmin
Get-FSxSmbServerConfiguration
暗号化が強制されていることが確認できました。
EncryptData RejectUnencryptedAccess
----------- -----------------------
True True
その他管理コマンド
開いているファイルの監視と終了
開いているファイルの一覧を表示します。
Invoke-Command -ComputerName $FSxWindowsRemotePowerShellEndpoint -ConfigurationName FSxRemoteAdmin -ScriptBlock { Get-FSxSmbOpenFile}
開いているファイルを閉じます。
Invoke-Command -ComputerName $FSxWindowsRemotePowerShellEndpoint -ConfigurationName FSxRemoteAdmin -ScriptBlock { Close-FSxSmbOpenFile -Confirm:$false}
(追加)DNSエイリアスの設定
DNSエイリアスとは
今までであれば、自動で割り当てられたDNSを使用してファイルサーバーにアクセスしていましたが、DNSエイリアスを設定することで、その設定したDNSでファイルサーバーにアクセスすることができます。
参考サイト)
チュートリアル 5: DNS エイリアスを使用してファイルシステムにアクセスする
設定後もDNSエイリアスでFsxにアクセスできないときは、下記のコマンドを実行して、キャッシュをクリアしましょう。
ipconfig /flushdns