Azure Files で DFS 名前空間を使用する
はじめに
前回、前々回と Azure Files に関連する記事をアップしましたが、本記事も Azure Files ネタです。Azure Files を利用する場合、通常ですとクライアントは Azure Files のエンドポイント( <ストレージアカウント名>.file.core.windows.net 等)にアクセスすることになりますが、オンプレのファイルサーバーからの移行の場合、すでに利用しているパスをそのまま利用したいというような要望はあるかと思います。そのような場合 DFS 名前空間(DFS-N)を利用することで構成することが可能です
DFS 名前空間(DFS-N) とは?
DFS 名前空間 (Distributed File System Namespace) とは、Windows Serverで提供される機能の一つで、分散されたファイル共有を論理的な一つの構造に統合するための技術です。本機能を利用することで、ユーザーは複数のファイル共有を単一パスとして扱うことができ、データへのアクセスを簡素化し、管理を効率化することができるようになります
詳細は以下ドキュメントをご参照ください
CNAME を設定するじゃダメなの?
カスタム ドメイン名を使用してファイル共有をマウントする に記載がある通り、CNAME レコードを追加して、新しいサフィックスをストレージアカウントのエンドポイントにルーティングすという方法も取ることができます
ただし、本構成の場合は CNAME のプレフィックスとしてストレージアカウント名を使用しなければならない という制約があるためご注意ください(私はこの制約に気づかずに無駄な時間を過ごしてしまいました・・・)
Azure Files では、ストレージ アカウント名をドメイン プレフィックスとして使用する CNAMES の構成のみがサポートされています。
ストレージ アカウント名をプレフィックスとして使用しない場合は、DFS 名前空間の使用を検討してください。
説明文のみだと分かりずらいのですが、簡単に纏めると以下のような感じです
✅ サポート
<StorageAccountName>.takutsulab.com ⇢ CNAME ⇢ <StorageAccountName>.file.core.windows.net
❌ 非サポート
files.takutsulab.com ⇢ CNAME ⇢ <StorageAccountName>.file.core.windows.net
今回の検証では、ストレージアカウント名を利用せずに自由なホスト名にてアクセスを行いたいので DFS-N を利用して構成しています
検証環境の構成図
作業の流れ
- DFS-N ロールのインストール
- ルート統合の有効化
- DNS エントリの作成
- 名前空間の作成
- フォルダーとフォルダーターゲットの構成
- クライアントからの接続
手順の詳細は Azure Files で DFS 名前空間を使用する方法 をご確認ください
1. DFS-N ロールのインストール
Onpre AD Server に DFS-N ロールのインストールを行います
2. ルート統合の有効化
本検証環境はドメイン環境(takutsulab.com)のため、DFS名前空間では「ドメインベースの名前空間」を利用して構成します。よって、本作業は不要です
ルート統合は、スタンドアロンの名前空間でのみ使用することができます。
ドメインベースの既存の名前空間があり、既にファイル共有に使用している場合、ルート統合された名前空間を作成する必要はありません。
3. DNS エントリの作成
本環境の場合は AD サーバーで「<ストレージアカウント名>.file.core.windows.net」のプライベートエンドポイントIPを取得できるように構成済みのため名前解決が可能となります。よって DNS エントリの作成は不要です
4. 名前空間の作成
DFS 名前空間の基本的な管理単位となる名前空間を作成します。本環境では「\takutsulab.com\files\」という UNC パスを構成する想定ですので「files」が名前空間のルート(名前空間の開始ポイント)となります
5. フォルダーとフォルダーターゲットの構成
名前空間のフォルダーとフォルダーターゲットを構成します。本環境では 名前空間のフォルダ「smb01」と Azure Files のファイル共有「smb01」と紐づけを行う想定のため、以下のような設定となります
- 名前空間のフォルダー: smb01 (パスは
\\takutsulab.com\files\smb01
となる) - フォルダーターゲット(名前空間のフォルダーと関連付けるターゲット):
\\<ストレージアカウント名>.file.core.windows.net\smb01
6. クライアントからの接続
以下コマンドを実行して Azure Files をマウントできることを確認する
- ドメイン名:takutsulab.com
- 名前空間:files
- 名前空間のフォルダー:smb01
net use Z: \\takutsulab.com\files\smb01
DFS-Nで作成した名前空間でマウントされていることを確認する
まとめ
今回は DFS 名前空間(DFS-N)を利用して論理的な UNC パス(ドメイン名)で Azure Files にアクセスする手順を纏めました。全3回に分けて Azure Files に関する記事をアップしましたが、オンプレのファイルサーバーを Azure Files に移行するための基本的な内容は網羅できているかなと考えています
本記事の内容が オンプレのファイルサーバーの移行を検討している方に少しでもお役にたてれば幸いです
Appendix
公式Docs
Zennの記事
GitHub
Discussion