Azure Files と Queue Storage
Azure Files を使用して SMB または NFS プロトコルでクラウドベースのファイル共有をマウントし、永続的なメッセージ キューを備えた Queue Storage でアプリケーション コンポーネントを分離します。
「Azure Files と Queue Storage」はCoddyKit上の無料Azure Fundamentalsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAzure Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Azure Fundamentalsコースには全4レッスンが含まれています。
Azure Files: クラウド ファイル共有
Azure Filesは、業界標準のSMB (Server Message Block)およびNFS (Network File System)プロトコルでアクセスできる、完全に管理されたクラウドベースのファイル共有を提供します。これにより、オンプレミスの社内ネットワーク上のネットワーク ファイル共有で使用するものと同じ仕組みを使って、Windows、Linux、macOS のマシンに Azure ファイル共有をマウントできます。アクセスに専用の API や SDK が必要な Blob Storage とは異なり、Azure Files は、マップされたドライブや UNC パスから読み取れるあらゆるアプリケーションでシームレスに利用できます。
# Mount an Azure file share on Linux using SMB
sudo mount -t cifs \
//mystorageacct.file.core.windows.net/myshare \
/mnt/myshare \
-o username=mystorageacct,password=<KEY>,dir_mode=0755Azure Files のユースケース
Azure Files は、一般的なエンタープライズ シナリオに対応するよう設計されています。リフト アンド シフトによる共有ストレージでは、オンプレミスのファイル サーバーに依存するアプリケーションを、アプリケーション コードを変更せずに Azure Files へ移行できます。ハイブリッド アクセスでは、オンプレミス サーバーと Azure VM の両方から、Azure File Syncを使用して同じ共有を同時にマウントできます。構成と設定の共有では、共有に構成ファイルを保存し、複数の App Service インスタンスやコンテナーからマウントできます。開発者ツールの共有では、IDE のプラグイン、ビルド ツール、スクリプトを開発チーム全体で共有できます。
Azure File Sync
Azure File Syncは、Azure ファイル共有を Windows Server のファイル サーバーと同期することで、Azure Files をオンプレミス環境に拡張します。Windows Server は、頻繁にアクセスされるファイルのローカル キャッシュとして機能します。最近アクセスされていないファイルは、ディレクトリには表示されますがローカル ディスク領域を消費しない、クラウド階層化のプレースホルダー ファイルに置き換えられます。ユーザーがプレースホルダーを開くと、Azure File Sync がバックグラウンドで Azure から実際のファイルを透過的にダウンロードします。これにより、ユーザーは高速なローカル アクセスを利用しながら、オンプレミスのストレージ使用量を削減できます。
Azure Files のアクセス層
Azure Files には、2つのパフォーマンス層があります。Standard (HDD ベース)は、一般的なファイル共有、バッチ ワークロード、ホーム ディレクトリに適した、コスト効率の高い層です。保存した GB 数に応じて、1か月単位で課金されます。Premium (SSD ベース)は、データベース、エンタープライズ アプリケーション、金融サービス システムなど、高 IOPS が必要なシナリオ向けです。使用した GB 数ではなく、プロビジョニングした GB 数(容量をあらかじめ割り当てます)に応じて課金されます。ワークロードで一貫した低遅延のファイル I/O が必要な場合は Premium を選択してください。一般的なオフィスのファイル共有では、Standard で十分です。
Queue Storage の概要
Azure Queue Storageは、認証済みの HTTP/HTTPS 呼び出しによって、どこからでもアクセスできる大量のメッセージを保存するサービスです。キューを使用すると、アプリケーション コンポーネント間で非同期かつ分離された通信を実現できます。一方のコンポーネント(プロデューサー)がキューにメッセージを追加し、もう一方のコンポーネント(コンシューマー)が自分のペースでメッセージを取得して処理します。この分離により、プロデューサーとコンシューマーを個別にスケーリングできます。また、コンシューマーの処理が遅い場合や一時的に利用できない場合でも、プロデューサーがブロックされることを防げます。
キューの仕組み
Azure Queue Storage のメッセージ サイズは最大64 KBで、最大7日間保持できます。コンシューマーがメッセージを取得すると、設定可能な期間(既定では30秒の可視性タイムアウト)の間、メッセージは非表示になります。コンシューマーがタイムアウト前にメッセージを処理して削除すると、メッセージは完全に削除されます。削除前にコンシューマーが失敗した場合、メッセージは再び表示され、別のコンシューマーが取得できるようになります。これにより、障害に強い少なくとも1回の配信セマンティクスが実現されます。
# Send a message to a queue
az storage message put \
--account-name mystorageacct \
--queue-name order-queue \
--content 'Process order 12345'
# Get the next message from the queue
az storage message get \
--account-name mystorageacct \
--queue-name order-queueQueue Storage と Service Bus の比較
Azure には2つのキュー サービスがあるため、どちらを使用するか理解しておくことが重要です。Queue Storageは、非常に大規模なシンプルなキュー(最大500 TB)を提供し、HTTP ベースのポーリングを使用します。数百万件のメッセージを扱う基本的なプロデューサーとコンシューマーの分離に適しています。Azure Service Busは、メッセージの順序付け(FIFO)、デッドレター キュー、セッション、重複検出、複数のサブスクライバーを持つトピック、トランザクションなど、高度な機能を備えたエンタープライズ メッセージング サービスです。大規模なシンプルな分離には Queue Storage を使用してください。エンタープライズ向けのメッセージング保証や、複数のコンシューマーへのパブリッシュ/サブスクライブによるファンアウトが必要な場合は Service Bus を使用してください。
Azure Functions と Queue Storage
Queue Storage と Azure Functionsを組み合わせるパターンは非常によく使われます。Web アプリケーションが注文メッセージをキューに追加し(プロデューサー)、Queue トリガーを持つ Azure Function が各注文を処理します(コンシューマー)。Function は、キューで待機しているメッセージ数に基づいて自動的にスケーリングされます。メッセージが多いほど、Function のインスタンス数が増えます。このパターンにより、Web フロントエンドと注文処理ロジックを分離できます。また、処理サービスが一時的に停止していても注文が失われないようにし、トラフィックの急増にもシステムが適切に対応できるようにします。
Table Storage: NoSQL キーと値
Azure Table Storageは、構造化された非リレーショナル データを大規模かつ低コストで保存するための NoSQL キーと値のストアです。データはテーブル(リレーショナル テーブルではなく、コレクションのようなもの)に整理され、各行はパーティション キー、行キー、および異なる型の最大252個の追加プロパティを持つエンティティです。Table Storage はスキーマレスであり、同じテーブル内の行ごとに異なるプロパティを持てます。デバイスのテレメトリやユーザー設定のように、キーによる高速な検索が必要なシナリオに適していますが、JOIN や複雑なクエリはサポートしていません。
Azure Files のセキュリティ
Azure Files は2つの認証方法をサポートしています。ストレージ アカウント キーは、アカウントのマスター キーを使用して完全なアクセス権を付与します。シンプルですが、制御が粗い方法です。ID ベースの認証では、Microsoft Entra ID(クラウド専用 VM の場合)またはActive Directory Domain Services(ハイブリッド環境やオンプレミスのドメイン参加済みマシンの場合)を使用して認証します。ID ベースの認証では、オンプレミスの Windows ファイル サーバーと同じように、共有内のフォルダーやファイルに対してユーザー単位およびグループ単位のアクセス制御リスト (ACL)を設定できます。複数のユーザーが利用するエンタープライズ ファイル共有では、この方法が推奨されます。
適切なストレージ サービスの選択
ストレージ サービスの選択をまとめると、次のようになります。Blob Storageは、API または URL 経由でアクセスする非構造化オブジェクト(画像、動画、バックアップ、任意のファイル)向けです。Azure Filesは、SMB/NFS 経由で OS にマウントするドライブを必要とし、複数のサーバーやユーザーで共有する構造化ファイル システム向けです。Queue Storageは、アプリケーション コンポーネント間で永続的な非同期メッセージングを行うためのサービスです。Table Storageは、キーによる高速な検索が必要な構造化 NoSQL キーと値データを低コストで保存するためのサービスです。複雑な NoSQL 要件には、Table Storage より高機能でスケーラブルな後継サービスである Cosmos DB が適しています。
クイックチェック
このレッスンで学んだ Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、次のことを学びました。Azure Files は、既存のアプリケーションと統合できる SMB/NFS 対応のクラウド ファイル共有を提供し、Azure File Sync を介してオンプレミス サーバーと同期できます。Queue Storage は、少なくとも1回のメッセージ配信によって、アプリケーション コンポーネント間の信頼性の高い非同期分離を実現します。また、Table Storage は、構造化データ向けに、コスト効率の高いスキーマレス NoSQL キーと値のストアを提供します。次は、ディスク ストレージの種類と、SAS トークンおよびプライベート エンドポイントを使用したストレージのセキュリティについて学びます。
よくある質問
「Azure Files と Queue Storage」レッスンは無料ですか?
はい。「Azure Files と Queue Storage」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Azure Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Azure Fundamentalsコースには全4レッスンが含まれています。
「Azure Files と Queue Storage」で何を学びますか?
Azure Files を使用して SMB または NFS プロトコルでクラウドベースのファイル共有をマウントし、永続的なメッセージ キューを備えた Queue Storage でアプリケーション コンポーネントを分離します。 ブラウザで直接実行するハンズオンコードでAzure Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Azure Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAzure Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Azure Files と Queue Storage」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAzure Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのAzure Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Azure Storage Accounts
- Blob Storage:クラウド向けオブジェクト ストレージ
- Azure Files と Queue Storage
- ディスク ストレージとストレージ セキュリティ