Windows Server on EC2でDFSレプリケーションを構築してみた
はじめに
Windows Server 2022でDFSレプリケーションを構築してみました。DFSレプリケーションは、複数のファイルサーバー間でファイルを同期する機能です。ファイルサーバーの冗長化や負荷分散を実現するために利用されます。
AWSではFSx for Windows File Serverを利用することで、それらを簡単に実現することができますが、セキュリティ上の理由や特定のシステム要件により、Windows Server on EC2でファイルサーバーを構築することが求められる場合もあります。
設定値
以下のような設定を元に手順を進めます。
各ファイルサーバーはADに参加している必要がありますので、事前にADを構築しておく必要があります。
| 設定 | 値 | 備考 |
|---|---|---|
| ADドメイン | miya.local | ドメインの機能レベルはWindows Server 2016 |
| ファイルサーバ1のホスト名 | FS11 | |
| ファイルサーバ2のホスト名 | FS12 |
構築手順
1. EC2の構築
Windows Server 2022をインストールしたEC2インスタンスを2台用意します。AMIは ami-09eb7f8fa1e947e23(Windows_Server-2022-Japanese-Full-Base-2024.11.13) を利用します。
また、ストレージ用にEBSボリュームを追加し、それぞれDドライブに設定します。
1.1 セキュリティグループの設定
ファイルサーバー間の通信のために、以下のセキュリティグループを設定します。
| タイプ | プロトコル | ポート範囲 | 備考 |
|---|---|---|---|
| SMB | TCP | 445 | |
| カスタムTCPルール | TCP | 135 | RPC |
| カスタムTCPルール | TCP | 49152-65535 | ランダムに割り当てられた非特権 TCP ポート |
2. ファイルサーバーの構築
2.1 ファイルサーバーの役割の追加
各ファイルサーバーの[サーバーマネージャー]を開き、[役割と機能の追加]をクリックします。次の役割にチェックを入れてインストールします。
- ファイルサーバー
- DFS名前空間
- DFSレプリケーション

2.2 共有フォルダの準備
FS11とFS12にそれぞれフォルダを作成します。
FS11にはDドライブに D:¥shared¥development を作成します。

FS12にはDドライブに D:¥replicated-development を作成します。

FS11からFS12へ単方向でレプリケートするわけではないのですが、わかりやすくするために replicated-development という名前を付けました。
3. DFSの設定
3.1 名前空間の作成
まず、DFSの名前空間を作成します。DFSの名前空間は、複数のファイルサーバーを1つの論理的なファイルサーバーとして扱うための仕組みです。
FS11の[サーバーマネージャー]を開き、[ツール] - [DFS管理]を選択します。
[新しい名前空間]を選択します。

名前空間をホストするサーバーを選択します。今回はFS11をホストサーバとします。

次に名前空間の名前を入力します。今回は Public とします。これにより、クライアントから ¥¥miya.local¥Public という名前空間でアクセスできるようになります。

名前空間の種類はデフォルトのままで進めます。

内容を確認して[作成]をクリックします。


3.2 レプリケーショングループの作成
次に、レプリケーショングループを作成します。レプリケーショングループは、ファイルのレプリケーションを管理するための仕組みです。
[レプリケーション]から、[新しいレプリケーショングループ]を選択します。

レプリケーショングループの種類は、[汎用レプリケーショングループ]を選択します。

レプリケーショングループの名前を入力します。今回は development-group とします。

レプリケーショングループのメンバーを追加します。[追加]をクリックし、FS11とFS12を追加します。



トポロジの種類、レプリケーショングループのスケジュールおよび帯域幅の設定はデフォルトのままで進めます。


プライマリメンバーを選択します。今回はFS11を選択します。

レプリケートするフォルダを選択します。今回はFS11の D:¥shared¥development を選択します。



他のメンバーにおけるローカルパスを選択します。今回はFS12の D:¥replicated-development を選択します。



内容を確認して[作成]をクリックします。


3.3 名前空間での共有と公開
最後に、名前空間で共有フォルダを公開します。
[レプリケートフォルダー]から、[名前空間での共有と公開]を選択します。

公開方法は、[レプリケートフォルダーを名前空間で共有および公開する]を選択します。

先ほど設定した内容が表示されるので、内容を確認して[次へ]をクリックします。

名前空間のパスは、親フォルダーに ¥¥miya.local¥Public を指定します。

内容を確認して[共有]をクリックします。


4. 確認
ファイルを1つのファイルサーバーに配置し、もう1つのファイルサーバーにファイルが同期されていることを確認します。


おわりに
思っていたよりもサクッと構築することができました。
DFSレプリケーションを利用することで、ファイルサーバーの冗長化や負荷分散を実現できます。Windows Server on EC2でDFSレプリケーションを構築する際は、上記の手順を参考にしてください。
とは言え、EC2の運用管理コストが発生してしまうので、可能であればFSx for Windows File Serverを利用することをお勧めいたします。






