📦
Azure File Syncによるストレージ同期の構成
モチベ
- 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に反映されることを確認
- 結構反映早い
状態監視
- 同期グループのダッシュボードから状態を把握可能
クラウドの階層化
- そもそもファイルの実体としてはクラウド・サーバの両側に存在
- 同期するだけならそこまでありがたみのないサービスかもしれないが、クラウドエンドポイントで階層化して保存することでサーバ側のリソースを節約するといった機能も活用できそう
- 以下の例ではボリュームの空き容量ポリシーを構成しているため、常にサーバ側で20%の空き容量ができるようにクラウド側に持ってくるという状態
- サーバ側のファイルをクラウドで階層化する場合は、ファイルの実体はクラウド側飲みに存在することとなる
- サーバ側にはあくまでメタデータのみが置かれるため、ディスク上のファイルサイズはゼロとなる
階層化されたファイルでは、ファイルのコンテンツ自体がローカルに保存されていないため、ディスク上のサイズはゼロになります。 ファイルを階層化すると、Azure File Sync ファイル システム フィルター (StorageSync.sys) がローカルでファイルをポインター (再解析ポイント) と置き換えます。 再解析ポイントは Azure ファイル共有内のファイルへの URL を表します。
検証おわり
特に詰まるポイントなく構成できました。
Discussion