AWS FSxからAzure FilesへAgentless移行する方法|Azure Storage Mover

AWS FSx for Windows File ServerからAzure Filesへ移行したいものの、AWS側に一時的なEC2インスタンスや移行エージェントを配備したくない場合は、Azure Storage Moverのエージェントレス移行が有力な選択肢です。

2026年9月時点ではPublic Previewですが、AWS FSx for Windows File ServerのSMB共有からAzure FilesのSMB共有へ、移行エージェントを利用者側で配備・管理せずにデータをコピーできます。転送にはAzureとAWSネットワーク間のプライベート接続を使用します。

ただし、エージェントレスとは「事前準備が不要」という意味ではありません。AzureとAWSを結ぶネットワーク、FSxの認証情報を保管するAzure Key Vault、RBAC、Azure Filesの認証方式、差分転送とカットオーバーの設計は必要です。

この記事では、AWS FSxからAzure FilesへのAgentless移行の仕組み、前提条件、Azureポータルでの構成手順、コピーモードの選び方、権限移行で失敗しやすいポイントまで具体的に解説します。

目次

AWS FSxからAzure FilesへのAgentless移行とは

今回追加された機能では、Azure Storage Moverが次の経路でSMBファイルを転送します。

AWS FSx for Windows File Server
        ↓ SMB/プライベート接続
Azure Storage Moverが管理する転送処理
        ↓
Azure Files SMB共有

従来のオンプレミスSMB移行では、ソース共有の近くにStorage Mover Agent用の仮想マシンを配置する構成が一般的でした。AWS FSx向けのクラウド間移行では、利用者が移行エージェントVMを用意する必要がありません。

項目AWS FSx向けAgentless移行
ソースAWS FSx for Windows File Server
ソースプロトコルSMB 2.xまたはSMB 3.x
移行先Azure FilesのSMB共有
移行エージェント利用者側での配備・管理は不要
データ経路AzureとAWS間のプライベート接続
ソース認証情報Azure Key Vaultに保存
実行管理Azure Storage Moverのプロジェクトとジョブ
移行方式初回コピーと差分コピーを繰り返す段階移行

Storage Moverは、FSxの共有をソースエンドポイント、Azure Filesをターゲットエンドポイントとして管理します。プロジェクト内にジョブ定義を作成し、初回コピーと差分コピーを必要な回数だけ実行できます。(Microsoft Learn)

エージェントレスで不要になるものと、引き続き必要なもの

Agentless移行で省略できるのは、主に転送用コンピュートの構築と運用です。

項目必要性補足
AWS上の移行エージェントVM不要EC2へのエージェント配備や更新管理が不要
AzureとAWS間のネットワーク必要FSxのプライベートIPまたはFQDNへ到達できる経路が必要
FSxのSMB認証情報必要ユーザー名とパスワードをKey Vaultへ保存
Azure Files共有必要ジョブ作成前に移行先を作成
Storage Moverリソース必要エンドポイント、プロジェクト、ジョブを管理
RBAC設定必要Key VaultとAzure Filesへのアクセス権を付与
利用者向けの認証・権限設定必要Azure FilesのIDベース認証と共有レベル権限は別途構成
カットオーバー作業必要書き込み停止、最終差分コピー、UNCパス切り替えを実施

特に注意したいのは、Agentless移行がAzureとAWS間のVPNや専用線まで自動構築するわけではない点です。ネットワーク経路とルーティングは利用者側で準備します。

Public Preview時点の対応範囲と制限

AWS FSxからAzure Filesへの移行には、Public Preview時点で次の制限があります。

項目内容
1ジョブ当たりの上限最大5億オブジェクト
同時実行数1サブスクリプション当たり最大10ジョブ
同一ターゲットへの実行Preview中はAzureファイル共有ごとに同時実行を1ジョブに限定
SMBバージョンSMB 2.x、SMB 3.xをサポート
SMB 1.x非サポート
ソースデータコピー後もFSxに残る
移行先データAzure Filesがサポートする範囲でメタデータを保持

5億オブジェクトはデータ容量ではなく、ファイルとフォルダーを合わせた数です。大量の小さいファイルを保存している共有では、容量が数TB程度でもオブジェクト数が先に上限へ達する可能性があります。共有全体が上限を超える場合は、サブパス単位でジョブを分割します。(Microsoft Learn)

Storage MoverによるSMBからAzure Filesへの移行では、Azure Filesが対応する範囲で、ディレクトリ構造、ファイルやフォルダーのACL、ファイル属性、作成日時、変更日時、更新日時が保持されます。一方、最終アクセス日時は移行先でサポートされません。(Microsoft Learn)

Azure Storage Moverによる移行が適しているケース

次のような環境では、AWS FSxからAzure FilesへのAgentless移行が適しています。

  • AWSからAzureへのクラウド集約を進めている
  • FSx上のWindowsファイル共有をAzure Filesへ移したい
  • 移行専用のEC2や仮想アプライアンスを増やしたくない
  • ファイルとフォルダーのACLやタイムスタンプをできるだけ保持したい
  • 初回コピー後に差分コピーを繰り返し、停止時間を短縮したい
  • Azureポータルで複数の移行ジョブを一元管理したい

反対に、AzureとAWS間にプライベート接続を用意できない環境、SMB 1.xを使用している環境、Public Preview機能を本番で利用できないポリシーの組織には向きません。

また、Storage Moverは移行を管理するサービスです。双方向のリアルタイム同期や、FSxとAzure Filesを常時Active-Activeで運用する仕組みとして考えるべきではありません。

移行前に準備するもの

作業開始前に、次の項目をそろえます。

分類必要なもの
AWSFSx for Windows File Server、対象共有へのアクセス権
FSx情報FSxのFQDNまたはプライベートIP、共有名
AzureAzureサブスクリプション、リソースグループ
移行管理Azure Storage Moverリソース
移行先Azure Storageアカウント、Azure Files SMB共有
資格情報Azure Key Vault、ユーザー名とパスワードの2つのシークレット
ネットワークAzureからFSxへ到達できるプライベート接続
権限Storage Mover関連リソースを作成し、RBACを割り当てる権限
監視Log Analyticsワークスペースと診断設定
利用者アクセスAzure FilesのIDベース認証、共有レベルRBAC、Windows ACL

FSxの認証情報は、ユーザー名とパスワードを1つのシークレットへまとめるのではなく、それぞれ別のKey Vaultシークレットとして保存します。ソースエンドポイントでは、そのシークレット名またはシークレットURIを指定します。(Microsoft Learn)

Private Connectionの構成を先に固める

AgentlessでもVPNや専用線は必要

Azure Storage Moverが移行エージェントを代行しても、AzureからAWS VPC内のFSxへ到達するネットワークは必要です。

主な選択肢は次のとおりです。

接続方式適したケース注意点
Site-to-Site IPsec VPNパイロット、短期間の移行、比較的小規模なデータインターネット品質やVPN Gatewayの性能に影響される
ExpressRouteとAWS Direct Connectの接続大容量、安定した帯域、長期間の利用回線調達の期間とコストがかかる
SD-WAN/NVA既存のマルチクラウドネットワークを利用したい仮想アプライアンスの性能設計と運用が必要

Site-to-Site VPNは暗号化されたトンネルですが、物理的にはインターネットを経由します。完全な専用経路が必要な場合は、ExpressRouteとAWS Direct Connectを接続する構成を検討します。(Microsoft Learn)

Storage MoverのPrivate Connectionを承認する

ネットワーク経路を構成した後、Storage Mover側でもPrivate Connectionを作成します。

Microsoft Learnでは、Private Link Service Direct Connectを事前に用意し、それを参照するPrivate ConnectionをStorage Mover内に作成する構成が案内されています。作成した接続は承認し、状態をApprovedにする必要があります。PendingRejectedDisconnectedの接続は移行ジョブで選択できません。(Microsoft Learn)

確認するポイントは次のとおりです。

  • Azure側サブネットからAWS VPCのルートが存在する
  • AWS側からAzure側への戻りルートが存在する
  • FSxのFQDNをAzure側から名前解決できる
  • FSxのプライベートIPへTCP 445で到達できる
  • AWS Security GroupとNetwork ACLが通信を許可している
  • Azure NSGやNVA、ファイアウォールが通信を遮断していない
  • Storage MoverのPrivate ConnectionがApprovedになっている

移行用ネットワークと利用者用ネットワークを分けて考える

Storage MoverのPrivate Connectionは、移行サービスがFSxへアクセスするための経路です。移行後に利用者やアプリケーションがAzure Filesへアクセスする経路まで、自動的に完成するわけではありません。

アプリケーションをAWS側に残す場合は、AWSからAzure Filesへ継続的にアクセスするネットワーク、DNS、TCP 445の許可、遅延を別途検証します。アプリケーションもAzureへ移す場合は、Azure FilesのPrivate EndpointやAzure VNet内の名前解決を含めて設計します。

ACLを保持しても、そのままアクセスできるとは限らない

AWS FSx for Windows File Serverは、Microsoft Active Directoryを使ってSMB認証とファイル・フォルダーレベルのアクセス制御を行います。(AWS ドキュメント)

Azure FilesもWindows ACLを利用できますが、アクセス許可は次の2段階で判定されます。

  1. Azure RBACによる共有レベルのアクセス許可
  2. ファイルやフォルダーに設定されたWindows ACL

Azure Filesでは、AD DS、Microsoft Entra Domain Services、Microsoft Entra KerberosのいずれかをIDソースとして使用します。1つのストレージアカウントに設定できるIDソースは1種類です。(Microsoft Learn)

そのため、ファイルACLが正常にコピーされても、Azure Files側で共有レベルのRBACを割り当てていなければ、利用者は共有へ接続できません。Azure Filesでは、ユーザーまたはグループに共有レベルのロールを割り当て、その後にWindows ACLで細かな権限を制御します。(Microsoft Learn)

特に、FSxがAWS Managed Microsoft ADに参加し、Azure Filesが無関係な別ディレクトリを使用する構成では注意が必要です。移行されたACLに元のSIDが残っても、新しいID環境で正しく認証・解決できない可能性があります。

本番移行前に、次の点を決めてください。

  • FSxとAzure Filesで同じAD DSを利用するか
  • 別ドメインの場合に信頼関係やID移行を行うか
  • オンプレミスAD DSのユーザーとグループをMicrosoft Entra IDへ同期するか
  • Azure Filesの共有レベルRBACをどのグループへ割り当てるか
  • SIDを引き継げないACLをどのように再設定するか
  • サービスアカウントやコンピューターアカウントのアクセスをどう扱うか

AWS FSxからAzure Filesへ移行する手順

移行対象を棚卸しする

最初に、共有ごとに次の情報を収集します。

  • FSxのFQDN
  • 共有名
  • データ容量
  • ファイル数とフォルダー数
  • 変更頻度
  • 利用者とアプリケーション
  • ファイル・フォルダーACL
  • サービスアカウント
  • 現在のUNCパス
  • 許容できる停止時間

複数の業務システムが同じFSxを利用していても、移行プロジェクトはワークロード単位に分ける方が安全です。カットオーバーの日時、検証項目、ロールバック判断を個別に管理できます。

いきなり全共有を対象にせず、データ量が少なく業務影響の小さい共有をパイロットとして選びます。

移行先のAzure Filesを作成する

Azure StorageアカウントとSMBファイル共有を作成します。

この段階で、次の項目を決めます。

  • Azureリージョン
  • Azure Filesのストレージ性能
  • 冗長性
  • 必要な容量
  • ストレージアカウントと共有の分割単位
  • Public EndpointまたはPrivate Endpoint
  • 利用するIDソース
  • 共有レベルのRBAC

高いIOPSやスループットが必要な共有を、低負荷の共有と安易に同じストレージアカウントへ集約しないようにします。移行速度だけでなく、移行後の通常運用時に必要な性能を基準に選んでください。

AzureとAWS間のプライベート接続を構成する

Site-to-Site VPN、ExpressRouteとAWS Direct Connect、またはSD-WANなどでAzure VNetとAWS VPCを接続します。

接続後は、Azure側の確認用VMなどから次のようなテストを行います。

Resolve-DnsName <FSxのFQDN>
Test-NetConnection <FSxのFQDN> -Port 445

名前解決には成功するもののTCP 445へ接続できない場合は、AWS Security Group、Network ACL、ルートテーブル、Azure NSG、ファイアウォールを確認します。

Azure Key VaultへFSxの資格情報を保存する

Azure Key Vaultへ、次の2つのシークレットを作成します。

fsx-username
fsx-password

本番利用者の個人アカウントではなく、移行専用アカウントを用意するのが安全です。対象共有のファイル、フォルダー、属性、ACLを読み取れる権限を付与し、移行完了後に無効化または削除できるようにします。

Azure Storage Moverリソースを作成する

AzureポータルでAzure Storage Moverを検索し、リソースを作成します。

Storage Moverは移行全体を管理する上位リソースです。その配下に次のリソースを作成します。

Azure Storage Mover
├─ Source endpoint
├─ Target endpoint
├─ Private connection
└─ Project
   └─ Job definition
      └─ Job run

Storage Moverリソースを作成できるリージョンは変更される可能性があるため、ポータルに表示される最新の対応リージョンを確認してください。

AWS FSxのソースエンドポイントを作成する

Storage Moverリソースを開き、次の順に進みます。

Resource Management
→ Storage endpoints
→ Source endpoints
→ Create endpoint

作成画面で次のように設定します。

設定項目指定内容
Migration typeMulticloud migration
Source typeAWS FSx - SMB
Host name or IP addressFSxのFQDNまたはプライベートIP
Share name共有名のみ
Key vault資格情報を保存したKey Vault
Username secretユーザー名のシークレット
Password secretパスワードのシークレット

共有名には、先頭のバックスラッシュを含めません。

正しい指定例はDataです。

誤った指定例は\\fsx.example.local\Data\\Dataです。ホスト名と共有名は別々の欄に入力します。(Microsoft Learn)

ポータルでロールが自動割り当てされなかった場合は、ソースエンドポイントのマネージドIDに対して、Key VaultのKey Vault Secrets Userロールを付与します。

Azure Filesのターゲットエンドポイントを作成する

Storage Moverで次の順に進みます。

Resource Management
→ Storage endpoints
→ Target endpoints
→ Add endpoint

次の項目を指定します。

設定項目指定内容
SubscriptionAzure Filesを作成したサブスクリプション
Storage account移行先のストレージアカウント
Target typeFile share
ProtocolSMB
File share移行先のAzureファイル共有

ロールが自動割り当てされない場合は、ターゲットエンドポイントのマネージドIDにStorage File Data Privileged Contributorを割り当てます。このロールにより、既存ACLを扱いながらAzure Filesへデータを書き込めます。(Microsoft Learn)

Private Connectionを作成して承認する

Storage MoverのStorage endpointsからPrivate Connectionを作成し、事前に構成したPrivate Link Service Direct Connectを関連付けます。

作成後は、接続状態がApprovedであることを確認します。承認されていない接続は、ジョブ定義作成時の候補に表示されません。

プロジェクトとジョブ定義を作成する

Storage MoverのProjectsからプロジェクトを作成します。

プロジェクト名は、技術要素ではなく移行する業務やワークロードに合わせると管理しやすくなります。

推奨例:AccountingFiles-Migration
非推奨例:Migration-01

プロジェクト内でジョブ定義を作成し、次の項目を設定します。

設定項目指定内容
Migration typeMulticloud migration
Source typeAWS FSx - SMB
Source endpoint作成したFSxエンドポイント
Target endpoint作成したAzure Filesエンドポイント
Source sub-path必要に応じて対象フォルダーを限定
Target sub-path必要に応じて格納先を指定
Private connectionsApproved状態の接続
Copy modeAdditiveまたはMirror

AdditiveとMirrorは削除動作で選ぶ

Storage Moverのコピーモードは、初回コピーよりも2回目以降の差分コピーで大きな違いが出ます。

コピーモード動作適したケース
Additiveターゲットだけに存在するファイルを残す。同じパスのファイルはソースに合わせて更新する初回移行、既存データを削除したくない場合
Mirrorソースに存在しないターゲット側のファイルを削除する移行先をソースと完全に一致させたい場合

Additiveでは、ソース側でフォルダー名を変更すると、旧フォルダーがターゲット側に残り、重複する可能性があります。Mirrorでは旧フォルダーを削除できますが、移行先だけに存在するデータも削除対象になります。(Microsoft Learn)

重要: AWS FSx向けのMicrosoft Learnには、初回移行でMirrorを設定する記述と、初回はAdditiveを推奨する記述が同じページ内に混在しています。さらに掲載されているCLI例はAdditiveです。削除事故を避けるため、ターゲットに既存データがある場合や初回パイロットではAdditiveを選び、完全同期が必要な専用ターゲットに限ってMirrorを検討するのが安全です。(Microsoft Learn)

ジョブを開始してログを監視する

ジョブ定義を開き、Start jobを選択して初回コピーを開始します。

監視する項目は次のとおりです。

  • 転送済みファイル数
  • 転送済みデータ量
  • スループット
  • 失敗したファイル数
  • スキップされたファイル
  • エラー内容
  • ジョブの開始時刻と終了時刻

Log AnalyticsワークスペースとStorage Moverの診断設定は、初回ジョブを開始する前に構成してください。診断設定より前に生成されたログは、後からLog Analyticsへ復元できません。(Microsoft Learn)

初回コピー後に検証する項目

ジョブがCompletedになっただけで、本番切り替え可能と判断してはいけません。

検証対象確認内容
ジョブ結果失敗ファイル数が0か
ディレクトリフォルダー階層が一致しているか
ファイル数主要フォルダーごとの件数が一致しているか
データ量論理サイズに大きな差がないか
ファイル内容重要ファイルのハッシュが一致するか
タイムスタンプ作成日時と更新日時が保持されているか
Windows ACL所有者、継承、許可、拒否が想定どおりか
利用者アクセス読み取り、書き込み、削除が権限どおりか
アプリケーションファイル作成、更新、名前変更、ロックが正常か
性能通常時と高負荷時の応答時間が許容範囲か

重要ファイルの内容は、PowerShellでハッシュを比較できます。

Get-FileHash "\\<FSx-FQDN>\<share>\重要ファイル.xlsx" -Algorithm SHA256
Get-FileHash "\\<storage-account>.file.core.windows.net\<share>\重要ファイル.xlsx" -Algorithm SHA256

ACLはicaclsで確認できます。

icacls "\\<FSx-FQDN>\<share>\対象フォルダー"
icacls "\\<storage-account>.file.core.windows.net\<share>\対象フォルダー"

数百万ファイルをすべてハッシュ計算すると負荷が高くなるため、業務上重要なファイル、サイズの大きいファイル、更新頻度の高いファイルを抽出して確認します。

差分コピーとカットオーバーを実施する

停止時間を短縮するには、初回コピー後もFSxを稼働させたまま、複数回の差分コピーを実行します。

推奨する流れは次のとおりです。

  1. FSxを稼働させたまま初回コピーを実行する
  2. Azure Files側のデータ、ACL、アプリケーション動作を検証する
  3. 必要に応じて差分コピーを複数回実行する
  4. カットオーバー日時を利用者へ通知する
  5. FSxへの書き込みを停止する
  6. 最終差分コピーを実行する
  7. 失敗ファイルがないことを確認する
  8. 利用者やアプリケーションの接続先をAzure Filesへ変更する
  9. 本番動作を確認する
  10. 一定期間FSxを読み取り専用で保持する
  11. ロールバック不要と判断してからFSxを廃止する

Azure Filesの標準的なUNCパスは次の形式です。

\\<storage-account-name>.file.core.windows.net\<share-name>

グループポリシー、ログオンスクリプト、DFS Namespace、アプリケーション設定、サービスアカウントの構成など、旧FSxのUNCパスを参照している場所を漏れなく更新します。Microsoftも、最終差分コピー後に接続先をAzure FilesのUNCパスへ切り替え、FSxを短期間フォールバック用に残す手順を案内しています。(Microsoft Learn)

よくある失敗と対処方法

症状主な原因対処
ジョブを開始できないマネージドIDのRBAC不足Key Vault Secrets UserとStorage File Data Privileged Contributorを確認
FSxへ接続できないルート、DNS、TCP 445、Security Groupの問題FQDNの名前解決とTest-NetConnectionを実行
SMB認証に失敗するKey Vaultのシークレット間違い、資格情報の権限不足ユーザー名・パスワードとFSx共有権限を確認
Private Connectionを選択できない接続がApprovedになっていないPrivate Endpoint接続を承認して状態を再確認
ジョブは成功したが利用者がアクセスできないAzure FilesのIDソースまたは共有レベルRBACが未設定IDベース認証、グループ同期、共有レベルロールを確認
一部のファイルだけ失敗するソース上のアクセス権やファイル固有の問題Copy logsで対象パスとエラーコードを特定
ターゲット側のファイルが消えたMirrorモードを使用したジョブ定義と削除動作を確認し、必要ならバックアップから復元
Additiveで旧フォルダーが残るソース側でフォルダー名を変更した不要フォルダーを検証後に削除するかMirror利用を再検討
転送が想定より遅いVPN帯域、遅延、大量の小さいファイルネットワーク性能とオブジェクト数を確認し、ジョブを適切に分割

Storage Moverの公式トラブルシューティングでも、最初にRBAC、Private Connection、TCP 445、FSxのホスト名と共有名を確認するよう案内されています。(Microsoft Learn)

移行コストはデータ容量だけで見積もらない

Azure Storage Moverの現行機能自体は無料で提供されています。ただし、次の料金は別途発生します。

  • Azure Filesの保存容量
  • Azure Storageのトランザクション
  • Azure側のネットワーク関連リソース
  • VPN Gateway、ExpressRoute、NVAなどの利用料金
  • AWS側のデータ転送
  • AWS Direct ConnectやVPN関連リソース
  • 移行後のAzure Backupや監視

Azure Storageのトランザクション数は、データ容量だけでなくファイルやフォルダーの個数にも影響されます。同じ1TBでも、数百個の大容量ファイルより、数百万個の小容量ファイルの方が多くの処理を必要とします。(Microsoft Learn)

見積もりではTB単位の容量だけでなく、オブジェクト数、差分コピーの回数、移行先のストレージ階層、AWSからのデータ転送量を含めて計算してください。

本番移行は小規模な共有から始める

AWS FSxからAzure FilesへのAgentless移行により、転送用エージェントの配備と管理は不要になります。一方で、移行の成否を左右するのは、プライベートネットワーク、IDとACL、コピーモード、ログ、カットオーバー設計です。

最初に行うべきことは、全共有の一括移行ではありません。影響の小さい共有を1つ選び、次の順序でパイロットを実施します。

  1. AzureとAWS間のTCP 445疎通を確認する
  2. Key VaultとRBACを構成する
  3. Log Analyticsを有効にする
  4. Additiveモードで初回コピーを実行する
  5. ACLと利用者アクセスを確認する
  6. 差分コピーと最終切り替えを試す
  7. 結果を基に本番共有の移行計画を確定する

「データをコピーできたこと」と「業務をAzure Filesへ切り替えられること」は別の状態です。最終的な成功条件を、ファイル数や容量だけでなく、利用者認証、アプリケーション動作、性能、バックアップ、ロールバックまで含めて定義することが重要です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次