ONTAPでのS3マルチプロトコルのサポート
ONTAP 9 12.1以降では、S3プロトコルを実行するクライアントが、NFSプロトコルとSMBプロトコルを使用するクライアントに提供されるデータと同じデータに再フォーマットすることなくアクセスできるようになりました。この機能により、NASデータを引き続きNASクライアントに提供しながら、S3アプリケーション(データマイニングや人工知能など)を実行するS3クライアントにオブジェクトデータを提供できます。
S3マルチプロトコル機能は次の2つのユースケースに対応します。
-
S3クライアントを使用した既存のNASデータへのアクセス
従来のNASクライアント(NFSまたはSMB)を使用して作成された既存のデータがNASボリューム(FlexVolまたはFlexGroupボリューム)に格納されている場合は、S3クライアントで分析ツールを使用してデータにアクセスできるようになります。
-
NASプロトコルとS3プロトコルの両方を使用してI/Oを実行できる、最新のクライアント向けのバックエンドストレージ
NASプロトコルとS3プロトコルの両方を使用して同じデータの読み取りと書き込みが可能なSparkやKafkaなどのアプリケーションに、統合アクセスを提供できるようになりました。
S3マルチプロトコルのサポートの仕組み
ONTAPのマルチプロトコルサポートでは、同じデータセットをファイル階層として、またはバケット内のオブジェクトとして表示できます。そのために、ONTAPは「S3 NASバケット」を作成します。このバケットを使用すると、S3クライアントはS3オブジェクト要求を使用してNASストレージ内のファイルを作成、読み取り、削除、列挙できます。このマッピングは、NASセキュリティ設定に準拠しており、ファイルとディレクトリのアクセス権限を監視し、必要に応じてセキュリティ監査証跡に書き込みます。
このマッピングは、指定されたNASディレクトリ階層をS3バケットとして提供することで実現されます。ディレクトリ階層内の各ファイルはS3オブジェクトとして表されます。S3オブジェクトの名前は、マッピングされたディレクトリから下への相対パスで、ディレクトリ境界はスラッシュ(/)で表されます。
ONTAPで定義されたS3ユーザは、NASディレクトリにマッピングされるバケット用に定義されたバケットポリシーに従って、このストレージにアクセスできます。これを実現するには、S3ユーザとSMB / NFSユーザの間にマッピングを定義する必要があります。SMB / NFSユーザのクレデンシャルはNAS権限のチェックに使用され、これらのアクセスから発生する監査レコードに含まれます。
SMBクライアントまたはNFSクライアントによって作成されたファイルは即座にディレクトリに配置されるため、クライアントからはデータが書き込まれる前に参照できます。S3クライアントは異なるセマンティクスを想定しており、すべてのデータが書き込まれるまで新しいオブジェクトはネームスペースに表示されません。S3からNASストレージへのこのマッピングでは、S3のセマンティクスを使用してファイルが作成され、S3の作成コマンドが完了するまでファイルが外部に表示されません。
S3 NASバケットのデータ保護
S3 NASの「バケット」は、S3クライアントのNASデータの単なるマッピングであり、標準のS3バケットではありません。そのため、NetApp SnapMirror S3機能を使用してS3 NASバケットを保護する必要はありません。代わりに、SnapMirrorの非同期ボリュームレプリケーションを使用して、S3 NASバケットを含むボリュームを保護できます。SnapMirror同期およびSVMディザスタリカバリはサポートされません。
ONTAP 9 .14.1以降では、MetroCluster IPおよびFC構成のミラーされたアグリゲートとミラーされていないアグリゲートでS3 NASバケットがサポートされます。
詳細はこちらをご覧ください "SnapMirror非同期"。
S3 NASバケットの監査
S3 NASバケットは従来のS3バケットではないため、バケットに対するアクセスを監査するようにS3監査を設定することはできません。詳細については、をご覧ください "S3の監査"。
ただし、S3 NASバケットにマッピングされたNASファイルとディレクトリのアクセスイベントは、従来のONTAP監査手順を使用して監査できます。そのため、S3処理でNASの監査イベントがトリガーされることがありますが、次の例外があります。
-
S3クライアントアクセスがS3ポリシー設定(グループポリシーまたはバケットポリシー)で拒否された場合、イベントのNAS監査は開始されません。これは、SVMの監査チェックの前にS3権限がチェックされるためです。
-
S3 GET要求のターゲットファイルのサイズが0の場合、GET要求には0のコンテンツが返され、読み取りアクセスはログに記録されません。
-
S3 GET要求のターゲットファイルがユーザにトラバース権限がないフォルダにある場合は、アクセスの試行が失敗し、イベントはログに記録されません。
詳細はこちらをご覧ください "SVMでNASイベントを監査する"。
オブジェクトのマルチパートアップロード
ONTAP 9 .16.1以降では、FlexGroupボリュームで有効になっている場合にオブジェクトマルチパートアップロードがサポートされ"高度な容量分散"ます。
NASファイルストレージでのオブジェクトマルチパートアップロードを使用すると、S3プロトコルクライアントで大きなオブジェクトを小さなパートとしてアップロードできます。オブジェクトマルチパートアップロードには次の利点があります。
-
オブジェクトを並行してアップロードできます。
-
アップロードに失敗した場合や一時停止した場合は、まだアップロードされていないパーツのみをアップロードする必要があります。オブジェクト全体のアップロードを再開する必要はありません。
-
オブジェクトのサイズが事前にわかっていない場合(大きなオブジェクトがまだ書き込まれている場合など)、クライアントはオブジェクトの一部のアップロードをただちに開始し、オブジェクト全体が作成されたあとにアップロードを完了できます。
マルチパートアップロードでは、次のS3処理がサポートされます。
-
AbortMultipartUpload
-
CompleteMultipartUpload
-
CreateMultipartUpload
-
ListMultipartUpload
S3とNASの相互運用性
ONTAP S3 NASバケットは、ここに記載されているものを除き、標準のNASおよびS3機能をサポートします。
NAS機能は現在、S3 NASバケットではサポートされていません。
- FabricPoolの大容量階層
-
S3 NASバケットをFabricPoolの大容量階層として設定することはできません。
S3機能は現在、S3 NASバケットではサポートされていません。
- AWSユーザメタデータ
-
-
S3ユーザメタデータの一部として受信したキーと値のペアは、現在のリリースではオブジェクトデータとともにディスクに格納されません。
-
プレフィックスが「x-amz-meta」の要求ヘッダーは無視されます。
-
- AWSタグ
-
-
PUT Object要求とMultipart Initiate要求では、プレフィックスが「x-amz-tagging」のヘッダーは無視されます。
-
既存のファイルのタグを更新する要求(PUT、GET、DELETE要求などに?tagging query-stringが指定されている)は、エラーで拒否されます。
-
- バージョン管理
-
バケットのマッピング設定でバージョン管理を指定することはできません。
-
null以外のバージョン指定(versionId=xyz query-string)を含む要求は、エラー応答を受信します。
-
バケットのバージョン管理状態を変更する要求が拒否され、エラーが発生します。
-