📦

Azure File Syncによるストレージ同期の構成

2022/10/19に公開

モチベ

  • Azureのストレージの勉強中にそういえば使ったことないなと思い焦った
  • 単純にAzure Filesとサーバ間でファイルの同期をしてくれるんだろうなくらいの理解

作成したリソース

  • 今回はすべてUS WEST 2に作成
  • ストレージアカウントとAzure File Syncが同じリージョンにある必要がある

VM

  • 同期対象のサーバとして用意
  • VNETとかサブネットも適当に

ストレージアカウント

  • スタンダードで作成

Azure File Sync

  • Azure Files Syncというリソースがある事すら知らなかったな

各種構成

Azure File Syncへのサーバ登録

  • Azure Files Sync側からエージェントのリンクを取得

  • VM内のブラウザで開く
  • OSに合わせて選択

  • ウィザードに従ってインストール

  • エージェントのセットアップ



  • Azure File Sync側を確認すると登録サーバとして検出されている

Azure Filesを作成

  • ストレージアカウント内にAzure Filesを作成

  • 適当な画像ファイルをアップしておく

Azure File Syncにて同期グループを作成

  • クラウドエンドポイント(=Azure Filesのこと)を登録

  • 対応するサーバーエンドポイント(=同期先サーバのこと)とパスを指定

動作確認

Azure Files -> VMの同期確認

  • 同期先VMの指定したパスにAzure Filesでアップロードしたファイルが存在することを確認

‐ きちんと画像ファイルが入っている

VM -> Azure Filesの同期確認

  • 作成されたサーバエンドポイントのパスにVM側からファイルを追加

  • Azure Filesに反映されることを確認
  • 結構反映早い

状態監視

  • 同期グループのダッシュボードから状態を把握可能

クラウドの階層化

  • そもそもファイルの実体としてはクラウド・サーバの両側に存在
  • 同期するだけならそこまでありがたみのないサービスかもしれないが、クラウドエンドポイントで階層化して保存することでサーバ側のリソースを節約するといった機能も活用できそう

https://learn.microsoft.com/ja-jp/azure/storage/file-sync/file-sync-cloud-tiering-overview

  • 以下の例ではボリュームの空き容量ポリシーを構成しているため、常にサーバ側で20%の空き容量ができるようにクラウド側に持ってくるという状態

  • サーバ側のファイルをクラウドで階層化する場合は、ファイルの実体はクラウド側飲みに存在することとなる
    • サーバ側にはあくまでメタデータのみが置かれるため、ディスク上のファイルサイズはゼロとなる

階層化されたファイルでは、ファイルのコンテンツ自体がローカルに保存されていないため、ディスク上のサイズはゼロになります。 ファイルを階層化すると、Azure File Sync ファイル システム フィルター (StorageSync.sys) がローカルでファイルをポインター (再解析ポイント) と置き換えます。 再解析ポイントは Azure ファイル共有内のファイルへの URL を表します。

https://learn.microsoft.com/ja-jp/azure/storage/file-sync/file-sync-cloud-tiering-overview#tiered-file

検証おわり

特に詰まるポイントなく構成できました。

GitHubで編集を提案

Discussion