双日テックイノベーションのAzureエンジニア担当 渡邊です。
今回は2回に分けて、ファイル共有を行うのにAzureをどのように活用することができるのか、というのをご紹介します。第2回は構築編ということで、前回の紹介編で紹介した3つの手法で実際に構築を行い、管理者からの見え方やユーザーからの見え方などもご紹介したいと思います。
※ここで紹介している内容は2018年12月時点のものです。Azureは常に変化しますので常に最新の情報を参照してください。
 
>>Microsoft Azure とは(詳細はこちら)
 

【連載】Azureでファイル共有!Azure Files、Azure File Syncってなに?の記事はこちら

Azureで構築できるファイルサーバー
概要資料ダウンロードはこちら



1. IaaS 仮想マシンでファイルサーバーを構築

まずはAzure上の仮想マシンでファイルサーバーを構築します。今回は以下の図のような環境を構築します。オンプレミスとAzureの間はExpressRouteにより接続されており、Azure上のADにオンプレ端末とファイルサーバーをドメイン参加させます。

IaaS 仮想マシンでファイルサーバーを構築

1-1.Azure VMを作成

まずAzure上にVMを作成します。普段から触られている方はわかると思いますが、Azure上の仮想マシンは簡単に作成できます。仮想マシンの作り方に関しては本サイトの過去ブログにあるため参考にしてください。
過去ブログ>>簡単!AzureでWindows仮想マシンを作成してみた
※かなり前の記事なのでUIなどはかなり変わっています。後日仮想マシンの作成に関しても改めて紹介しようと思います。
今回は以下の仮想マシンを2台作成します。

OS Windows Server 2016 Datacenter
サイズ Standard D2 v3
リージョン 東日本
OSディスク Standard HDD 127GiB
データディスク Standard HDD 100GiB

 

1-2. ファイルサーバー構築

仮想マシンのデプロイが終了したらRDPでファイルサーバーを構築する仮想マシンに接続し、ドメイン参加を行っておきます。
仮想マシンにログインし、[役割と追加]からFile Serverをインストールします。

役割と追加からFile Serverのインストール

インストールが終了したらファイルサーバーとして使用するドライブ上にフォルダを作成します。今回は追加のデータディスクをアタッチしてE:に割り振っているのでこのドライブ上にフォルダを作成します。

ドライブツール

 

フォルダを右クリックして[プロパティ]を選択します。

フォルダでプロパティの選択

 

[共有]タブから[共有]をクリックして共有を許可する相手を選択し、[共有]をクリックします。

ファイルの共有設定

共有が完了した画面が表示されるため[終了]をクリックします。

共有完了画面

共有フォルダの中に適当にファイルを1ついれてクライアントから見えるかをチェックします。

ファイルの確認

クライアントから接続したところ、先ほど作成した共有フォルダとその中にあるファイルを見ることができました。オンプレからAzure上へ接続していますが、ExpressRouteで接続されているためプライベートIPを使用して接続できます。

プライベートIPを使用して接続

 

1-3.権限、VSS設定

1-2まででオンプレとあまり変わらず作成できることがわかっていただけたと思います。サーバーの準備がいらないためオンプレよりも簡単かもしれません。ではオンプレでよく使われる機能はどうなのか、ということで権限によるファイル管理とVSSが使えるかを試していきます。

1-3-1.権限によるファイル管理

事前に適当なクライアントをAD上で作成しておきます。今回はFSuser1という新しく作成したユーザーでクライアントPCへログインします。

ユーザーのプロパティ

先ほどのフォルダにアクセスしますが、権限がないためはじかれていることがわかります。

ネットワークエラー

では次に、FSuser1を共有に追加します。ファイルサーバーから共有フォルダを右クリックして[セキュリティ]タブの[編集]をクリックします。

共有フォルダセキュリティーの編集

[追加]で[FSuser1]を追加します。

ユーザーの追加

アクセス許可で[変更]と[書き込み]を切っておきます。

アクセス許可の設定

クライアントから接続してみると、先ほど作成していたファイルが見えました。

クライアント側からのファイル表示

共有フォルダ内に新しくファイルを作成し、名前の変更をしようとすると拒否されます。

教諭フォルダ内の新規ファイル作成の拒否

このようにAzure上でも権限でファイル管理が可能です。

 

1-3-2.VSS設定

共有フォルダを作成したE:ドライブを右クリックし、[シャドウコピーの構成]を選択します。

VSS設定シャドウコピーの構成

[E:\]を選択して[有効]をクリックします。

該当ドライブを有効化

構成を行うと1回目が作成されました。

シャドウコピー作成

実際にどういう動きになるのかをやってみます。先ほど作成していたファイルに追加で書き込みを行います。

ファイルに追加で書き込み

保存を行ってファイルを右クリックし、[以前のバージョンの復元]を選択します。

保存し以前のバージョンの復元を実行

[以前のバージョン]タブに先ほど作成したスナップショットが表示されます。これを選択して[復元]をクリックします。

ファイルの復元実行

確認画面が表示されるので[復元]をクリックします。

ファイルの復元確認画面

完了画面が表示されるので[OK]をクリックします。

ファイルの復元完了画面

先ほど編集したファイルを開いてみると、編集前の状態に戻っていることがわかります。

編集前の状態に戻ったファイル

このようにAzure上に構築したファイルサーバーでもオンプレと同様の機能が使用できます。そのため、構成を変更せずに移行したいという場合には、この方法が構成等を考える必要があまりないため比較的楽だと思います。


2.Azure Filesでファイルサーバーを構築

次はAzure Filesでファイルサーバーを構築します。今回は以下の図のような環境を構築します。オンプレミスとAzureの間はExpressRouteにより接続されており、オンプレミスとAzure上の端末はクライアントとして、2か所から接続を行います。

Azure Filesでファイルサーバーを構築

2-1. ストレージアカウントの作成

まずAzure Filesを使用するために汎用ストレージアカウントを作成します。Azure Filesは基本的にHDDを使用するため[パフォーマンス]は[Standard]を選択しています。現在プレビューでSSDへ対応しているため今後パフォーマンスが向上する見込みです。また、Azure Filesでは[レプリケーション]で[RA-GRS]は使用できないので注意してください。[アクセス層]に関してもAzure Filesはどちらを選んでも関係ありません。

ストレージアカウントの作成

2-2. ファイル共有の作成

先ほど作成したストレージアカウント内でAzure Filesファイル共有を作成します。作成したストレージアカウントの概要に[サービス]があり、その中の[ファイル]を選択します。

ファイル共有の作成

上部のファイル共有を選択し、[名前]と[クォータ]を入力します。[クォータ]は格納可能なデータの最大サイズを指定できます。指定しない場合は5TiBとなります。今回は指定無しとします。

ファイル共有

これで5TiBの共有フォルダが作成できました。仮想マシンを作成するよりも簡単に構築できます。

共有フォルダが作成

2-3.クライアントからのマウント

作成した共有フォルダをクライアントからマウントします。クライアントとしてWindows、Linux、MacOSが利用可能です。ただし、Linuxに関しては共有レベルの暗号化がサポートされていないため、Azure Files ファイル共有と同じリージョンの仮想マシンからのみアクセス可能となっています。

クライアントOS オンプレマシンからのマウント Azure仮想マシンからのマウント
Windows
Linux ×
MacOS

また、Azureの外部からマウントする場合は送信TCPポートの445をあけておく必要があるので注意してください。445が開いているかわからない場合はクライアント端末から[Test-NetConnection]を使用してチェックしてみてください。以下のように[TcpTestSucceeded]が[True]となれば通信可能状態となっています。

Windows PowerShell

マウントの方法としてコマンドとGUIがありますが、今回はWindowsでGUIからマウントする方法を紹介します。

2-3-1.アクセスキーの入手

マウント時の認証を行うためにアクセスキーが必要となります。アクセスキーはAzureポータル画面から作成したストレージアカウントを選択し、[設定]内の[アクセスキー]をクリックします。表示された[Key1]の[キー]をコピーします。

アクセスキーの入手

2-3-2.ネットワークドライブの割り当て

クライアント端末のエクスプローラを開き[ネットワークドライブの割り当て]をクリックします。

ネットワークドライブの割り当ての選択

[フォルダー]に[\\[ストレージアカウント名].file.core.windows.net\[ファイル共有名]]を入力して[別の資格情報を使用して接続する]にチェックを入れて[完了]をクリックします。

割り当てフォルダーの選択

資格情報入力の画面が出てくるので[ユーザー名]に[ストレージアカウント名]、[パスワード]に[アクセスキー]を入れて[OK]をクリックします。

ネットワーク資格情報の入力画面

[azure-fileserver]に接続することができました。PowerShellからマウントする方法もありますが、ドライブが見えなくなるなどがあるため、少し手間がかかりますがこちらから設定することをお勧めします。

azure-fileserverに接続

マウントしたAzure Filesにテキストファイルを保存して動作を見てみます。

Azure Filesにテキストファイルを保存

先ほど保存したクライアント端末とは別のクライアント端末にAzure Filesをマウントして中身を見てみると問題なく同期されていることがわかります。

Azure Files同期確認

また、Azure Files側からも先ほど作成されたテキストが表示されていることがわかります。

Azure Filesからの確認画面

2-4.バックアップ

前回の記事でお伝えしたように、Azure Filesのバックアップでは[共有スナップショット]と[Azure Backup]が使用できます。それぞれを実装した際にどのような動作となるのか紹介したいと思います。
前回の記事>>[初級編]Azureでファイル共有!Azure Files、Azure File Syncってなに?

2-4-1.共有スナップショット

共有スナップショットの設定はAzure Filesのファイル共有内から行います。今回作成したazure-fileserver内の[スナップショットの作成]をクリックすることでその時点のスナップショットを作成できます。ただクリックするだけで簡単にスナップショットが取れる仕組みになっています。

共有スナップショットの設定

では実際にスナップショットの状態に戻してみたいと思います。変化がわかるようにファイルの中身を変更して保存します。

ファイルの中身を変更

ファイル共有内の[スナップショットの表示]をクリックします。

ファイル共有内のスナップショットの表示

先ほど作成したスナップショットが出てきているので、それを選択します。

作成したスナップショットの選択

作成したテキストファイルのスナップショットがとられているのでこれを選択し、[復元]をクリックします。

該当のスナップショットの選択

リストアのオプションとして[コピーとして復元して名前を変更する]と[元のファイルを上書きする]を選ぶことが可能です。今回は[元のファイルを上書きする]を選択します。

元のファイルの上書き

先ほど変更して保存したテキストファイルを見に行くと編集する前の状態に戻っていました。

前の状態に戻っているファイル

簡単にリストアを行えますがわざわざポータルを開くのも面倒です。そこで、ユーザー側から簡単に元の状態に戻す方法も紹介します。先ほどと同様に適当にテキストファイルを編集して保存します。

テキストファイルの編集

テキストファイルを右クリックして[プロパティ]→[以前のバージョン]タブを選択します。すると、先ほどスナップショットをとった状態が選択できます。これを選択して[復元]をクリックします。

Hello Azure Filesのプロパティ

復元が終わると[以前のバージョン]から先ほどのスナップショットが消えています。

Hello Azure Filesのプロパティ以前のバージョン

テキストファイルを見てみると最初にスナップショットをとった状態に戻っています。このように管理者側だけでなくユーザー側からも簡単にリストアを行うことができるようになっています。

更新されたファイル

2-4-2.Azure Backup

Azure Backupの設定はRecovery Servicesコンテナー(以下、RSコンテナー)から行います。RSコンテナーを作成して[はじめに]内にある[バックアップ]をクリックして[ワークロード]で[Azure]、[何をバックアップしますか?]で[Azureファイル共有]を選択して[バックアップ]をクリックします。
※現時点ではプレビューです。

Azure Backup

Azure Filesで使用するストレージアカウントを選択します。

Azure Backupストレージアカウントの選択

ファイル共有を選択します。

バックアップファイルの共有

バックアップポリシーを作成します。今回は毎日日本時間の深夜2時にバックアップがとられ、7日間保持する、というポリシーです。

バックアップポリシーの作成

それぞれの内容を確認して[バックアップの有効化]をクリックし、設定ができたら[バックアップアイテム]から[Azure Storage(Azure Files)]を選択します。

バックアップアイテム選択

azure-fileserverが入っているのでメニューから[今すぐバックアップ]をやってみます。

バックアップ

[バックアップの保持期間]を聞かれるので今回は適当な日付にして[OK]をクリックします。

バックアップ保持期間の設定

[バックアップジョブ]でバックアップが終了したことを確認します。

バックアップ完了の確認

再度[バックアップアイテム]を見てみると[前回のバックアップ状態]が[成功]となっているのがわかります。

バックアップアイテム

ではクライアント端末からテキストファイルを編集して保存します。

テキスト編集

もう1つテキストファイルを追加しておきます。

ファイルの追加

[バックアップアイテム]からまずは[ファイルの回復]を選択します。

バックアップアイテムファイルの回復

先ほど作成した復元ポイントを選択します。

復元ポイントの選択

[回復先]が選択できるので、[元の場所]として[競合が発生した場合]は[既存データに上書き]とします。[ファイルの選択]をクリックして、テキストファイルを選択します。

復元場所の選択

テキストファイルが選択されていることを確認して[OK]を押します。下に小さく書かれていますが、最大10個のファイル/フォルダを一度に復元できるようです。

復元場所の選択

状態を確認して[復元]をクリックし、[バックアップジョブ]で復元の進捗が確認できるので完了するまで待ちます。

復元の進捗確認

そして先ほど編集したテキストファイルを見てみると元に戻っています。

元に戻ったテキストファイル

では次に、[共有の復元]を行ってみます。再度テキストファイルを編集します。

テキストファイル編集

[バックアップアイテム]で[共有の復元]を選択します。

バックアップアイテム

先ほどよりシンプルな選択肢になりました。同様にやってみたいと思います。

復元場所の選択

復元後、ファイル共有の中身を見てみると編集したテキストファイルは編集前に戻り、バックアップ後に作成した新しいテキストファイルはそのままになっています。

復元したファイルの確認

1度目の[ファイルの回復]は1つずつファイルを選択してファイルやフォルダ単位で復元を行います。2度目の[共有の復元]はファイル共有を丸ごとバックアップ時の状態に戻します。バックアップ後に追加していたテキストファイルはリストア後も消えていなかったため、バックアップ後に追加されたものに関してはリストアの影響を受けないことがわかりました。「この時の状態に戻したいけど追加したファイルが消えるのは困る!」という場合でも使えるため、使い勝手はいいかもしれません。

ちなみにですが、バックアップの設定を行った場合、ファイル共有内の画面では[共有スナップショット]の項目が消え、[バックアップの管理]になります。

バックアップの管理

[バックアップの管理]をクリックすると復元等が行える画面が表示できます。

バックアップ項目

実はAzure Backupのコンテナーは使用していますが、本来のAzure Backupの機能としては使われていません。実際は共有スナップショットをスケジュール通りに作成するという[共有スナップショットの自動化]を行っているだけなので共有スナップショットとAzure Backupは平行利用することはできなくなっています。ただし、現在Azure Backupはプレビューのため、これからまた仕様が変わる可能性もあるため注意が必要です。

Azure Files 概要資料はこちら


3.Azure File Syncでハイブリッドファイルサーバーを構築

最後はAzure File Syncでハイブリッドファイルサーバーを構築します。今回は以下の図のような環境を構築します。オンプレミスとAzure上の端末を同期サーバーとします。

Azure File Syncハイブリッドファイルサーバー構築

3-1.Azure Files ファイル共有の作成

Azure File SyncはAzure Filesファイル共有と同期サーバーを同期するため、Azure Filesファイル共有を用意する必要があります。先ほどまでのファイル共有が使えたらよいのですが、現在Azure File Syncと同一リージョンにAzure Filesがある必要があり、現在日本での提供はされていません。そのため、東アジアで再度作成します。注意点として、Azure File Syncに対応するストレージアカウントは[汎用v1]または[汎用v2]であり、レプリケーションは[LRS]または[GRS]がサポートされます。

Azure File Sync

3-2. ストレージ同期サービスの作成

[リソースの作成]の検索から[Azure File Sync]を検索して[Azureファイル同期]を選択します。

Azureファイル同期

[ストレージ同期のデプロイ]ブレードで[東アジア]を選択して作成します。

ストレージ同期のデプロイ

3-3. 同期サーバーの準備

ストレージ同期サービスを作成後、同期を行うサーバーの準備を行います。

3-3-1.事前準備

同期サーバーをストレージ同期サービスへ登録する際にIEセキュリティ強化を無効化しておく必要があります。サービス登録後は再度有効にすることができます。また、[Install-Module AzureRM]でAzure RM PowerShellのモジュールをインストールしておく必要があります。

3-3-2.エージェントのインストール

Microsoftダウンロードセンターからエージェントをダウンロードしてインストールします。現在の対応OSは画像の3つです。

Microsoftダウンロードセンターからエージェントをダウンロード

ダウンロードしたmsiファイルを実行し、ウィザードに従ってインストールを進めます。

ダウンロードウィザード

[I accept the terms in the License Agreement]にチェックを入れて[Next]をクリックします。

Storage Sync Agent Setup

インストールする場所を選択します。

Storage Sync Agent Setup

プロキシを経由する場合はここで設定を行います。今回はプロキシを通さないため設定は行いません。

Storage Sync Agent Setup

Azure File Syncは定期的にバージョンアップされます。古いバージョンは新しいバージョンが出てから3か月サポートされますが、3か月を過ぎた場合はAzure File Syncへの接続が拒否されるようになります。これを防ぐためにAzure File SyncをWindowsアップデートで最新の状態に保つ設定を行うことができます。

Storage Sync Agent Setup

[Install]をクリックするとエージェントインストールが開始されます。

Storage Sync Agent Setup

インストールが終了したら[Finish]をクリックします。

Storage Sync Agent Setup

自動的に[Agent Update]が表示されるので[OK]を押します。

Azure File Sync

3-3-3.Azure File Syncの登録

Azure File Syncへの登録を行います。1台の同期サーバーは1つのストレージ同期サービスのみに登録可能となっています。[Sign in]をクリックします。

Azure File Sync

Microsoftのサインイン画面が表示されるため、権限のあるアカウントでサインインを行い、Azure File Syncで使用する[Storage Sync Service]を選択します。

Azure File Syncサインイン

再度Microsoftのサインイン画面が表示されるのでサインインを行い、成功画面が出たら[OK]をクリックします。

Azure File Sync

3-4.同期グループの作成

ファイル同期を行うグループを作成します。同期グループでは1つのクラウドエンドポイントと複数のサーバーエンドポイントを設定します。

3-4-1.クラウドエンドポイント設定

クラウドエンドポイントはAzure Filesファイル共有を指定します。作成した[ストレージ同期サービス]から[+同期グループ]をクリックします。

Azure File Server

今回使用するストレージアカウントを選択してAzure Filesファイル共有を選択し、[作成]をクリックします。

同期ファイル

同期グループが作成され、[ヘルス]が緑色になっていることを確認しておきます。

Azure File Server

3-4-2.サーバーエンドポイント

同期グループを選択し、[サーバーエンドポイントの追加]を選択し、同期サーバーを登録したサーバーの一覧から選択し、同期サーバー内のローカルフォルダを指定します。このローカルフォルダは共有フォルダである必要はなく、存在しない場所を指定した場合、フォルダが作成されます。

Azure File Sync Group

サーバーエンドポイントは複数登録可能なため、2つ目の同期サーバーを登録します。

サーバーエンドポイントの追加

[ヘルス]が[保留中]または緑色となることを確認しておきます。

Azure File Sync Group

3-5.ファイル同期

3-5-1.同期タイミング

同期サーバーにファイルを1ついれてAzure Filesへどのくらいで同期されるのか確認してみます。

同期サーバー上のファイル

ファイルを入れてすぐにAzure Filesのほうから確認してみますが、すぐに同期されていました。

Azure File Sync

今度はAzure Filesにファイルをアップロードしてみます。

Azure Files

 

同期サーバーを見てみると先ほどAzure Filesでアップロードしたファイルは表示されていません。Azure File Syncでは同期サーバーからの変更は即時エージェントにより同期されますが、Azure Filesからの変更は24時間に1回しか同期されません。

同期サーバー上のファイル

3-5-2.競合時のファイル同期

双方の同期サーバーで同一のファイルを同一のタイミングで保存した場合の動作がどうなるのか確認してみます。[HelloAzureFileSync]というファイルを同期サーバーの双方から編集し、同一のタイミングで保存します。Azure File Syncでは競合の処理は行わず、両方の変更を別ファイルとして保存することで両方を残します。競合が発生した場合、片方のファイルに[-マシン名]が付きます。さらに競合が起こるとマシン名の後ろに[-番号]が付き、以降は番号が増えていきます。

競合時のファイル同期

3-6.クラウド階層化

Azure File Syncでは実ファイルをクラウド上に持ち、同期サーバーにはポインタを置くことでサーバーのデータ容量を減らすことができる[クラウド階層化]という機能が使用できます。

同期グループ内のサーバーエンドポイントを選択し、[クラウド階層化]を[有効]にすることで使用できます。また、指定した割合の空きスペースを常に確保するという設定が可能であり、今回は全てのファイルをクラウド上で持つために[100]とします。

サーバーエンドポイントのプロパティ

クラウド上にデータがあるファイルはプロパティの[ディスク上のサイズ]が[0]となります。

Hello Azure File Syncのプロパティ

Azure Files / Azure File Sync
概要資料ダウンロードはこちら


4.まとめ

今回はAzureを使用したファイル共有を実際に構築していきました。実際に会社に導入して使用するにはネットワークの環境やセキュリティの要件など、まだまだ選定を行うための情報が必要だと思います。前回、今回で紹介した内容以外にもこのようなことはどうなのか、ということがありましたらご連絡ください。また、まだプレビュー機能もあり仕様に関して今後変更されることがあります。そのため、最新の情報を常に確認するようにしてください。

Azureで構築できるファイルサーバー4つの方式を解説資料
無償ダウンロードはこちら

この記事を書いた人

渡邊真悟
渡邊真悟
オンプレエンジニアとして活動するはずが、弊社Azure立ち上げを担い、気が付いたらクラウドエンジニアとなっていました。
新しいことに取り組むのが苦手だった自分を変え、常に最新の情報を取り入れられるように日々奮闘しています。
Azure Virtual DesktopやAzure Filesなど、IaaS/PaaS領域の機能検証や、Microsoft 365などのSaaS範囲まで組み合わせた情報をお伝えしていきます。
こんな検証ができないか、等ありましたら是非ご連絡ください!