6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure File Sync を試してみよう!!

Last updated at Posted at 2024-08-11

皆さまごきげんよう、アーキテクトのやまぱんです。
今回は Azure を用いたファイルサーバークラウド化を検討するなかの候補の一つである Azure File sync を試してみます。AZ-104 とか AZ-800 などの Azure 系 MCP でも問われることの多いサービスですね。

補足コメントや質問、いいね、拡散、是非お願いします🥺!
間違ってたら優しく教えてください!

ファイルサーバークラウド化の選択肢

まず初めに、大きく Microsoft 関連のソリューションを用いたファイルサーバクラウド化には以下の選択肢があるかと思います。

ざっくりですが、下に行くほど高コストで高機能です。
(性能問題に悩みたくない場合はぜひ Azure NetApp Files をガンガン使いましょう。)

  • SharePoint / OneDrive for Business
  • Azure Files
  • Azure Files + Azure File sync
  • IaaS でのファイルサーバ構築
  • Azure NetApp Files

今回は上記のうち、3つめの 「Azure Files +Azure File Sync」 の構成についてです。
また、Azure Files の中でも SKU がスタンダードファイル共有と高機能なプレミアムファイル共有などさらに種類があります。今回は スタンダードファイル共有を利用した Azure File Syncを構成してみます。

そもそも Azure File sync とは?

まず、「Azure File sync を使わなくても、Azure Files をファイルサーバにマウントして使えばいいじゃん」 と思われる人もいるかもしれません、事実それも可能です。ただし大規模な環境になると多くのユーザーがネットワーク(エンタープライズな環境であれば ExpressRoute や S2S VPNといった拠点間接続) 越しに Azure Files に直接アクセスすることが想定され、帯域不足などによる UX 低下が想定されます。

そうした時の選択肢の一つとなるのがAzure Files +Azure File sync の構成です。
Azure File sync を利用することで、使い勝手は従来のファイルサーバとほぼ同じように利用でき、LAN の高速性アクセスを利用しつつ、さらにオンプレファイル共有をクラウドに拡張できるものです。ユーザーは直接 Azure Files にアクセスするのではなく、オンプレサーバー(Azure File syncエージェントをインストールしたサーバー)にアクセスするようになります。
具体的にはオンプレのファイルサーバをキャッシュ機能のように利用し、必要に応じてクラウドからファイルをダウンロードすることができます。

後ほどの設定画面の画面ショットですが、以下のようにクラウドの階層化の機能により Azure File sync のキャッシュ機能ベネフィットを実現することができます。
image.png

具体的にどのレベル規模から Azure Files +Azure File Sync がいいのか?というのは同時アクセス数ユースケースなどにもよるので明確にはないですが、ユーザーが数百規模超えると検討をしてもいいのではと個人的には思います。数百規模を超える場合は基本的にはAzure File syncを使った方がいいと思いますが、結局はなるべく実環境を模した検証をするのが最もよいです。

Azure File Sync 主要コンポーネント

ざっくり説明。

  • ストレージ アカウント / Azure Files Share (Azure ファイル共有): Azure のストレージサービス / ファイル共有ストレージ
  • Windows Server(ファイルサーバー) : いわゆるオンプレファイルサーバで Azure File Sync エージェント をインストールする
  • ストレージ同期サービス:Azure Portal から作成するモノで、Azure ファイル共有と ファイルサーバー のフォルダを紐づけて同期を行う
  • クラウドエンドポイント:ストレージ同期サービスからみた紐づける Azure ファイル共有を指す
  • サーバーエンドポイント:ストレージ同期サービスからみた紐づける ファイルサーバのフォルダを指す

Azure File Sync を構成する

では実際に簡易的にAzure File Syncを構成してみましょう。
詳細は以下 MS Learn に手順があります。
本ページではこの MS Learn の手順にそって、画面ショット多めにしていきたいと思います。

・前提条件 - Azure File sync のデプロイ
https://learn.microsoft.com/ja-jp/azure/storage/file-sync/file-sync-deployment-guide?tabs=azure-portal%2Cproactive-portal#prerequisites

Azure File sync で使用するWindows Server の準備

なお、今回は Azure VM を利用している(OSは Windows Server 2019 Datacenter)
構築中は IEエンハンスドポリシーをOFFにしておく
image.png

ストレージ同期サービスのデプロイ(Azure Portal)

・ストレージ同期サービスのデプロイ
https://learn.microsoft.com/ja-jp/azure/storage/file-sync/file-sync-deployment-guide?tabs=azure-portal%2Cproactive-portal#deploy-the-storage-sync-service

Azure Portal から ストレージ同期サービス を選択 → 作成
image.png

以下のように作成
image.png

プライベート エンドポイントも対応しているが、今回は使わずにパブリックエンドポイントを利用して実施。
image.png

Azure File sync エージェントをインストールする(Windows Server)

下記からダウンロードできる。(PowerShellやAzure CLI でもインストール可能)
ダウンロードセンター:https://www.microsoft.com/en-us/download/details.aspx?id=57159

Edge から上記リンクにアクセスして対象OSのものをダウンロードして、インストールを始める
image.png
image.png

  • Azure File sync エージェント固有のプロキシの設定も可能です。(今回はプロキシを構成していないので設定しない)
    image.png
  • Microsoft update を利用してUpdateするかも設定可能。(今回は以下の設定で実行)
    image.png
  • 自動アップデートの設定もあり(今回は以下の設定で実行)
    image.png

インストールが完了すると下記の画面、[OK] を押すと次のストレージ同期サービスへの登録画面になる。
image.png

Windows Server をストレージ同期サービスに登録する

image.png

サインイン画面がでるのでよしなにサインイン
image.png

各種情報を入力
image.png

完了!
image.png

  • Azure Portal 確認
    Azure Portal からは ストレージ同期サービス → 同期 - 登録済サーバー から確認可能
    image.png

同期グループとクラウドエンドポイントを作成する

・同期グループとクラウド エンドポイントを作成する
https://learn.microsoft.com/ja-jp/azure/storage/file-sync/file-sync-deployment-guide?tabs=azure-portal%2Cproactive-portal#create-a-sync-group-and-a-cloud-endpoint

  • 同期グループの作成 (Azure Portal)
    Azure Portal → ストレージ同期サービス → 同期グループの作成
    image.png
    image.png
    image.png

  • クラウドエンドポイントの作成 (Azure Portal)
    作成された同期グループをクリックするとクラウドエンドポイントもできていることがわかる
    image.png

サーバーエンドポイントを作成する

・サーバー エンドポイントを作成する
https://learn.microsoft.com/ja-jp/azure/storage/file-sync/file-sync-deployment-guide?tabs=azure-portal%2Cproactive-portal#create-a-server-endpoint

サーバー エンドポイントは、登録済みサーバー上の特定の場所を表します。たとえば、サーバー ボリュームのフォルダーなどです。
先ほど作成した同期グループをクリックして、遷移先の画面から [+サーバーエンドポイントの追加] をクリックします。
image.png

  • ここで Windows Server 上では F ドライブは以下に share フォルダを作成しているので、それをサーバーエンドポイントとして利用する
    image.png

以下のように設定し、「作成」
image.png

[クラウドの階層化」と「初期同期」の詳細画面はこちら
+ クラウドの階層化 の詳細 以下で実施

image.png

クラウドの階層化について
• クラウドの階層化: クラウドの階層化を有効または無効にするスイッチ。 クラウドの階層化によって、使用頻度やアクセス頻度が低いファイルを Azure Files に階層化できます。 クラウドを使った階層化を有効にする場合は、クール ファイルを階層化するタイミングを Azure File Sync に知らせるために設定するポリシーとして、ボリュームの空き領域ポリシーおよび日付ポリシー の 2 つのポリシーがあります。
• ボリュームの空き領域: サーバー エンドポイントが配置されているボリュームに確保する空き領域のサイズ。 たとえば、1 つだけのサーバー エンドポイントがあるボリュームでボリュームの空き領域を 50% に設定すると、データの約半量が Azure Files に階層化されます。 クラウドの階層化が有効かどうかにかかわらず、Azure ファイル共有は、データの完全なコピーを常に同期グループ内に保持します。

  • 日付ポリシー: 指定した日数アクセスされていない (これは読み書きされて) ファイルがクラウドに階層化されます。 たとえば、アクセスされずに 15 日以上経過したファイルが通常はアーカイブ ファイルであることがわかった場合は、日付ポリシーを 15 日に設定します。
  • 初期同期 の詳細
    以下で実施
    image.png

完了すると Azure Portal → ストレージ同期サービス → 同期グループ から以下のように確認可能
image.png

完了!!

データの同期

今回、Azure File Sync に利用した Azure File Sync にはあらかじめ検証用のデータを入れて実施していましたので、早くファイルサーバー側にデータが同期されるのを期待したいところです。
ところがクラウドエンドポイント(Azure ファイル共有)からのデータの同期はリアルタイムでは行われません。
以下 URL に記載の通り、変更検出ジョブが 24 時間ごとに動いているためです。

・SMB またはポータルを使用して Azure ファイル共有上でファイルを直接作成しました。このファイルを同期グループのサーバーで同期するには、どのくらいの時間がかかりますか?
URL:https://learn.microsoft.com/ja-jp/azure/storage/files/storage-files-faq#azure-file-sync

抜粋詳細
> Azure Portal または SMB を使用して Azure ファイル共有に加えられた変更は、サーバー エンドポイントに対する変更とは異なり、検出とレプリケーションが即座に行われることはありません。 Azure Files にはまだ変更通知/ジャーナルがないため、ファイルが変更されたときに自動的に同期セッションを開始する方法はありません。 Windows Server では、Azure File Sync は Windows USN ジャーナルを使用して、ファイルが変更されたときに同期セッションを自動的に開始します。 Azure ファイル共有に対する変更を検出するために、Azure File Sync には、変更検出ジョブと呼ばれるスケジュールされたジョブがあります。 変更検出ジョブは、ファイル共有内のすべてのファイルを列挙した後、ファイルの同期バージョンと比較します。 変更検出ジョブによってファイルが変更されていると判断された場合に、Azure File Sync は同期セッションを開始します。 変更検出ジョブは 24 時間ごとに実行されます。
  • 今回は関係ないですが、「"Azure Files 単体利用(OSから直接マウント)" + "Azure Files + Azure File Sync" の併用構成」の場合上記に関連したファイル同期のタイミングの考慮をした運用が必要になります。

即時反映させたい!!!

ファイルサーバーから Invoke-AzStorageSyncChangeDetection コマンドを使うことで可能です。

Invoke-AzStorageSyncChangeDetection -ResourceGroupName "<リソースグループ>" -StorageSyncServiceName "<ストレージ同期サービス名>" -SyncGroupName "<同期グループ名>" -Name "クラウドエンドポイント名"

クラウドエンドポイント名は下記で確認可能
Azure Portal → ストレージ同期サービス → 同期グループ → クラウドエンドに表示されているファイル共有の名前 をクリックし、「リソースID」をコピー&ペースト

image.png

/cloudEndpoints に続く文字列が -name に入れるクラウドエンド名になります。

例:)/subscriptions/"Subscription ID"/resourceGroups/"リソースグループ名"/providers/Microsoft.StorageSync/storageSyncServices/Azure File sync Srv/syncGroups/SyncGroup/cloudEndpoints/xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx

Azure File Sync Agent のログ

参考までに、イベントログで以下のように確認可能。
"Applications and Service Logs" → "Microsoft" → "File Sync" → "Agent"
2024-08-12_06h49_34.png

関連 URL

役立つ URL を紹介します

  • Azure File Sync のデプロイ
    今回のメインとなるページです

  • Azure File Sync よくあるお問合せ - FAQ 公式サポートブログ

  • Azure File Sync のデプロイの計画
    検討する際に必ず読むことをオススメします。
    とくに、評価コマンドレットは実施することをオススメします。

  • 複数ファイルサーバー と 複数 Azure Files 間での Azure Files Sync の構成
    より実践的、発展的な内容に関しての MS 社員のブログです。

  • Azure File Sync 虎の巻 ー 其ノ壱 JBS Tech Blog

  • 共有、ディレクトリ、ファイル、メタデータの名前付けと参照 - MS Learn

6
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?