NFS ファイル共有をマウントする方法

Azure Files は、Microsoft の使いやすいクラウド ファイル システムです。 Azure ファイル共有は、サーバー メッセージ ブロック プロトコル (SMB) またはネットワーク ファイル システム (NFS) プロトコルのいずれかを使用して Linux ディストリビューションにマウントできます。 この記事では、NFS を使用したマウントについて説明します。SMB を使用したマウントの詳細については、「Linux で Azure Files を使用する」を参照してください。 使用できる各プロトコルの詳細については、「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}

前提条件

セキュリティで保護された転送を無効にする

  1. Azure portal にサインインし、作成した NFS 共有を含むストレージ アカウントにアクセスします。

  2. [構成] を選択します。

  3. [安全な転送が必須] には [無効] を選択します。

  4. [保存] を選択します。

    安全な転送が無効になっているストレージ アカウントの構成画面のスクリーンショット。

NFS 共有をマウントする

  1. ファイル共有が作成されたら、共有を選択し、 [Linux からの接続] を選択します。

  2. 使用するマウント パスを入力し、スクリプトをコピーします。

  3. クライアントに接続し、提供されたマウント スクリプトを使用します。

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

これで NFS 共有がマウントされました。

接続の検証

マウントが失敗した場合は、ご使用のプライベート エンドポイントが正しく設定されていないか、アクセスできない可能性があります。 接続の確認の詳細については、ネットワーク エンドポイントの記事の「接続を検証する」セクションを参照してください。

次の手順