この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
はじめに
NFS 3.0 プロトコルを使用して Blob Storage にコンテナーをマウントすることができる機能が現在プレビュー中です。
Blob は Azure Files のように直接編集可能ではなく、ファイルを変更するには一旦ダウンロードして変更後アップロードする手順が必要でした。
この機能を使用すると、ファイル共有としてマウント可能することで直接 Blob を操作する事が出来ます。
ただし、アクセス制御リスト等はまだサポートされていないため、ファイルサーバーの代替になるわけではありません。あくまでもファイル共有としての使用となります。
作成手順
作成手順は以下になります。順次行っていきます。
[ネットワーク ファイル システム (NFS) 3.0 プロトコル (プレビュー) を使用して Blob Storage をマウントする]
https://docs.microsoft.com/ja-jp/azure/storage/blobs/network-file-system-protocol-support-how-to?tabs=linux
1.NFS 3.0 プロトコル機能をサブスクリプションに登録する
PowerShell Core や Azure Cloud Shell を開き、以下のコマンドを適宜実行します。
# Azureに接続
Connect-AzAccount
# サブスクリプションを指定
$context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
# 機能を有効
Register-AzProviderFeature -FeatureName AllowNFSV3 -ProviderNamespace Microsoft.Storage
Register-AzProviderFeature -FeatureName PremiumHns -ProviderNamespace Microsoft.Storage
Register-AzResourceProvider -ProviderNamespace Microsoft.Storage
2.機能が登録されたことを確認する
次のコマンドを実行し、Registeredになったことを確認します。
Get-AzProviderFeature -ProviderNamespace Microsoft.Storage -FeatureName AllowNFSV3
Get-AzProviderFeature -ProviderNamespace Microsoft.Storage -FeatureName PremiumHns
3.リソース作成
仮想ネットワーク及び仮想マシン、ストレージアカウントを作成します。
現在日本リージョンに対応していないため、デプロイする場所に注意してください。
また、ストレージアカウントは Premium且つBlockBlobStorageアカウントにし、安全な転送が必須は無効、NFS V3 を有効とします。
ストレージアカウント作成後共有用のコンテナーを作成し、ファイアウォールと仮想ネットワークで仮想マシンの仮想ネットワークを選択します。
4.マウントする
コマンドプロンプトで以下のコマンドを実行します。PowerShell では無いことに注意してください。
mount -o nolock <ストレージアカウント>.blob.core.windows.net:/<ストレージアカウント>/<コンテナー名> *
書き込み権限を付与するには以下のコマンドを実行します。こちらは PowerShell で実行します。
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousUid -PropertyType DWord -Value 0
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousGid -PropertyType DWord -Value 0
マウントできました。
以上で準備は完了です。操作してみます。
まとめ・使用感
もっさりしている、というのが正直な感想です。
開くだけなら早いときはありますが、ファイルを編集すると保存や開くことが遅くなる傾向を感じます。
・ファイルを直接編集できます。
・日本語ファイルはポータル上だと文字化けしています。
※NFS+Windowsの問題かもしれませんがファイル名の変更は現状出来ないようです。
現状では、パフォーマンスや使い勝手からファイルサーバーとしてはもちろん、単なるファイル共有としても Azure Files の代替にはならないように感じます。
この記事が参考になりましたら幸いです。