S3クライアントアクセスに関するNASデータの要件
S3アクセス用にNASファイルとディレクトリをマッピングする場合は、互換性の問題がいくつかあることを理解しておくことが重要です。S3 NASバケットを使用してサービスを提供する前に、NASファイル階層の調整が必要になる場合があります。
S3 NASバケットは、S3バケット構文を使用してそのディレクトリをマッピングすることでNASディレクトリへのS3アクセスを提供し、ディレクトリツリー内のファイルはオブジェクトとして表示されます。オブジェクト名は、S3バケット設定で指定されたディレクトリに対するファイルのパス名をスラッシュで区切って指定します。
このマッピングでは、S3 NASバケットを使用してファイルとディレクトリが提供される場合、いくつかの要件が課せられます。
-
S3名は1024バイトに制限されているため、パス名が長いファイルにS3を使用してアクセスすることはできません。
-
ファイル名とディレクトリ名は255文字に制限されているため、オブジェクト名の連続するスラッシュ以外の文字は255文字以下にする必要があります。
-
s3では、バックスラッシュ(「\」)で区切られたSMBパス名は、代わりにスラッシュ(「/」)文字を含むオブジェクト名として表示されます。
-
マッピングされたNASディレクトリツリーに、合法的なS3オブジェクト名の一部のペアを共存させることはできません。たとえば、有効なS3オブジェクト名「part1/part2」と「part1/part2/part3」は、NASディレクトリツリーに同時に存在できないファイルにマッピングされます。これは、「part1/part2」が名のファイルで、もう一方のディレクトリにあるためです。
-
「part1/part2」が既存のファイルである場合、「part1/part2/part3」のS3作成は失敗します。
-
「part1/part2/part3」が既存のファイルである場合、S3による「part1/part2」の作成または削除は失敗します。
-
既存のオブジェクト(バージョン管理されていないバケット内の)が既存のオブジェクトの名前に一致するS3オブジェクトの作成で置き換えられます。このオブジェクトはNASで保持されますが、完全に一致する必要があります。上記の例では、名前が衝突しても一致しないため、既存のオブジェクトが削除されることはありません。
-
オブジェクトストアは多数の任意の名前をサポートするように設計されていますが、NASディレクトリ構造では、1つのディレクトリに多数の名前が配置されているとパフォーマンスの問題が発生する可能性があります。特に、スラッシュ(/)文字が含まれていない名前は、すべてNASマッピングのルートディレクトリに配置されます。「NASに対応していない」名前を多用するアプリケーションは、NASマッピングではなく実際のオブジェクトストアバケットでホストする方が適しています。