NFS 共有を作成する方法

Azure ファイル共有は、クラウド内に存在するフル マネージドのファイル共有です。 この記事では、NFS プロトコルを使用するファイル共有の作成について説明します。 両方のプロトコルの詳細については、Azure ファイル共有のプロトコルに関するページを参照してください。

制限事項

プレビュー段階では、NFS には次の制限事項があります。

  • 現在、NFS 4.1 では、プロトコル仕様のほとんどの機能がサポートされています。 あらゆる種類の委任とコールバック、ロックのアップグレードとダウングレード、Kerberos 認証と暗号化など、一部の機能はサポートされていません。
  • 要求の大部分がメタデータ中心の場合、読み取り/書き込み/更新操作と比較すると、待機時間が長くなります。
  • NFS 共有を有効化/作成できるのは新しいストレージ アカウント上だけです。既存のものではできません。
  • 管理プレーン REST API のみがサポートされています。 データ プレーン REST API は使用できません。したがって、Storage Explorer などのツールが NFS 共有で動作しなくなり、Azure portal では NFS 共有データを参照できなくなります。
  • AzCopy は現在サポートされていません。
  • Premium レベルでのみ使用できます。
  • NFS 共有は、数値 UID/GID のみを受け入れます。 クライアントが英数字の UID/GID を送信しないようにするには、ID マッピングを無効にする必要があります。
  • プライベート リンクを使用する場合は、個々の VM の 1 つのストレージ アカウントからのみ共有をマウントできます。 他のストレージ アカウントから共有をマウントしようとすると失敗します。
  • プライマリ グループに割り当てられたアクセス許可に依存することが最善です。 場合によっては、ユーザーの非プライマリ グループに割り当てられたアクセス許可が原因で、既知のバグによってアクセスが拒否されることがあります。

まだサポートされていない Azure Storage の機能

また、NFS 共有では、次の Azure Files 機能は使用できません。

  • ID ベースの認証
  • Azure Backup のサポート
  • スナップショット
  • 論理的な削除
  • 完全な転送中の暗号化のサポート (詳細については、NFS セキュリティに関するページを参照してください)
  • Azure File Sync (NFS 4.1 でサポートされていない Windows クライアントでのみ使用できます)

リージョン別の提供状況

NFS は、Premium Files Storage が使用可能な 30 以上の すべての リージョンでサポートされています。

リージョンは継続的に追加されています。 最新の一覧については、以下のサンプルを使用して、NFS がサポートされているリージョンの一覧のクエリを実行してください。 また、Premium Files Storage にある「リージョン別の利用可能な製品」ページで、リージョンのサポートを確認することもできます。

# Log in first with Connect-AzAccount if not using Cloud Shell

$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
    'Content-Type'='application/json'
    'Authorization'='Bearer ' + $token.AccessToken
}

# Provide specific subscription id if you want  list for a different subscription
$subscription = $azContext.Subscription.Id

# Invoke the REST API
$restUri = "https://management.azure.com/subscriptions/$subscription/providers/Microsoft.Storage/skus?api-version=2019-06-01"
$response = Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader

# List of all regions that has NFS support.
$response.value| Where-Object -FilterScript {$_.capabilities| Where-Object { $_.name -eq 'supportsNfsShare' -and $_.value -eq 'true'}}| Select-Object locations, kind, name

# List of regions that support NFS Zonal redundancy.
$response.value| Where-Object -FilterScript {($_.name -EQ 'Premium_ZRS') -and ($_.capabilities| Where-Object { $_.name -eq 'supportsNfsShare' -and $_.value -eq 'true'})}| Select-Object locations

応答のサンプル

List of regions that support NFS Zonal redundancy
locations
---------
{eastus}
{eastus2}
{westeurope}
{southeastasia}
{japaneast}
{northeurope}
{australiaeast}
{westus2}
{uksouth}
{eastus2euap}
{francecentral}

前提条件

NFS 4.1 プロトコルを登録する

Azure PowerShell モジュールまたは Azure CLI を使用している場合は、次のコマンドを使用して機能を登録します。

Azure PowerShell または Azure CLI を使用して、Azure Files に NFS 4.1 機能を登録します。

登録の承認には、最大 1 時間かかります。 登録が完了したことを確認するには、次のコマンドを使用します。

Azure PowerShell または Azure CLI を使用して、Azure Files への NFS 4.1 機能の登録を確認します。

FileStorage ストレージ アカウントを作成する

現時点では、NFS 4.1 共有は Premium ファイル共有としてのみ使用できます。 NFS 4.1 プロトコル サポートを使用して Premium ファイル共有をデプロイするには、最初に FileStorage ストレージ アカウントを作成する必要があります。 ストレージ アカウントは、Azure の最上位レベルのオブジェクトで、複数の Azure ファイル共有のデプロイに使用できるストレージの共有プールを表します。

FileStorage ストレージ アカウントを作成するには、Azure portal に移動します。

  1. Azure portal の左側のメニューで [ストレージ アカウント] を選択します。

    Azure portal のメイン ページでストレージ アカウントを選択します。

  2. 表示された [ストレージ アカウント] ウィンドウで [追加] を選択します。

  3. ストレージ アカウントを作成するサブスクリプションを選択します。

  4. ストレージ アカウントを作成するリソース グループを選択します。

  5. 次に、ストレージ アカウントの名前を入力します。 選択する名前は Azure 全体で一意である必要があります。 また、名前の長さは 3 から 24 文字とし、数字と小文字のみを使用できます。

  6. ストレージ アカウントの場所を選択するか、または既定の場所を使います。

  7. [パフォーマンス] では [Premium] を選択します。

    [アカウントの種類] ドロップダウンにオプションとして [ファイル共有] を表示するには、 [Premium] を選択する必要があります。

  8. [Premium account type](Premium アカウントの種類)[ファイル共有] を選択します。

    選択された Premium パフォーマンスのスクリーンショット。

  9. [レプリケーション] の設定は、既定値の [ローカル冗長ストレージ (LRS)] のままにします。

  10. [確認および作成] を選択して、ストレージ アカウントの設定を確認し、アカウントを作成します。

  11. [作成] を選択します

ストレージ アカウント リソースが作成されたら、そこに移動します。

NFS 共有を作成する

これで FileStorage アカウントが作成され、ネットワークが構成されたので、NFS ファイル共有を作成できます。 このプロセスは SMB 共有の作成に似ていますが、共有を作成するときに [SMB] ではなく [NFS] を選択します。

  1. ストレージ アカウントに移動し、 [ファイル共有] を選択します。

  2. [+ ファイル共有] を選択して、新しいファイル共有を作成します。

  3. ファイル共有に名前を付け、プロビジョニングされた容量を選択します。

  4. [プロトコル][NFS (プレビュー)] を選択します。

  5. [ルート スカッシュ] で選択を行います。

    • [ルート スカッシュ] (既定値) - リモート スーパーユーザー (ルート) へのアクセスが UID (65534) と GID (65534) にマップされます。
    • [ルート スカッシュなし] - リモート スーパーユーザー (ルート) はルートとしてアクセスを受信します。
    • [すべてスカッシュ] - すべてのユーザー アクセスが UID (65534) と GID (65534) にマップされます。
  6. [作成] を選択します

    ファイル共有の作成ブレードのスクリーンショット。

次のステップ

これで NFS 共有が作成されたので、それを使用するには Linux クライアントにマウントする必要があります。 詳細については、NFS 共有をマウントする方法に関するページを参照してください。

何か問題が発生した場合は、Azure NFS ファイル共有のトラブルシューティングに関するページを参照してください。