Azure NetApp Files のオブジェクトREST APIを理解する

Azure NetApp Filesオブジェクト REST API を使用すると、Azure NetApp Files ボリュームに格納されているデータにオブジェクト ベースでアクセスできます。 この機能により、アプリケーションは、データを複製または移行することなく、ファイル ベースのプロトコル (NFS/SMB) とオブジェクト API (S3 互換) の両方を使用して同じデータセットにアクセスできます。

この統合アクセス モデルにより、既存のファイル ベースのデータを、個別のストレージ システム、データ変換ソリューション、またはデータ コピーを必要とせずに、分析、AI、および最新のアプリケーション ワークフローで直接使用できます。

主な概念

バケット

バケットは、ボリューム内のディレクトリのマップされたビューを表し、オブジェクトベースのアクセスのエントリ ポイントとして機能します。

  • バケットはボリュームに関連付けられます。
  • ボリュームを削除すると、関連付けられているバケットが完全に削除されます。

オブジェクト

マップされたディレクトリ階層内の各ファイルは、オブジェクトとして表されます。

  • オブジェクト名は、マップされたディレクトリを基準としたファイル パスから派生します。
  • オブジェクト操作は、ファイルコンテンツに直接作用します。

オブジェクト REST API のしくみ

Azure NetApp Filesボリューム内のディレクトリをオブジェクト バケットにマップし、オブジェクト ベースのアクセス パターンを使用するアプリケーションとサービスがファイル ベースのデータと対話できるようにします。

  • ボリュームのルートを含むディレクトリ パスは、バケットとして公開できます。
  • ディレクトリは、バケット内の論理プレフィックスとして表されます。
  • 各ファイルはオブジェクトとして表されます。
  • オブジェクト パスは、ファイル システム パスに直接対応します。
  • ディレクトリ境界は、 / 区切り記号を使用して表されます。
  • オブジェクト操作では、データの読み取り、書き込み、および列挙を行うことができます。
  • オブジェクト操作は、同等のファイル システム操作に変換されます。

このマッピングにより、アプリケーションはオブジェクト API を使用して、ファイルとして保存されたままのデータを操作できます。

アーキテクチャの概要

次の図は、同じAzure NetApp Files データセットへのファイルとオブジェクトの同時アクセスを示しています。

REST API アーキテクチャのスクリーンショット。

このモデルでは、次の操作を行います。

  • NAS クライアントとアプリケーションは、NFS または SMB を使用してデータにアクセスします。
  • オブジェクト クライアントは、オブジェクト REST API を使用して同じデータにアクセスします。
  • 分析および AI サービス (Azure Databricks、Microsoft Fabric、Azure AI サービスなど) は、オブジェクト ベースのアクセスを使用してAzure NetApp Filesと統合されます。
  • データは、Azure NetApp Filesボリュームに格納されたままです。

オブジェクト アクセス ワークフロー

大まかに言えば、オブジェクト REST API アクセスは次のフローに従います。

  • バケットは、Azure NetApp Files ボリューム内のディレクトリから作成されます。
  • アプリケーションとサービスは、オブジェクト ベースの API を使用して接続します。
  • オブジェクト操作 (読み取り、書き込み、リストなど) は、ファイル システム操作に変換されます。
  • オブジェクト REST API は、アクセス キーを使用して要求を認証し、構成された偽装 ID を使用してファイル アクセスを評価します。
  • データは、複製または移動されずにクライアントに返されます。

このワークフローにより、基になるストレージがファイル システムとして動作し続けている間、アプリケーションはオブジェクト API を使用してデータにアクセスできます。

セキュリティとアクセス許可

オブジェクト REST API には、オブジェクト REST API に固有のプライマリ アクセス制御であるバケット レベルのアクセス許可が導入されています。 バケット構成では、オブジェクト REST API を使用してデータにアクセスするときに偽装されるファイル システム ID も定義されます。 既存の NAS ファイルのアクセス許可は、その偽装された ID に基づいて引き続き適用されます。

  • バケットのアクセス許可は、オブジェクト REST API クライアントがバケットに対する読み取り専用または読み取り/書き込みアクセス権を持っているかどうかを定義します。
  • 認証 ID とファイル システム承認 ID は別の概念です。
    • S3 アクセス キーは、バケットに対してクライアントを認証します。
    • バケットの構成された偽装 ID によって、アクセスできるファイルとディレクトリが決まります。
  • 各バケットは、偽装されたファイル システム ID で構成されます。
    • NFS ボリュームでは、ユーザー ID (UID) とグループ ID (GID) が使用されます。
    • SMB ボリュームでは、ユーザー アカウントが使用されます。
    • デュアル プロトコル ボリュームでは、構成されているセキュリティ スタイルに応じて UID/GID またはユーザー アカウントが使用されます。
  • オブジェクト REST API は、構成された偽装 ID を使用してデータへのアクセスを要求します。 Azure NetApp Files ボリュームの標準ファイルのアクセス許可と ACL は、引き続きその ID に適用されます。
  • ユーザーは、構成された偽装 ID に標準の NFS または SMB アクセス許可を介してアクセスするアクセス許可が既に付与されているファイルとディレクトリにのみアクセスできます。 バケット アクセスでは、マップされたディレクトリまたはボリューム内のすべてのオブジェクトへのアクセスが自動的に付与されるわけではありません。
  • 既存の NAS ACL とファイルのアクセス許可は、オブジェクト REST API アクセスに対して引き続き権限を持ちます。 オブジェクト REST API は、既存の NAS アクセス制御をバイパスしたり置き換えたりしません。
  • SMB および NFS プロトコルを介したファイル アクセスでは、既存の認証および承認モデルが変更なしで引き続き使用されます。
  • オブジェクト REST API との安全な通信には、オブジェクト REST API エンドポイント用に構成された TLS 証明書が必要です。

REST API のセキュリティとアクセス許可のスクリーンショット。

サポートされている操作

  • ListBucket
  • ListObjects / ListObjectsV2
  • GetObject
  • PutObject
  • DeleteObject
  • HeadObject

一般的なシナリオ

オブジェクト REST API により、Azure NetApp Filesの新しいワークロード パターンが有効になります。

REST API の一般的なシナリオのスクリーンショット。

データ分析と AI

データ エンジニアリング チームは、既に Azure NetApp Files ボリュームに格納されている大規模なデータセットを分析する必要があります。 データセットを別のオブジェクト ストレージ サービスにコピーする代わりに、チームはオブジェクト ベースのツールを使用して直接接続し、所定の場所でデータの処理を開始します。 このアプローチにより、ストレージの重複を最小限に抑えながら、分析ワークフローのオンボードを高速化できます。

ハイブリッドアプリケーションと最新化されたアプリケーション

ファイル ベースとオブジェクト ベースの両方のアクセスを必要とするアプリケーションは、複数のコピーを保持することなく、同じデータセットで動作できます。 これにより、レガシ アプリケーションと最新のサービスの共存が可能になり、既存のワークロードを中断することなく段階的な最新化が可能になります。

データ処理パイプライン

データ パイプラインは、オブジェクト ベースのツールを使用してデータセットの取り込み、変換、処理を行うことができますが、データはAzure NetApp Filesに保存されたままです。 これにより、オブジェクト ベースのアクセス パターンに依存するツールとサービスの広範なエコシステムとの統合がサポートされます。

要件と考慮事項

Azure NetApp Files オブジェクト REST API を使用する場合は、次の要件と制限事項を考慮してください。

  • バケットはボリュームに関連付けられ、ボリュームが削除されると削除されます。
  • バケットは、クール アクセス機能を備えた大容量のストレージとして利用できます。
  • バケットは、Azure NetApp Files キャッシュ ボリュームではサポートされていません。
  • バケットには、既存のデータを含むボリュームが必要です。空のボリュームはサポートされていません。
  • オブジェクト REST API エンドポイントへのセキュリティで保護されたアクセスを維持するには、証明書ライフサイクル管理が必要です。
  • あなたはバケット証明書のライフサイクル管理を担います。
  • すべてのAzure Key Vault で診断ログを有効にして、監査証跡をセキュリティ調査に使用できるようにします。
  • ネットワーク アクセス制御リスト (ACL) を構成して、NetApp 仮想ネットワークや承認された顧客の仮想ネットワークなど、承認されたネットワークへのAzure Key Vaultアクセスを制限します。
  • 証明書と S3 資格情報に個別のAzure Key Vault を使用して、最小限の特権のセキュリティ プラクティスに合わせることを検討してください。
  • 可能な場合は、証明書と S3 資格情報のAzure Key Vaultアクセス ポリシーを分離して、運用とセキュリティの境界を明確に維持します。

Note

オブジェクト REST API は、ファイル データへのオブジェクト ベースのアクセスを提供しますが、データの物理的な格納方法は変更されません。 オブジェクト ベースのアクセスはバケット構成とオブジェクト アクセス メカニズムによって制御されますが、ファイル アクセスは引き続き SMB および NFS アクセス許可モデルに従います。

次のステップ