2K Views
October 01, 24
スライド概要
オンプレミスファイルサーバーからAzure Filesへの、データ移行に必要な考え方を説明します。
.NETラボ 2024 09月勉強会 小鮒 通成
自己紹介です 都内Sierに勤務し、Windows/MEID認証基盤のコンサ ル・設計・トラブルシュート・ブログ公開などをやっています。 Microsoft Q&Aで、ときどき回答しています。 商業誌でWindows記事の寄稿を行うことがあります。 MSMVP Directory Services→Enterprise Mobility →Securityを受賞しています(MVP受賞回数22回+α)。 秋葉原によく現れます。最近は48型有機ELディスプレイ を買いました…。
Azure Filesとは Windows File ServicesのフルマネージドPaaS SMB(Server Message Block) NFS(Network File System) 使用目的として オンプレミスのファイル サーバーの置換または補完 アプリケーションの "リフトアンドシフト" クラウド開発の簡略化(ログデータやInsight情報を取り出し やすくする) コンテナー化
Azure Filesの認証 IDベース認証 (Kerberos) オンプレミス Active Directory Domain Services Microsoft Entra Domain Services ハイブリッド ID 用の Microsoft Entra Kerberos Linux クライアントの SMB 経由の Active Directory 認証 共有キー認証 (NTLMv2) Azure ストレージ アカウント キー ホストベース認証 (UNIX) 公開ホストキー
Azure Filesの基本構成 共有アクセス許可 既定の共有レベルのアクセス許可 SMB共有の共同作成者 SMB共有の管理者特権の共同作成者 SMB共有の閲覧者 特定のユーザーまたはグループに対するアクセス許可 ポータルからファイル共有のIAMでロールを追加する NTFSアクセス許可 ドメインベースのACL設定が可能 管理時はストレージ共有キーでのアクセスを推奨
Microsoft Entra Kerberos ドメインコントローラーとの接続を要さないKerberos認証 Microsoft Entra Hybrid Join環境が必須 KDC Proxyによるインターネット経由での「サービスチケッ ト」の受け取り Entra ID認証時にクラウドTGTを取得 RealmマップによるKDC Proxyの構成とTGS要求 Entra IDによるTGS応答 Deep dive - Azure AD Kerberos の仕組み | Japan Azure Identity Support Blog (jpazureid.github.io)
Azure Files 移行とは SMB / NFS プロトコル依存を前提としたファイル移行 ファイルの基本コンポーネント データストリーム: ファイルコンテンツ ファイルメタデータ: ファイル属性 ファイルのアクセス許可 タイムスタンプ 代替データストリーム (Azure File Syncのオンプレミス格納) ファイルの忠実性 最新ストリーム・メタデータを含むファイル内容すべてが移 行できるか?
参考: Azure Storage移行 SMB / NFS プロトコルに依存しないデータ移行 データストリーム移行がメイン/メタデータ移行に難 データの高速移行/オフライン移行 引用: Azure Storage 移行ガイド | Microsoft Learn
サポートされるファイルメタデータ ディレクトリの構造 シンボリックリンク アクセス許可 タイムスタンプ (Create/Changed/Modified) ファイル属性
ハイブリッド/クラウドデプロイ 基本はクラウドだが、高パフォーマンスやNTFS拡張機能をフル活用 する場合は Azure File Syncを使う。 ターゲット: ハイブリッド デプロイ (Azure Files と Azure File Sync) 推奨されるツールの組み合わせ: Windows Server • Azure File Sync 2012 R2 以降 • Azure File Sync と Azure DataBox ソース Windows 2012 以前 Server • • ネ ット ワーク 接 続スト • レージ (NAS) Linux (SMB のみ) • • • ターゲット: クラウドのみのデプロイ (Azure Files) 推奨されるツールの組み合わせ: • Azure Storage Mover 経由 • RoboCopy を使用して、マウントされた Azure ファイル 共有へ • Azure File Sync 経由: Azure File Sync ハイブリッド デプ ロイと同じ手順を実行し、終わりにサーバー エンドポイン トの使用を停止します。 DataBox と Azure File Sync を使用して最 • Azure Storage Mover 経由 近のサーバー OS へ • 記憶域移行サービス経由で Azure File Sync を使用して最 記憶域 移行サ ービス経由で Azure File 近のサーバーへ Sync を使用して最近のサーバーへ、その • RoboCopy を使用して、マウントされた Azure ファイル 後アップロード 共有へ Storage Mover アップロードと Azure File • Azure Storage Mover 経由 Sync を使用 • DataBox 経由 Azure File Sync のアップロードの使用 • RoboCopy を使用して、マウントされた Azure ファイル DataBox および Azure File Sync の使用 共有へ Azure File Sync と RoboCopy • Azure Storage Mover 経由 • RoboCopy を使用して、マウントされた Azure ファイル 共有へ 引用: SMB Azure ファイル共有の移行の概要 | Microsoft Learn
移行ツール Azure Storage Moverがお奨め。実績重視ならrobocopyが便利。 AzCopy等ストレージコピーツールはお奨めでない。 推奨 ツール Azure Storage Mover RoboCopy Azure File Sync Azure Storage Migration Program 記憶域移行サービス Azure ファイル共有のサポート サポートされています。 サポートされています。 Azure ファイル共有は、ネットワーク ド ライブとしてマウントできます。 Azure ファイル共有にネイティブに統合されます。 サポート対象。 ファイルの忠実性の保持 完全な忠実性。* 完全な忠実性。* 完全な忠実性。* 完全な忠実性。* 間接的にサポートされています。 Azure ファイル共有は、SMS 完全な忠実性。* ターゲット サーバーでネットワーク ドライブとしてマウントできま す。 Data Box (デバイスにファイルを サポート対象。 Data Box と Data Box Heavy では、メタデータが 読み込むデータ コピー サー (Data Box Disk では大きいファイルの共有はサポートされませ 完全にサポートされます。 ビスを含む) ん) Data Box Disk では、ファイルのメタデータは維 持されません。 AzCopy サポートされていますが、完全には推奨されません。 大規模な差分コピーはサポートされていないた 最新バージョン め、一部のファイルの忠実性が失われる可能性 があります。 Azure ファイル共有で AzCopy を使用する方 法を確認する Azure Storage Explorer ACL など、ほとんどのファイルの忠実性が失われ サポートはされますが、推奨はされません。 ます。 タイムスタンプがサポートされます。 最新バージョン Azure Data Factory サポートされています。 メタデータがコピーされません。 引用: SMB Azure ファイル共有の移行の概要 | Microsoft Learn
Azure Storage Mover Azure Storage移行でありながら、SMB共有をサポート SMB2.0→Azure Files SMB共有 NFS3/4→Azure BLOB Storageコンテナー フルマネージド移行 ファイルの忠実性は「完全」 (NFSではBLOBカスタムメタデータに格納) Storage Manager Agent オンプレミス VMを経由しての透過的コピー 443/tcpのアウトバウンド通信が必要 (FileREST API) Azure Data Boxとの組み合わせ 事前にオフライン一括移行することでの時間短縮
Robocopy 実績が高いSMB共有コピーツール 移行元ディレクトリ構造/アクセス許可を完全にコピー 使用中ファイルの段階的コピー ロギングでの移行状況の容易な把握 Azure ストレージキーでマウントしたAzure Filesに移行する Robocopyはミラー構成を使う (差分検出での移行量削減) Windows Server 2022を推奨。Windows Server 2019では KB5005103の適用が必要。
Azure Storage Moverによる移行 リソースプロバイダーの登録 Azure Storage Moverリソースのデプロイ Storage Mover Agentの構成 Storage Mover Agentの登録 移行ユーザーの作成 エンドポイントの作成 プロジェクトの作成 移行ジョブの作成 移行ジョブの実行
リソースプロバイダーの登録 サブスクリプションの「所有者」「共同作成者」権限で実行 する。 [<サブスクリプション名>]-[設定]-[リソースプロバイダー] から登録する。
Storage Moverリソースのデプロイ Azureポータルから[Azure Storage Mover]リソースを作 成する。 現時点ではJapan Eastは選択できない。
Storage Mover Agentの構成 エージェントはHyper-V or VMware VMで構成する (.vhdxイメージをダウンロード)。 移行フォルダー+ファイルの数によって、VMのサイジング を決定する。最小構成は 4 CPUs + 8 GB mem。 OSはlinux、[第1世代]のみをサポート。sshでパスワード接 続を行う。既定のパスワード等は以下を参照のこと。 Azure Storage Mover エージェントをデプロイする方法。 | Microsoft Learn AdministrativeShellから操作する。カスタマイズは困難。
Storage Mover Agentの登録 VMにログインし、[Network configuration]-[Test network connectivity]で接続テストを行う。 [Register]から各種情報を入力して登録する。
移行ユーザーの作成 オンプレミスSMB共有の資格情報(ドメイン管理者)をKey Vaultに格納する。 移行ユーザーアカウントの作成とロール割り当てを行う。 Entra Connect同期ユーザーとして作成 キー コンテナー シークレット ユーザーの割り当て Storage File Data Privileged Contributorの割り当て
エンドポイントの作成 Azure Storage Moveの[リソース管理]-[ストレージエンドポ イント]から、作成する。 ソースエンドポイント(移行元)の作成 IPアドレス・ホスト名・FQDNでサーバーを指定 Key Vaultのシークレット情報を指定 ターゲットエンドポイント(移行先)の作成 ストレージアカウント名/共有名を指定
プロジェクトの作成 Azure Storage Moveの[移行の計画と実行]-[プロジェクト エクスプローラー]から、作成する。 プロジェクト名の変更が必要な場合、作り直すしかない。
移行ジョブの作成 Azure Storage Moveの[移行の計画と実行]-[プロジェクト エクスプローラー]-[<プロジェクト名>]-[ジョブ定義の追 加]から、作成する。(「ジョブ定義の削除」と誤記がある) 事前設定したソース/ターゲットエンドポイントを指定 コンテンツをターゲットにマージ/ミラーリングを指定
移行ジョブの実行 移行ジョブの[ジョブの実行]から実施する。 移行アカウントの権限に、問題がないことを確認後、動作 する。 実行結果はダッシュボードに表示される。
実行結果 すべてのフォルダーとファイルが、問題なく移行できた。 NTFSアクセス許可についても、問題なく移行できた。 ファイルのメタデータ(作成日時・更新日時等)についても、 問題なく移行できた。
まとめ ファイル移行というのは、やはり一筋縄ではいかない部分 があります。単純なモノから、複雑な要件を満たす実装ま で、きちんと要件把握を行って、移行計画を立てたいモ ノです。 「計画を立てる」前提であれば、Azure Storage Moverは 最強のツールです。移行ストラクチャーから、移行性やパ フォーマンスまで、かなり高い点には、驚かされます。 しかしStorage Moverは構造が複雑なので、綿密な計画・ 設計なしでは使えません。構築も人間インストーラーにな りきらないと、ストレスを感じそうです。この意味では robocopyの需要も、引き続き高そうな気がしますね。
参考情報 SMB Azure ファイル共有の移行の概要 | Microsoft Learn Azure Storage Mover を使って SMB Azure ファイル共有 に移行する | Microsoft Learn RoboCopy を使用して Azure ファイル共有に移行する | Microsoft Learn Azure Storage Mover の概要 | Microsoft Learn Azure Storage Mover デプロイ計画 | Microsoft Learn Azure Storage Mover のスケールとパフォーマンスのター ゲット | Microsoft Learn