Open1

Azure Files のマウントでSMBとNFSが利用できますがどんな違いがありますか?

georgeosddevgeorgeosddev

Copilot
Azure Files では SMBNFS の 2 種類のプロトコルでファイル共有をマウントできますが、
想定用途・対応OS・セキュリティモデル・制約がかなり異なります。
以下、実務で判断しやすい観点で整理します。

1. ざっくり結論

  • SMB
    • Windows を含む汎用用途向け
    • 認証・権限管理が充実
    • 企業システム・業務アプリ向き
  • NFS
    • Linux / UNIX 向け
    • 高スループット・シンプル
    • 分析処理・HPC・コンテナ用途向き

2. 基本的な違い(比較表)

観点 SMB (Azure Files) NFS (Azure Files)
主な用途 汎用ファイル共有 Linux向け高速共有
対応OS Windows / Linux / macOS Linux のみ
プロトコル SMB 2.1 / 3.x NFS v4.1
認証 AD / Entra ID (Kerberos) / Storage Key なし(ネットワーク境界)
権限制御 NTFS ACL POSIX (UID/GID)
暗号化 SMB 3.x で暗号化対応 なし(VNet前提)
インターネット経由 不可Premium対応可必須
スナップショット
マルチクライアント

3. SMB の特徴(Azure Files SMB)

✅ 強み

  • Windows ネイティブ
    • ドライブ割り当て(Z: など)が可能
  • 認証・セキュリティが強力
    • Active Directory / Entra ID 認証
    • ユーザー・グループ単位の ACL
  • インターネット経由マウント可能
    • VPN / ExpressRoute 不要(※制限あり)

⚠ 注意点

  • Linux では CIFS マウントが必要
  • 高スループット用途では NFS より不利な場合あり
  • レイテンシの影響を受けやすい

典型的な用途

  • Windows VM の共有フォルダ
  • 業務アプリのファイル保存先
  • ユーザーデータ(ホームディレクトリ)

4. NFS の特徴(Azure Files NFS)

✅ 強み

  • Linux 向けに最適化
  • 低オーバーヘッド・高スループット
  • コンテナ / 分析 / HPC に向く
  • シンプルな構成(認証が不要)

⚠ 重要な制約

  • Linux 専用
  • Premium File Share 必須
  • VNet 内限定
    • インターネット公開不可
  • 認証なし
    • UID/GID ベース
    • ネットワーク分離が前提

典型的な用途

  • Linux VM 間の高速共有
  • Azure Container Apps / AKS の共有ボリューム
  • 機械学習・分析ワークロード

5. セキュリティモデルの違い(重要)

SMB

ユーザー認証 + ACL + 暗号化Show more lines
  • 「誰が・何に・どこまで」アクセスできるかを厳密に制御
  • 企業システム向き

NFS

ネットワーク境界 + UID/GIDShow more lines
  • VNet に入れたら基本的に信頼
  • ゼロトラスト設計には不向き
  • 内部処理向け

6. Azure Container / Kubernetes 観点

シナリオ 推奨
Windows コンテナ SMB
Linux コンテナ(共有キャッシュ) NFS
マルチAZ共有 両方可
セキュアなマルチテナント SMB

※ AKS / ACA では NFS の方が性能・運用が楽なケースが多いです。

7. どちらを選ぶべきか(判断フロー)

  • ✅ Windows が絡む?→ SMB
  • ✅ Linux専用 & 高速処理?→ NFS
  • ✅ ユーザー単位の権限制御が必要?→ SMB
  • ✅ VNet内の内部処理だけ?→ NFS
  • ✅ インターネット越しにマウント?→ SMB

8. まとめ(短く)

  • SMB → 汎用・セキュア・Windows中心
  • NFS → Linux特化・高速・内部用途