適用対象: ✔️ SMB ファイル共有
Azure Filesは、ストレージのニーズに合わせてスケールアップでき、数千のクライアントが同時にアクセスできるエンタープライズ レベルのファイル共有を提供します。 Azure Filesには、Azureファイル共有をマウントするための 2 つの業界標準プロトコルが用意されています。Server Message Block (SMB) プロトコルと、Network File System (NFS) プロトコルです。 ワークロードに最適なプロトコルを選択します。 Azure Filesでは、SMB プロトコルと NFS プロトコルの両方を使用して個々のAzure ファイル共有にアクセスすることはできませんが、同じストレージ アカウント内に SMB および NFS クラシック ファイル共有を作成できます。
この記事では、SMB Azure ファイル共有について説明します。 NFS Azure ファイル共有の詳細については、「NFS Azure ファイル共有を参照してください。
一般的なシナリオ
エンドユーザーのファイル共有や、データベースやアプリケーションをバックアップするファイル共有など、多くのアプリケーションに SMB ファイル共有を使用します。 次のシナリオでは、SMB ファイル共有を使用します。
- チーム共有やホーム ディレクトリなどのエンド ユーザー ファイル共有
- SQL Server データベースや基幹業務アプリケーションなど、Windows ベースのアプリケーションのバッキング ストレージ
- 新しいアプリケーションとサービスの開発 (特に、ランダムな IO と階層型ストレージが必要な場合)
特徴
Azure Filesでは、SMB ファイル共有の運用環境の展開に必要な SMB とAzureの主な機能がサポートされています。
- SMB 継続的可用性 (CA)
- AD ドメイン参加と随意アクセス制御リスト (DACL)。
- Azure Backupを使用したサーバーレス バックアップの統合
- Azure プライベート エンドポイントを使用したネットワーク分離
- SMB マルチチャネルを使用した高いネットワーク スループット (SSD ファイル共有のみ)
- AES-256-GCM、AES-128-GCM、AES-128-CCM などの SMB チャネル暗号化
- VSS 統合共有スナップショットによる以前のバージョンのサポート
- 誤って削除されないようにするための、Azureファイル共有の自動ソフト削除
- 必要に応じて、インターネットにアクセス可能で、インターネットに安全なSMB 3.0以降を使用したファイル共有
SMB ファイル共有を直接マウントすることも、Azure File Syncを使用してオンプレミスにキャッシュすることもできます。
WINDOWS SMB のサポートとAzure Files機能
次の表は、Azure ファイル共有をマウントするときの Windows の SMB バージョン、SMB マルチチャネル1、および SMB チャネル暗号化のサポートを示しています。 次の表を使用して、Azure ファイル共有にアクセスするクライアント オペレーティング システムの機能サポートとセキュリティ要件を確認します。 お使いの Windows のバージョンに対応する最新の KB を使用してください。
| Windows バージョン | SMB のバージョン | SMB マルチチャネル (SSD のみ) | SMB チャンネルの最大暗号化 |
|---|---|---|---|
| Windows Server 2025 | SMB 3.1.1 | はい | AES-256-GCM |
| Windows 11 バージョン 24H2 | SMB 3.1.1 | はい | AES-256-GCM |
| Windows 11 バージョン 23H2 | SMB 3.1.1 | はい | AES-256-GCM |
| Windows 11 バージョン 22H2 | SMB 3.1.1 | はい | AES-256-GCM |
| Windows 10 バージョン 22H2 | SMB 3.1.1 | はい | AES-128-GCM |
| Windows Server 2022 | SMB 3.1.1 | はい | AES-256-GCM |
| Windows 11 バージョン 21H2 | SMB 3.1.1 | はい | AES-256-GCM |
| Windows 10 バージョン 21H2 | SMB 3.1.1 | はい | AES-128-GCM |
| Windows 10 バージョン 21H1 | SMB 3.1.1 | はい、KB5003690 以降はサポートしています | AES-128-GCM |
| Windows Server バージョン 20H2 | SMB 3.1.1 | はい、KB5003690 以降はサポートしています | AES-128-GCM |
| Windows 10 バージョン 20H2 | SMB 3.1.1 | はい、KB5003690 以降はサポートしています | AES-128-GCM |
| Windows Server バージョン 2004 | SMB 3.1.1 | はい、KB5003690 以降はサポートしています | AES-128-GCM |
| Windows 10 バージョン 2004 | SMB 3.1.1 | はい、KB5003690 以降はサポートしています | AES-128-GCM |
| Windows Server 2019 | SMB 3.1.1 | はい、KB5003703 以降をサポート | AES-128-GCM |
| Windows 10 バージョン 1809 | SMB 3.1.1 | はい、KB5003703 以降をサポート | AES-128-GCM |
| Windows Server 2016 | SMB 3.1.1 | はい、KB5004238 以降のバージョンと適用されたレジストリキーでサポートされます。 | AES-128-GCM |
| Windows 10 バージョン 1607 | SMB 3.1.1 | はい、KB5004238 以降のバージョンと適用されたレジストリキーでサポートされます。 | AES-128-GCM |
| Windows 10 バージョン 1507 | SMB 3.1.1 | KB5004249 以降および適用されたレジストリ キーで有効です。 | AES-128-GCM |
| Windows Server 2012 R22 | SMB 3.0 | いいえ | AES-128-CCM |
| Windows Server 2012 2 | SMB 3.0 | いいえ | AES-128-CCM |
| Windows 8.13 | SMB 3.0 | いいえ | AES-128-CCM |
| Windows Server 2008 R23 | SMB 2.1 | いいえ | サポートしていません |
| Windows 73 | SMB 2.1 | いいえ | サポートしていません |
1Azure Files では、SSD (Premium) ファイル共有でのみ SMB マルチチャネルがサポートされます。
2Windows Server 2012およびWindows Server 2012 R2のMicrosoftの定期サポートは終了しました。 セキュリティ更新プログラムの追加サポートは、 拡張セキュリティ更新プログラム (ESU) プログラムでのみ購入できます。
3Microsoft Windows 7、Windows 8.1、Windows Server 2008 R2 のサポートは終了しました。 これらのオペレーティング システムから移行します。
SMB プロトコル設定
Azure Filesでは、SMB プロトコルの動作、パフォーマンス、セキュリティに影響を与える複数の設定が提供されます。 これらは、Azure ストレージ アカウント内のすべてのAzureクラシック ファイル共有に対して構成されます。
SMB の継続的可用性
Azure Filesでは、一時的なインフラストラクチャ イベント中にアプリケーションを使用できるように、SMB 継続的可用性 (CA) がサポートされています。 継続的可用性は、サーバーのフェールオーバーや短いネットワークの中断など、短時間の中断中に開いているファイル ハンドルをアクティブに保つ SMB プロトコルの機能です。 すべての SMB Azure ファイル共有は、既定で継続的に使用できます。 この設定を無効にすることはできません。
継続的な可用性によって提供される内容
継続的な可用性には、次の利点があります。
- 瞬間的な障害を乗り越えられる永続ファイルハンドル
- フェールオーバー後の I/O 操作の透過的な復旧
- インフラストラクチャの移行中のデータの整合性
- アプリケーションの中断のリスクの軽減
短い接続の中断が発生した場合、SMB クライアントは自動的に操作を再試行し、開いているファイルへのアクセスを再確立します。アプリケーションで再度開く必要はありません。 この動作は、実行時間の長いファイル セッションを維持するワークロードにとって特に重要です。
継続的可用性のしくみ
継続的な可用性は、永続的な SMB ハンドルに依存します。 一時的な中断 (通常は数分まで続く) 中は、次のステートメントが適用されます。
- 開いているファイル ハンドルは有効なままです。
- SMB クライアントは、保留中の I/O 操作を再試行します。
- Azure Files接続が復元されると、操作が透過的に再開されます。
Azure Filesは正確性と持続性に優先順位を付けるので、クライアントは操作を直ちに失敗させるのではなく、待機と再試行を行います。
接続損失中のタイムアウト動作
継続的な可用性に必要な再試行動作により、SMB 操作はネットワークの中断中にタイムアウトに時間がかかる場合があります。
たとえば、次のような場合があります。
- Windows SMB クライアントは、エラーを返す前に数分間操作を再試行する場合があります。
- 接続が再確立されている間、アプリケーションが一時的に一時停止しているように見える場合があります。
この動作は、ハンドルの整合性を維持し、データの破損を防ぐのに役立つため、仕様です。 ローミング ノート PC や不安定なネットワーク接続など、頻繁に切断されるワークロードでは、エラーが返されるまでの待機時間が長くなる可能性があります。
SMB マルチチャンネル
SMB マルチチャネルでは、SMB 3.x クライアントが SMB ファイル共有に複数のネットワーク接続を確立できます。 Azure Filesでは、SSD (Premium) ファイル共有上の SMB マルチチャネルのみがサポートされます。 Windows クライアントの場合、すべてのAzureリージョンで SMB マルチチャネルが既定で有効になります。 ほとんどのシナリオ、特にマルチスレッドワークロードでは、クライアントはSMBマルチチャネルでパフォーマンスが向上します。 しかしながら、シングルスレッドのワークロードやテスト目的など、特定のシナリオでは、SMB マルチチャネルを無効にした方がよい場合があります。 詳細については、 SMBマルチチャネルをご覧ください。
セキュリティ
Azure Filesは、Azure ストレージ サービス暗号化 (SSE) を使用して、保存されているすべてのデータを暗号化します。 転送中のデータを暗号化することもできます。
静止時の暗号化
ストレージ サービスの暗号化は、Windows上の BitLocker と同様に機能します。ファイル システム レベルの下のデータを暗号化します。 データはAzureファイル共有のファイル システムの下で暗号化され、ディスクにエンコードされるため、Azure ファイル共有の読み取りまたは書き込みにクライアントの基になるキーにアクセスする必要はありません。
転送時の暗号化
Azure Files には、SMB による Azure ファイル共有へのアクセスで暗号化を必須にするかどうかを個別に制御できる、専用の Require Encryption in Transit for SMB 設定があります。 このプロトコルごとの設定では、ストレージ アカウント レベルの 安全な転送に必要な 設定よりも細かく制御できます。これは、REST/HTTPS トラフィックにのみ適用されるようになりました。 Azure ポータルを使用して作成された新しいストレージ アカウントでは、SMB の転送中の暗号化が既定で有効になっているため、暗号化で SMB 3.x を使用する SMB マウントのみが許可されます。 SMB チャネル暗号化を使用した SMB 3.x をサポートしていないクライアントからのマウントは、転送中の暗号化が有効になると拒否されます。 下位互換性を確保するために、Azure PowerShell、Azure CLI、または FileREST API を使用して作成されたストレージ アカウントでは、SMB に対する転送中の暗号化を要求が選択されていません。
既存のストレージ アカウントの場合、 SMB の転送中の暗号化 が最初に [未選択] として表示されます。 選択されていない間、 安全な転送が必要な 設定は引き続き SMB 暗号化の動作を管理します。 SMBに対して「Require Encryption in Transit」を明示的に設定した後は、必要なSecure Transfer 値に関わらず、SMBアクセスにはこの設定が優先されます。
Azure Filesでは、Windows Server 2022またはWindows 11で使用する場合、SMB 3.1.1 で AES-256-GCM がサポートされます。 SMB 3.1.1 では AES-128-GCM もサポートされ、SMB 3.0 では AES-128-CCM がサポートされています。 AES-128-GCM は、パフォーマンス上の理由から、Windows 10 バージョン 21H1 で既定でネゴシエートされます。
Azure ファイル共有の転送中の暗号化を無効にすることができます。 暗号化が無効になっている場合、Azure Filesでは暗号化なしで SMB 2.1 と SMB 3.x が許可されます。 転送中の暗号化を無効にする主な理由は、Windows Server 2008 R2 や古い Linux ディストリビューションなど、古いオペレーティング システムで実行する必要があるレガシ アプリケーションをサポートすることです。 Azure Filesは、Azure ファイル共有と同じAzure リージョン内でのみ SMB 2.1 接続を許可します。 オンプレミスや別のAzureリージョンなど、Azure ファイル共有のAzureリージョン外の SMB 2.1 クライアントは、ファイル共有にアクセスできません。
SMB セキュリティ設定
Azure Filesでは、組織の要件に応じて、SMB プロトコルの互換性を高めたり、セキュリティを強化したりするために切り替えることができる設定を公開します。 デフォルトではAzure Filesは最大限互換性が設定されているため、これらの設定を制限すると一部のクライアントが接続できなくなることがあります。
Azure Filesは、次の設定を公開します。
- SMB バージョン: 許可される SMB バージョンを指定します。 サポートされているプロトコルのバージョンは、SMB 3.1.1、SMB 3.0、および SMB 2.1 です。 全てのSMBバージョンは既定で許可されますが、SMB の転送中の暗号化を要求する場合(またはセキュアな転送が必要という設定がSMBの動作を制御する場合)、転送中の暗号化をサポートしないため、SMB 2.1 は許可されません。
- 認証方法: 許可される SMB 認証方法を指定します。 サポートされている認証方法は、NTLMv2 (ストレージ アカウント キーのみ) と Kerberos です。 既定では、すべての認証方法が許可されています。 NTLMv2 を削除すると、ストレージ アカウント キーを使用してAzureファイル共有をマウントできません。 Azure Filesでは、ドメイン資格情報に NTLM 認証を使用することはできません。
- Kerberos チケットの暗号化: 許可される暗号化アルゴリズムを指定します。 サポートされている暗号化アルゴリズムは、AES-256 (強く推奨) と RC4-HMAC です。
-
SMB チャネル暗号化: 許可される SMB チャネル暗号化アルゴリズムを指定します。 サポートされている暗号化アルゴリズムは、AES-256-GCM、AES-128-GCM、および AES-128-CCM です。 AES-256-GCM のみを選択した場合は、各クライアントで管理者として PowerShell ターミナルを開き、
Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$falseを実行することで、クライアントに使用を指示する必要があります。 AES-256-GCM の使用は、Windows 11/Windows Server 2022 より古いWindows クライアントではサポートされていません。
Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、SMB セキュリティ設定を表示および変更できます。 SMBのセキュリティ設定の取得と設定方法を確認するために、目的のタブを選択してください。 これらの設定はSMBセッションが確立された際にチェックされ、満たされなければエラー STATUS_ACCESS_DENIEDでSMBセッションのセットアップが失敗します。
Azure ポータルを使用して SMB セキュリティ設定を表示または変更するには、次の手順に従います。
Azure ポータルにサインインし、Storage アカウント を検索します。 SMB セキュリティ設定を表示または変更するストレージ アカウントを選択します。
サービス メニューから、 データ ストレージ>Classic ファイル共有を選択します。
[ファイル共有の設定] で、[セキュリティ] に関連付けられている値を選択します。
SMB の転送中に暗号化を要求するを明示的に有効または無効にすることができます。 Azure ポータルを使用して作成された新しいストレージ アカウントの場合、この設定は既定で有効になっています。
[プロファイル] で、[最大の互換性]、[最大のセキュリティ]、[カスタム] のいずれかを選択します。 [カスタム] を選択すると、SMB プロトコル バージョン、SMB チャネル暗号化、認証メカニズム、および Kerberos チケット暗号化について、カスタム プロファイルを作成できます。
重要
[ 最大セキュリティ] を選択するか、カスタム設定を使用すると、一部のクライアントが接続できなくなる可能性があります。 たとえば、AES-256-GCM は、Windows Server 2022およびWindows 11から始まる SMB チャネル暗号化のオプションとして導入されました。 つまり、AES-256-GCM をサポートしていない古いクライアントは接続できません。 AES-256-GCM のみを選択した場合は、各クライアントで管理者として PowerShell ターミナルを開き、
Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$falseを実行することで、AES-256-GCM のみを使用するようにクライアントにWindows Server 2022とWindows 11に指示する必要があります。
目的のセキュリティ設定を入力したら、[ 保存] を選択します。
Linux クライアントで SMB 1 を無効にする
Azure FilesはSMB 1をサポートしていません。 Linuxカーネル4.18以降は、cifsカーネルモジュール内のdisable_legacy_dialectsモジュールパラメータを使うことでLinuxクライアントでSMB 1を無効化できます。
あなたの分布がこのパラメータをサポートしているか確認してください:
sudo modinfo -p cifs | grep disable_legacy_dialects
SMB 1を無効にするには、まずすべてのSMB共有をアンマウントし、モジュールをアンロードします:
sudo modprobe -r cifs
SMB 1を無効にした状態でモジュールを再ロード:
sudo modprobe cifs disable_legacy_dialects=Y
この変更を再起動しても持続させるには、モジュール設定に以下設定を追加してください:
echo "options cifs disable_legacy_dialects=Y" | sudo tee -a /etc/modprobe.d/local.conf > /dev/null
設定が有効かどうか確認してください:
cat /sys/module/cifs/parameters/disable_legacy_dialects
出力は Y であるはずです。
制限事項
SMB Azure ファイル共有は、SMB プロトコルと NTFS ファイル システムでサポートされる機能のサブセットをサポートします。 ほとんどのユース ケースとアプリケーションではこれらの機能は必要ありませんが、サポートされていない機能に依存している場合、一部のアプリケーションはAzure Filesで正常に動作しない可能性があります。 次の機能はまだサポートされていません。
- SMB での直接接続
- SMB ディレクトリ リース
- SMB ファイル共有の VSS (この機能により、VSS プロバイダーはスナップショットを作成する前に SMB ファイル共有にデータをフラッシュできます)
- 代替データ ストリーム
- 拡張属性
- オブジェクト ID
- ハード リンク
- ソフト リンク
- 再解析ポイント
- スパース ファイル
- 短いファイル名 (8.3 の別名)
- 圧縮
リージョン別の提供状況
SMB Azure ファイル共有は、すべてのパブリック リージョンとソブリン リージョンを含むすべてのAzure リージョンで使用できます。 SSD ファイル共有は、 リージョンのサブセットで使用できます。
次のステップ
- Azure Files展開の計画
- Azure ファイル共有を作成します
- 希望のオペレーティング システムに SMB ファイル共有をマウントします。