メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

バケットの制約と制限

各バケットは、それを作成した AWS アカウントによって所有されます。各 AWS アカウントは、同時に最大 100 個のバケットを所有できます。バケットの所有権は譲渡できませんが、バケットが空の場合は削除できます。バケットを削除するとそのバケット名は再度利用できるようになりますが、さまざまな理由により、削除した本人が使用できないことがあります。例えば、他のアカウントがその名前でバケットを作成した可能性があります。または、削除した名前が再度利用可能になるまでにしばらく時間がかかることもあります。このため、同じバケット名を使いたい場合は、バケットを削除しないでください。

1 つのバケット内に格納できるオブジェクトの数に制限はありません。また、使用するバケットの数によってパフォーマンスに差が出ることもありません。すべてのオブジェクトを 1 つのバケットに格納してもかまいませんし、複数のバケットに分けて整理してもかまいません。

バケット内に別のバケットを作ることはできません。

Amazon S3 の高可用性技術は、GET、PUT、LIST、および DELETE オペレーションに重点を置いています。バケットオペレーションは中央集中型のグローバルリソーススペースに対して作用するため、お使いのアプリケーションの高可用性コードパスでバケットの作成や削除を行うのは適切ではありません。バケットの作成や削除は、個別の初期化や、頻繁に実行しないセットアップルーチンで実行するほうが適しています。

注記

アプリケーションが自動的にバットを作成する場合は、命名の衝突が起きないようなバケット命名スキームを使用してください。特定のバケット名が既に使用されている場合は、異なるバケット名をアプリケーションロジックが選択するようにしてください。

バケット命名規則

すべてのバケット名を DNS 命名規則に準拠させることを推奨します。これらの規則は、米国スタンダードリージョンを除くすべてのリージョンで強制されます。

注記

AWS マネジメントコンソールを使用する場合、バケット名はすべてのリージョンで DNS 準拠である必要があります。

DNS 準拠のバケット名を使用することにより、お客様は新しい機能や運用の改良のメリットを受けることができ、バケットへの仮想ホスト形式のアクセスのサポートも提供されます。米国スタンダードリージョンでは、現在は DNS に準拠しないバケット名も使用できますが、今後数か月以内に同じ DNS 準拠のバケット名規則に移行する予定です。これにより、Amazon S3 バケットの命名方法がシンプルで一貫したものになります。DNS 準拠のバケット名の規則は次のようになります。

  • バケット名は、3~63 文字以内にする必要があります。

  • バケット名は、1 つのラベルまたは一連の複数のラベルとして指定します。隣り合うラベルは単一のピリオドで区切ります。バケット名には、小文字の英文字、数字、およびハイフン(-)を含めることができます。各ラベルの先頭および末尾は、小文字の英文字または数字にする必要があります。

  • バケット名は、IP アドレスの形式(192.168.5.4 など)にはできません。

  • SSL と共に仮想ホスティング形式のバケットを使用した場合、SSL ワイルドカード証明書は、ピリオドを含まないバケットのみと一致します。この問題を回避するには、HTTP を使用するか、または独自の証明書検証ロジックを記述します。

以下は有効なバケット名の例です。

  • myawsbucket

  • my.aws.bucket

  • myawsbucket.1

以下は無効なバケット名の例です。

無効なバケット名 Comment
.myawsbucket バケット名の先頭にはピリオド(.)を使用できません。
myawsbucket. バケット名の末尾にはピリオド(.)を使用できません。
my..examplebucket ラベルの間にはピリオドを 1 つだけ使用できます。

DNS に準拠していないバケット名の問題点

米国スタンダードリージョンでは現在バケット名の基準が緩いため、DNS に準拠していないバケット名が使用される可能性があります。たとえば、MyAWSBucket には大文字が使われていますが、有効なバケット名です。このバケットに、仮想ホスト形式のリクエスト(http://MyAWSBucket.s3.amazonaws.com/yourobject)を使用してアクセスしようとすると、URL はバケット myawsbucket でなく、バケット MyAWSBucket に解決されます。このため、Amazon S3 は "bucket not found" エラーを返します。

このような問題を防ぐため、ベストプラクティスとして、バケットを作成するリージョンに関係なく常に DNS 準拠のバケット名を使用することを推奨します。バケットへの仮想ホスト形式のアクセスの詳細については、「バケットの仮想ホスティング」を参照してください。

米国スタンダードリージョンのバケット名のルールでは、バケット名は最長 255 文字で、バケット名には大文字、小文字、数字、ピリオド(.)、ハイフン(-)、アンダースコア(_)の任意の組み合わせを使用できます。

このページの内容: