【備忘録】Amazon FSx for Windows File Serverを触ってみた

## はじめに
今後FSx for Windows File Serverを触るかもしれないということで、フライングしてハンズオンしてみました。
誰かの助けになればと思い、備忘録として残します。
こちらのページを参考にハンズオンをしていきます。

https://docs.aws.amazon.com/ja_jp/fsx/latest/WindowsGuide/getting-started.html

## FSx for Windows File Serverの設定
### Step0 事前準備
今回作業用のVPCを作成します。
パブリックサブネットとプライベートサブネットを2つずつ、NATゲートウェイやエンドポイントは不要です。
次のStepから公式ドキュメントを参考にFSxを使用するための前提条件を満たしていきます。

https://docs.aws.amazon.com/ja_jp/fsx/latest/WindowsGuide/walkthrough01-prereqs.html

### Step1 Active Directoryのセットアップ
まずはActive Directoryを作成していきます。参考の公式ドキュメントを載せておきます。

https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started.html#ms_ad_getting_started_create_directory

Directory Serviceを開き、ディレクトリの「ディレクトリのセットアップ」から作成していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/4e9da28e-dcb2-554f-1ec1-06b90f4fb17d.png)

今回使用するAWS Managed Microsoft ADにチェックを付けて次へ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/33e9088d-11ac-ef21-386a-88da4eeae465.png)

次にディレクトリ情報を入力していきます。
設定する場所は以下の項目です。
エディション：Standard
DNS名：任意(今回はdoi.fsx.testとしている)
パスワード：任意
※この後ADと連携する時に必要となるので、メモしておいてください。
※OSバージョンがWindowsサーバ2019で固定となっているため、この後起動させるWindowsインスタンスも2019を選択しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/103ad2fd-b9d3-8af6-d073-8cdad7608b55.png)

次はネットワークの設定です。
準備で作成したVPCを選択し、プライベートサブネットを2つ選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/a79bae49-9343-a2e8-200a-235a381f5637.png)

最後の確認ページから完了させます。
ステータスが利用可能になれば完了ですが、ポップアップにも記載があるように20～45分かかるので、その間に次のStepを進めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/6787aa1e-61c0-8cda-a3b3-fb8b5213ed59.png)

### Step2 EC2のセットアップ
次に今回FSxをマウントして利用するWindowsサーバを立てます。
EC2の設定なのでサラッと流します。設定値は以下の通りです。
AMI：Windows_Server-2019-English-Full-Base-2024.08.14
インスタンスタイプ：t2.micro
キーペア：任意で作成
VPC：準備で作成したVPC
サブネット：準備で作成したパブリックサブネット
セキュリティグループ：My IPからRDPができるように作成
パブリックIPの自動割り当て：有効
※今回はパブリックサブネットに置いていますが要件に合わせてください。

EC2が起動したらRDP接続します。
RDP接続する時に必要な接続情報は「アクション→セキュリティ→Windowsパスワードを取得」から取得できます。
この時に先ほど作成したキーペアのファイルが必要です。

### Step3 EC2をActive Directoryに結合する
リモートデスクトップアプリを使用してEC2に接続します。
接続できたら、コマンドプロンプトから次のコマンドを実行してネットワーク設定を開きます。

```rb
%SystemRoot%\system32\control.exe ncpa.cpl
```
ネットワーク設定が開いたら、使用しているネットワークのプロパティを開き、IPv4の設定を変更します。
変更項目は「次のDNSサーバーアドレスを使用する」を選択し、優先DNSサーバーと代替DNSサーバーのアドレスを作成したADのDNSサーバーのIPアドレスに変更し、OKを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/4fe36110-f7a6-8ac3-dffc-bc0fa8c05599.png)

次にコマンドプロンプトから次のコマンドでシステムプロパティを開きます。

```rb
%SystemRoot%\system32\control.exe sysdm.cpl
```
システムプロパティが開いたら、「Change…」ボタンを押します。
Member ofのDomainに先ほど設定したADのDNS名を入力し、OKを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/a188be83-a6cc-96d8-ba6f-e6d579de9584.png)

OKを押すとActive Directoryのユーザー名とパスワードが求められるので、先ほど作成したActive Directoryの情報を入力します。
※ユーザ名はデフォルトだとadminです。AD作成時に小さく記載がありますが、気付かず少し困りました。
上手くいけば次のようなポップアップが出てきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/47b48767-7a7e-3409-5827-cb63aad12ad0.png)

続けて設定を反映させるために再起動をかけるようにポップアップが出るので、再起動します。

### Step4 FSx for Windows File Serverの作成
FSx用のセキュリティグループを作成します。
公式ドキュメントに記載のある通り、EC2のセキュリティグループをソースに以下のポートを開けてあげます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/eb7d0d92-bb22-e2d9-ca4e-45563147dc62.png)

FSxのページからFSxを作成していきます。
Amazon FSx for Windowsファイルサーバーを選択して次へ進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/9aebd8ac-11cf-dfbf-95a1-3a8c1752ca80.png)

詳細設定は以下の通りです。
ファイルシステム名：任意
デプロイタイプ：マルチAZ
ストレージタイプ：SSD
ストレージ容量：32GiB
プロビジョンドSSD IOPS：自動
スループットキャパシティ：32MB/秒(推奨)
VPC：準備で作成したもの
セキュリティグループ：FSx用に作成したもの
サブネット：準備で作成したもの
Windows認証：作成したAWS Managed Microsoft Active Directory
暗号化キー：デフォルト
※パフォーマンスに関しては[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/fsx/latest/WindowsGuide/performance.html)を参照して要件に合うものを選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/838f27ee-a053-b451-32e9-29f85542abdb.png)

最後に設定を確認して作成します。
作成後に変更可能なもの、変更不可なものが一目でわかるのは地味に嬉しいポイントです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/e4a5d7af-3ef7-8ef2-45f9-c3aa18d4bca9.png)

作成ボタンを押してから30分程でステータスが作成→利用可能になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/339bef25-4252-23f1-7e41-af80c2e0bc2c.png)

### Step5 FSx for Windows File Serverのマウント設定
最後のStepです。再度EC2にRDP接続します。
エクスプローラーを開いて、左にあるNetworkを右クリックからMap network drive…(ネットワークドライブの割り当て)を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/4fad4e99-5861-5176-8ffa-97cc9cf392ae.png)

空いているDriveを選択し、FolderにはマウントするFSxのパス( \\\（FNxのDNS名）\share)を入力して次の画面に進みます。この時にオプションとしてReconnect at sign-inにチェックを付けておくのと、次の画面でADのユーザ名とパスワードを入力する時に認証情報を保存しておくと、インスタンスを再起動した時やAMIからインスタンスを立て直した時にマウントし直してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/377254ca-0339-5e13-9d44-8b17390f2232.png)

マウントできました。
ここまで設定したらAMIを取得しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/0102c911-558d-0040-2db6-415fa6453390.png)

最後に簡単に確認します。
テストファイルを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/0b66aa5f-2482-b7d7-1524-2d4c849cd7bc.png)

先ほど取得したAMIからもう1台EC2を立てて、マウントしたパスを表示すると作成したテストファイルが確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/e6dd6f01-01b7-8a70-02cc-59083321f58b.png)

最後に今回作成したリソースを削除してハンズオンは完了です。
ADやFSxは削除にも時間がかかりました。

## おわりに
EFSは触ったことがあったのですがADが有るか無いか、LinuxかWindowsかの違いくらいで同じようにマウントしてファイル共有ができました。
Windowsサーバを構築する機会は少ないかもしれないですが、FSx for Windows File Serverを設定してみてください。