Amazon FSx for Windowsを利用してみる

FSx for Windows を触る機会があったので、そのメモです。 FSx for Windows とは、AWSが提供するマネージド・Windowsファイルサーバー(共有フォルダ)と呼べるサービスです。

公式のGetting Startの資料は下記です。

Getting Started with Amazon FSx

構成図

f:id:goodbyegangster:20200330142616p:plain

FSx for Windowsを利用するには、ActiveDirectoryかAWS Managed Microsoft ADが必要となります。今回はActiveDirectoryを利用しました。

ActiveDirectory側の設定

まずActiveDirectory側で必要となる要件、設定を確認していきます。

必要ネットワーク要件

FSx for Windowsを作成すると、指定したサブネット上にENIが作成されるのですが、そのENIからActiveDirectoryに通信できる必要があります。

必要な通信要件は、以下にて確認できます。

Prerequisites for Using a Self-Managed Microsoft AD

ネットワーク通信調査用のツールが公開されています。なお、FSx for WindowsのFilesystem作成時に、ActiveDirectoryと通信が上手く行かない場合、作成に失敗するので、そういった時に便利かと思っています。

Validating Your Active Directory Configuration

FSx用のOU、グループ、ユーザーの作成

続いて、FSxにて利用されるActiveDirectory側のOU、グループ、ユーザーを作成します。下記ActiveDirectoryドメインコントローラー上でPowershellコマンドを実行していきます。

FSx用のOUを作成します。

> New-ADOrganizationalUnit -Name "FSx" -Path "DC=example,DC=com"

New-ADOrganizationalUnit

FSxで利用されるユーザー用のグループを作成します。これがFSx用Adminグループになります。

> New-ADGroup -Name "FSxAdmins" -GroupCategory Security -GroupScope Global -DisplayName "FSx Admins" -Path "CN=Users,DC=example,DC=com" -Description "Admin Group for 'AWS FSx for Windows'"

New-ADGroup

FSxで利用されるユーザーを作成します。

> $password = ConvertTo-SecureString "Passw0rd" -AsPlainText -Force
> New-ADUser -Name "FSxAdmin" -DisplayName "FSx Admin" -CannotChangePassword $True -PasswordNeverExpires $True -PasswordNotRequired $False -AccountPassword $password -Enabled $True

New-ADUser

作成したユーザーをグループに追加します。

> Add-ADGroupMember -Identity "FSxAdmins" -Members "FSxAdmin"

Add-ADGroupMember

FSx用ユーザー向けに権限設定

上記で作成したFSx用ユーザーに、詳細なActiveDirectory権限を付与します。この作業はActiveDirectoryドメインコントローラー上よりGUIで作業しています。下記は公式の参考手順です。

Delegating Privileges to Your Amazon FSx Service Account

ActiveDirectory ユーザとコンピュータ のMMCスナップインを起動します。

作成したOUを選択しながら右クリック、 制御の委任 を選択。

f:id:goodbyegangster:20200327184908p:plain

ウィザードが表示されるので、進めて、上記で作成したグループを指定。

f:id:goodbyegangster:20200327185544p:plain

委任するカスタム タスクを作成する を選択。

f:id:goodbyegangster:20200327185600p:plain

フォルダー内の次のオブジェクトのみ より コンピュータ オブジェクト をチェック。且つ、 選択されたオブジェクトをこのフォルダーに作成する選択されたオブジェクトをこのフォルダーから削除する をチェック。

f:id:goodbyegangster:20200327185631p:plain

以下のアクセス許可設定にチェック。

  • パスワードのリセット
  • アカウントの制限の読み取りと書き込み
  • DNSホスト名への検証された書き込み
  • サービスプリンシパル名への検証された書き込み

f:id:goodbyegangster:20200327185643p:plain

ウィザードで必要となる入力項目は異常です。これでActiveDirectory側の設定は完了です。

FSx for Windowsの作成

FSx for Windowsを作成します。作成用のCloudFormationテンプレートを置いておきます。

https://github.com/goodbyegangster/cloudformation/tree/master/fsx-windows-self-managed-ad

作成されたファイルサーバーでは、既存で $share フォルダが存在しますので、作成されたFSxのエンドポイント宛にアクセスすることで、共有フォルダにアクセス可能となります。

f:id:goodbyegangster:20200327185659p:plain

共有フォルダの新規作成

既存では上記 $share フォルダしか存在しないため、新規で共有フォルダを作成する手順書を確認しておきます。

公式の資料はこちら。

Using the GUI to Manage File Shares

利用するActiveDirectoryのドメイン・コントローラー、またはドメインに参加しているサーバーに、以下のユーザーでログインします。

  • self-managed Microsoft AD
    • Domain Adminのユーザー
    • FSx用Adminグループのユーザー
  • AWS Managed AD
    • FSx用Adminグループのユーザー

fsmgmt.msc を管理者権限で実行し、共有フォルダー設定画面を開きます。

f:id:goodbyegangster:20200327185714p:plain

操作 -> 別のコンピュータへ接続 と選択して、作成したFSxのエンドポイント情報を入力します。

f:id:goodbyegangster:20200327185727p:plain

FSxの共有フォルダ画面に接続できます。その後は通常のWindowsでの設定方法と変わらないので、共有フォルダの管理を行えます。

f:id:goodbyegangster:20200327185738p:plain

下記のように新規で共有フォルダの作成をできますし、当然ActiveDirectoryのユーザー・グループを利用して、アクセス制限管理も行えます。

f:id:goodbyegangster:20200327185752p:plain

その他

利用されているディスク状況はCloudwatchメトリクスより確認できます。

Monitoring with Amazon CloudWatch

WindowsDNS機能を利用することで、FSx for Windowsで作成したファイルシステムドメイン名を変更出来るようです。

Walkthrough 5: Using a Custom DNS Name for Your File System

バックアップはAWS側で自動に実施してくれます。ユーザー側で手動で実行することもできます。バックアップはファイルシステム単位でのイメージバックアップとなるため、実際に誤って削除してまったファイルを復旧するといった場合には、以下のようになると思います。

その他、気になっった点とすると、作成したファイルシステムのディスク拡張はできないようです。ディスクを追加したい場合、新規のファイルシステム作成で対応する必要があるようです。