本記事は Microsoft Learn の「Azure Files を構成する」というモジュールをまとめたものである。
ファイル共有や BLOB データのためのストレージを比較する
Azure Files はクラウド上でフルマネージドのファイル共有サービスを提供する。アクセスには SMB、NFS、HTTP プロトコルを使用でき、Windows、Linux、macOS の各クライアントから接続可能。
Azure Files について知っておくべきこと
- サーバーレス展開: Azure ファイル共有はフルマネージドの PaaS サービスで、VM や OS、更新プログラムの管理は不要
- ほぼ無制限のストレージ: 1 つの共有で最大 100 TiB、1 ファイルは最大 4 TiB。階層フォルダー構造で整理可能
- データ暗号化: 保存時と転送中のデータが暗号化される
- どこからでもアクセス可能: インターネット接続があればどのクライアントからもアクセス可能
- 既存環境との統合: Microsoft Entra ID や同期済み AD DS ID を使用してアクセス制御し、オンプレミスと同じ使用感で利用可能
- 以前のバージョンとバックアップ: ファイル共有スナップショット作成や Azure Backup によるバックアップが可能
- データの冗長性: データは同一または複数のデータセンターにレプリケートされ、Storage アカウントのレプリケーション設定で制御可能
Azure Files を使用するときに考慮すべき事項
- 置換・補完: 従来のオンプレミス ファイルサーバーや NAS の代替、または補完として利用可能
- グローバルアクセス: 世界中どこからでも、Windows・macOS・Linux などで直接アクセス可能
- リフト アンド シフト: ファイルアプリケーションやユーザーデータをクラウドに移行(リフト アンド シフト)する際に利用
- Azure File Sync: Windows Server に Azure ファイル共有をレプリケートし、オンプレミスまたはクラウドでのデータ分散とキャッシュを提供
- 共有アプリケーション: 構成ファイルなどの共有アプリケーション設定を格納
- 診断データ: ログ、メトリック、クラッシュダンプなどの診断データを共有場所に保存
- ツールとユーティリティ: Azure VM やクラウドサービスの開発・管理用ツールやユーティリティの格納に適したオプション
Azure Files と Azure BLOB Storage を比較する
項目 | Azure Files (ファイル共有) | Azure Blob Storage (BLOB) |
---|---|---|
アクセス方法 | SMB/NFS プロトコル、クライアントライブラリ、REST | クライアントライブラリ、REST |
データ構造 | ディレクトリ構造(ネイティブファイル) | フラット型名前空間(BLOB) |
アクセス範囲 | 複数の仮想マシンから共有可能 | コンテナー経由でアクセス |
適した用途 | 既存ファイルシステム API を利用するクラウドアプリのリフト&シフト、開発・デバッグツール共有 | ストリーミング・ランダムアクセスが必要なアプリケーション、アプリケーションデータへのグローバルアクセス |
特徴 | アプリ間でデータ共有可能、ネイティブファイル操作が可能 | 大規模非構造化データの格納・アクセスに適する |
Azure ファイル共有を管理する
Azure Files は、SMB と NFS(プレビュー)の 2 つの業界標準ファイルシステムプロトコルを提供している。ただし、同じファイル共有内で SMB と NFS の両方を同時に使用することはできない。一方で、同じストレージアカウント内に SMB 用と NFS 用のファイル共有を別々に作成することは可能である。
Azure ファイル共有の種類
Azure Files では、Standard と Premium の 2 種類のストレージ層が利用できる。Standard ファイル共有は汎用 (GPv2) ストレージ アカウントで作成され、Premium ファイル共有は FileStorage ストレージ アカウントで作成される。各ストレージ層にはそれぞれ異なる属性があり、用途やパフォーマンス要件に応じて選択できる。
ストレージ層 | 説明 |
---|---|
Premium | SSD にデータを保存。FileStorage ストレージ アカウントでのみ使用可能。一貫した高性能と低待ち時間を提供。LRS 冗長をサポートし、一部リージョンで ZRS も利用可能。すべてのリージョンで利用できるわけではない。 |
Standard | HDD にデータを保存。汎用 (GPv2) ストレージ アカウントでデプロイ。汎用ファイル共有や開発・テスト環境向けのパフォーマンスを提供。LRS、ZRS、GRS、GZRS に対応し、すべての Azure リージョンで使用可能。 |
認証の種類
認証方法 | 説明 |
---|---|
SMB を使用した ID ベースの認証 | Azure ファイル共有へのアクセス時に、オンプレミスのファイル共有と同じシームレスなシングルサインオン (SSO) を提供。 |
アクセス キー | ストレージ アカウントに含まれる 2 つのキーを使用。静的で Azure Files へのフルコントロールを提供。すべてのアクセス制御をバイパスするため、セキュリティ保護が必須。共有は推奨されず、可能な限り ID ベース認証を使用する。 |
Shared Access Signature (SAS) トークン | ストレージ アクセス キーに基づき動的に生成される URI。制限付きアクセスを提供し、アクセス許可、開始・終了時刻、許可 IP、プロトコルなどを指定可能。Azure Files では REST API アクセス用に使用。 |
SMB Azure ファイル共有の作成
SMB Azure ファイル共有を作成・構成するときに注意すべき重要な設定は次の2つ。
-
ポート 445 の開放
- SMB は TCP ポート 445 を使用して通信するため、クライアントからこのポートへのアクセスがファイアウォールでブロックされていないことを確認する
- ポートを開放できない場合は、VPN や ExpressRoute とプライベートエンドポイントを使用して内部ネットワーク経由で接続する
-
安全な転送の有効化
- 「Secure transfer required」を有効にすると、ストレージ アカウントへの接続を HTTPS に限定できる
- REST API やクライアントからのアクセスも HTTPS 経由で行う必要があり、HTTP 接続は拒否される
SMB Azure ファイル共有を Windows にマウントする
Azure ファイル共有は、Windows および Windows Server 環境で利用可能。Azure portal から以下を操作できる
- ファイル共有に接続
- マウントするドライブを指定
- 認証方法を選択
操作準備ができたときに実行する PowerShell コマンドもポータルで提供される。
SMB Azure ファイル共有を Linux でマウントする
Linux マシンからも Azure ファイル共有に接続可能。手順は以下の通り
- 仮想マシンのページで [接続] を選択
- SMB Azure ファイル共有は CIFS カーネル クライアントを使用してマウント
- ファイルのマウント方法
-
mount
コマンドでオンデマンド -
/etc/fstab
にエントリを作成して起動時に永続的にマウント
-
ファイル共有スナップショットを作成する
Azure Files は、ファイル共有のスナップショット機能を提供する。これにより、特定時点のデータを読み取り専用でコピーとして保持可能。
ファイル共有スナップショットについて知っておくべきこと
- Azure Files の共有スナップショットは、ファイル共有単位で提供される
- スナップショットは増分方式で、最新スナップショット以降に変更されたデータのみを保存
- 増分保存により、作成時間を短縮しストレージコストを削減
- 共有を復元するには最新のスナップショットのみ保持すればよい
- 個別ファイル単位でスナップショットを取得可能で、全体復元不要でファイル復元が可能
- スナップショットはファイルレベルの保護のみで、共有やアカウント削除を防ぐことはできない
- 共有を削除すると、そのスナップショットもすべて削除される
ファイル共有スナップショットを使用する場合に考慮すべき事項
利点 | 説明 |
---|---|
アプリケーション エラーとデータの破損から保護する | 新しいアプリケーション コードをデプロイする前に共有スナップショットを作成することで、バグやエラーによるデータ破損から以前のバージョンに戻せる |
誤った削除や意図しない変更から保護する | ファイル削除や名前変更などの誤操作があっても、共有スナップショットを使って以前のバージョンを復元できる |
バックアップと回復をサポートする | 定期的にスナップショットを作成することで、データのバックアップとして利用でき、監査やディザスターリカバリーに対応可能 |
Azure Files の論理的な削除を実装する
Azure Files では、論理削除機能により、削除されたファイルやファイル共有を復元可能にする。これにより、誤操作や意図しない削除からデータを保護できる。
Azure Files のバックアップの論理的な削除について知っておくべきこと
- ファイル共有の論理削除は、ストレージ アカウント単位で有効化される
- 削除時にコンテンツは完全に消去されず、論理的に削除された状態に遷移する
- 論理削除では保持期間を設定でき、削除されたファイル共有を回復可能
- 保持期間は 1 日から 365 日の範囲で設定可能
- 新規および既存のファイル共有の両方に対して有効化できる
Azure Files で論理的な削除を使用する場合の考慮事項
- 偶発的なデータ損失から復旧可能
- アップグレード失敗時に既知の正常な状態に復元可能
- ランサムウェア攻撃後でもデータを復旧可能
- 長期保存やデータ保持要件に対応
- 重要ワークロードの高可用性やビジネス継続性を支援
Azure Storage Explorer を使用する
Azure Storage Explorer は、Windows、macOS、Linux 上で動作するスタンドアロン アプリケーションで、Azure Storage データの管理を容易にするツール。複数のストレージ アカウントやサブスクリプションに接続して、Blob、ファイル、キュー、テーブルなどのストレージ コンテンツを操作できる。
Azure Storage Explorer について知っておくべきこと
-
Azure Storage Explorer では、リソースへのフルアクセスには 管理層 (Azure Resource Manager) と データ層 の両方のアクセス許可が必要
-
ストレージ アカウント、コンテナー、コンテナー内データにアクセスするには Microsoft Entra ID のアクセス許可 が必要
-
接続可能なストレージ アカウントの種類:
- 自分の Azure サブスクリプション に関連付けられたストレージ アカウント
- 他のサブスクリプションから共有されているストレージ アカウントとサービス
- Azure ストレージ エミュレーター を使ったローカル ストレージ
Azure Storage Explorer を使用する際の考慮事項
シナリオ | 説明 |
---|---|
Azure サブスクリプションに接続する | 自分の Azure サブスクリプションに属するストレージ リソースを管理 |
ローカル開発ストレージを操作する | Azure ストレージ エミュレーターを使ってローカル ストレージを管理 |
外部ストレージにアタッチする | ストレージ アカウントの名前、キー、エンドポイントを使用して、別のサブスクリプションや国内の Azure クラウドのストレージを管理 |
SAS を使ってストレージ アカウントをアタッチする | Shared Access Signature (SAS) を使って、別のサブスクリプションに属するストレージ リソースを管理 |
SAS を使ってサービスをアタッチする | SAS を使用して、別のサブスクリプションに属する特定のストレージ サービス (BLOB コンテナー、キュー、テーブル) を管理 |
外部ストレージアカウントにアタッチする
Azure Storage Explorer では、外部ストレージ アカウントに接続(アタッチ)する機能があり、共有を簡単に行える。接続するには以下が必要:
- 外部ストレージ アカウント名
- アカウント キー(Azure portal では通常
key1
と表示)
国内クラウドのストレージ アカウントに接続する場合は、以下の手順を踏む:
- [ストレージ エンドポイントのドメイン] ドロップダウンで [その他] を選択
- カスタムのストレージ アカウント エンドポイント ドメインを入力
- ストレージ アカウント名とキーを指定して接続
アクセスキー
アクセスキーを使用するとストレージアカウント全体へのアクセスが可能。アクセスキーは 2 つあり、片方を使用中でももう片方を再生成できる。
キーを再生成した場合、新しいキーを使用するには、ストレージアカウントにアクセスするすべての Azure リソースやアプリケーションを更新する必要がある。ただし、仮想マシンからのディスクアクセスは中断されない。
Azure File Sync を検討する
Azure File Sync を使うと、オンプレミスやクラウド上の複数の Azure Files 共有をまとめて管理でき、従来のファイルサーバーの性能や互換性を保ちながら、クラウドで一元化できる。
Azure File Sync について知っておくべきこと
- Azure File Sync は、Windows Server を Azure Files 共有の高速キャッシュとして利用
- SMB、NFS、FTPS など、Windows Server で利用可能なプロトコルでローカルデータにアクセス可能
- 世界中の複数拠点でキャッシュを作成してサポート可能
クラウドを使った階層化
- クラウド階層化は Azure File Sync のオプション機能
- 頻繁にアクセスされるファイルはローカルにキャッシュ、それ以外はポリシーに基づき Azure Files に階層化
- 階層化されたファイルはローカルで再解析ポイント(Azure Files への URL)として保持
- ユーザーが階層化ファイルを開くと、Azure File Sync が Azure Files から自動的にデータを取得
- オフライン属性付きのグレーアイコンで、ファイルがクラウド上にあることを示す
Azure File Sync を使用するときに考慮すべき事項
-
アプリケーションのリフト&シフト
- Azure File Sync を使い、オンプレミスと Azure の両方で同じデータに書き込みアクセスを提供
- アプリケーションをクラウドに移行しつつ、既存システムとのアクセス互換性を維持
-
ブランチオフィスのサポート
- ブランチオフィスのファイルを Azure Files にバックアップ
- 新しいサーバーを簡単に接続してデータ同期を管理
-
バックアップとディザスターリカバリー
- Azure Backup と連携し、オンプレミスデータをバックアップ
- ファイルメタデータを即時復元し、必要に応じてデータをクラウドから呼び戻す
-
クラウド階層化によるファイルアーカイブ
- 最近アクセスされたデータのみローカルに保持
- 古いデータは自動的に Azure Files に移動してストレージ効率を向上