EC2 WindowsファイルサーバーをFSx for Windowsに移行する

はじめに

こんにちは、kanazawaです。
今回はEC2 Windows Serverで構築したファイルサーバーをFSx for Windows File Serverに移行してみます。

1. 概要・構成

  • FSx for Windows File Serverはフルマネージドサービスのため、OSパッチ適用などが不要になり、運用負荷の軽減が期待できます。
  • 本記事では実施していませんが、AWS Backupとの連携によって自動バックアップにも対応可能です。
  • FSx for Windows File ServerはActive Directoryとの連携が必須です。
  • Active DirectoryはEC2上にセルフマネージドADとして構築し、robocopyを使ってデータを移行します。
    • ※ADの構成方法には、他にMSAD(AWS Managed Microsoft AD)がありますが、今回はコスト面を考慮して採用しません。AWSが提供するマネージドADのため、今回のようにEC2を構築・管理する必要がなくなります。

移行前の構成

  • EC2 Windows Serverをファイルサーバーとして使用し、同じVPC内のEC2クライアントからSMBで共有フォルダにアクセスする構成です。
  • Active DirectoryはEC2上にセルフマネージドADとして構築しています。

移行後の構成

  • ファイルサーバーをFSx for Windows File Serverに置き換えます。クライアントからの接続はSMBのままで変わらないため、移行後もクライアント側の設定変更は不要です。
  • ドメインコントローラーはそのまま流用します。
  • 移行完了後はクライアントの接続先をFSxに切り替えて動作確認を行います。

2. 事前準備

EC2 (ドメインコントローラー) 用 SG

ポート ソース 用途
88 ファイルサーバー用SG Kerberos
88 クライアントSG Kerberos
88 FSx用SG Kerberos
389 ファイルサーバーSG LDAP
389 クライアントSG LDAP
389 FSx用SG LDAP
445 ファイルサーバーSG SMB
445 クライアントSG SMB
445 FSx用SG SMB
3389 作業端末IP RDP

EC2 (ファイルサーバー) 用 SG

ポート ソース 用途
445 クライアントSG SMB
3389 作業端末IP RDP

EC2 (クライアント) 用 SG

ポート ソース 用途
3389 作業端末IP RDP

FSx 用 SG

ポート ソース 用途
445 ファイルサーバーSG SMB (robocopyによるデータ移行)
445 クライアントSG SMB
  • AD DSをインストールし、ファイルサーバー用EC2とクライアント用EC2をドメインに参加させます。
  • C:\shareに、テスト用の画像ファイルを2つ保存します。このフォルダが移行元フォルダになります。

3. FSx for Windows File Serverの作成

  • 以下のパラメータでFSx for Windows File Serverを作成します。
パラメータ
デプロイタイプ シングルAZ
ストレージタイプ SSD
ストレージ容量 32GB
スループット 8 MB/s
VPC 作成済みのVPC
サブネット 作成済みのPrivate Subnet
セキュリティグループ FSx用SG
  • Active Directoryの設定は以下の通りです。
パラメータ
ディレクトリタイプ セルフマネージドAD
ドメイン名 hoge.example.com
DNSサーバーIP DCのプライベートIP
サービスアカウント ドメイン参加用ユーザー
  • 「ステータス」が「利用可能」になっていれば作成完了です。
  • 作成に失敗した場合はADの認証情報やネットワーク設定を確認してください。

4. データ移行

  • まずファイルサーバー用EC2にRDPで接続し、FSxをマウントして、移行先フォルダを作成します。
  • PowerShellを開き、以下のコマンドを実行します。
# FSxをマウント
net use Z: \\<FSxのDNS名>\share

# 移行先フォルダ作成
mkdir Z:\share
  • 移行元のEC2に接続し、robocopyでデータをコピーします。
robocopy C:\share \\<FSxのDNS名>\share /E /COPYALL /ZB /LOG:C:\robocopy.log /NP 
オプション 説明 補足
/E サブフォルダも含めてコピー
/COPYALL ACL・タイムスタンプ等すべてのファイル属性をコピー
/LOG ログをファイルに出力
/ZB 再起動可能モードを有効 アクセスが拒否された場合に自動でバックアップモードに切り替える
/NP コピーの完了率を非表示にする 進捗0%などの完了率が無数に出力されることを防ぐ
  • 実行したログを確認します。以下のように出力されます。
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー                              
-------------------------------------------------------------------------------

  開始: 2026年8月20日 15:06:51
   コピー元 : C:\share\
     コピー先 - 

    ファイル: *.*
        
  オプション: *.* /S /E /COPYALL /ZB /NP /R:1000000 /W:30  

------------------------------------------------------------------------------

                       2    C:\share\
      新しいファイル       169966    TestFile01.png
  
      新しいファイル       251627    TestFile02.png

------------------------------------------------------------------------------

                  合計     コピー済み      スキップ       不一致        失敗    Extras
   ディレクトリ:         1         0         1         0         0         0
     ファイル:         2         2         0         0         0         0
      バイト:   411.7 k   411.7 k         0         0         0         0
       時刻:   0:00:00   0:00:00                       0:00:00   0:00:00


       速度:           7,268,844 バイト/秒
       速度:             415.927 MB/分
   終了: 2026年8月20日 15:06:51
  • robocopyが問題なく完了したことを確認したら、クライアント用EC2にRDPで接続し、以下の手順でFSxの共有フォルダにアクセスします。
# FSxをマウント
net use Z: \\<FSxのDNS名>\share

# ファイルの存在確認
dir Z:\
  • 以下が確認できれば動作確認完了です。
    • FSxの共有フォルダにアクセスできること
    • robocopyでコピーしたファイルが存在すること

5. robocopy以外の移行方法

  • AWSから推奨されているもう1つのデータ移行方法として、AWS DataSyncを利用することもできます。
  • 自動で差分が転送されるほか、コンソール画面でスケジュールの設定も可能です。
  • 転送データの暗号化・整合性チェックが自動で行われます。
  • データの転送量に応じた課金が発生します。
  • DataSyncエージェントの導入が必要です。
  • robocopyでは、移行対象のフォルダーが多数存在する場合、全てのフォルダーに対して個別にコマンドを実行する必要があり、それに応じてログも生成されます。一方でAWS DataSyncはDataSyncタスクをコンソール画面で一覧で確認できるため、大規模な移行に適しています。

6. まとめ

今回は小規模なデータ移行を想定し、robocopyを利用してEC2のファイルサーバーからFSxへの移行を試しました。
robocopyはWindows標準搭載のツールであるため、環境構築さえ終わってしまえば導入は容易で、実行結果のログも見やすいものでした。
ただ、コスト面やEC2の管理・運用など、要件によってはAWS DataSyncが適している場合もあるかと思います。
小規模であったり、定期的な差分同期が不要な場合にはrobocopyの利用を検討してみてください。 次回はFSx for WindowsのバックアップをAWS Backupで管理してみたいと思います。