フォルダを使用して Amazon S3 コンソールのオブジェクトを整理する - Amazon Simple Storage Service

フォルダを使用して Amazon S3 コンソールのオブジェクトを整理する

Amazon S3 では、バケットとオブジェクトが主要なリソースであり、オブジェクトはバケットに格納されます。Amazon S3 はフラットな構造であり、ファイルシステムに見られる階層はありません。ただし、構造を分かりやすくするため、Amazon S3 コンソールでは、オブジェクトのグループ化の方法としてフォルダの概念をサポートしています。コンソールでは、これを行うために、グループ化したオブジェクトに共有名のプレフィックスを使用します。つまり、グループ化したオブジェクトに共通の文字列で始まる名前が付けられます。この共通の文字列 (共有プレフィックス) がフォルダ名です。オブジェクト名はキー名とも呼ばれます。

例えば、コンソールに photos という名前のフォルダを作成し、その中に myphoto.jpg という名前のオブジェクトを保存できます。このオブジェクトはキー名 photos/myphoto.jpg で保存され、photos/ がプレフィックスになります。

ここでは、さらに 2 つの例を示します。

  • バケットに logs/date1.txtlogs/date2.txtlogs/date3.txt という 3 つのオブジェクトがある場合、コンソールには logs という名前のフォルダが表示されます。コンソールでフォルダを開くと、date1.txtdate2.txtdate3.txt という 3 つのオブジェクトが表示されます。

  • photos/2017/example.jpg という名前のオブジェクトがある場合、コンソールには、フォルダ photos を含む 2017 という名前のフォルダが表示されます。フォルダ 2017 にはオブジェクト example.jpg が含まれます。

フォルダ内にフォルダを作成できますが、バケット内にバケットを作成することはできません。オブジェクトをフォルダに直接アップロードしてコピーできます。フォルダは、作成、削除、公開することができますが、名前を変更することはできません。オブジェクトはフォルダ間でコピーすることができます。

重要

Amazon S3 にフォルダを作成すると、S3 は、指定したフォルダ名に設定されたキーを持つ 0 バイトのオブジェクトを作成します。例えば、バケットに photos という名前のフォルダを作成した場合、Amazon S3 コンソールは photos/ キーを使用して 0 バイトのオブジェクトを作成します。コンソールは、フォルダの考え方をサポートするために、このオブジェクトを作成します。

Amazon S3 コンソールでは、キー名の最後 (末尾) の文字がスラッシュ (/) になっているすべてのオブジェクト (examplekeyname/ など) がフォルダとして扱われます。キー名の末尾の文字が / のオブジェクトは、Amazon S3 コンソールを使用してアップロードすることができません。ただし、Amazon S3 API で名前の末尾が / のオブジェクトは、AWS Command Line Interface (AWS CLI)、AWS SDK、または REST API を使用してアップロードできます。

名前の末尾が / のオブジェクトは、Amazon S3 コンソールではフォルダとして扱われます。Amazon S3 コンソールには、このようなオブジェクトのコンテンツやメタデータが表示されません。コンソールを使用して名前の末尾が / のオブジェクトをコピーすると、コピー先の場所に新しいフォルダが作成されますが、オブジェクトのデータとメタデータはコピーされません。

フォルダの作成

このセクションでは、Amazon S3 コンソールを使用してフォルダを作成する方法について説明します。

重要

バケットポリシーが原因で、このバケットへのオブジェクトのアップロードを、タグ、メタデータ、またはアクセスコントロールリスト (ACL) の被付与者なしで行うことができない場合は、次の手順を使用してフォルダを作成することはできません。代わりに、空のフォルダをアップロードし、以下の設定をアップロード設定で指定します。

フォルダを作成するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左側のナビゲーションペインで、[バケット] を選択します。

  3. [バケット] リストで、フォルダを作成するバケットの名前を選択します。

  4. バケットポリシーが原因で、暗号化をせずにこのバケットへのオブジェクトのアップロードができない場合は、[Server-side encryption] (サーバー側の暗号化) で [Enable] を選択する必要があります。

  5. [Create folder] を選択します。

  6. フォルダの名前 (例: favorite-pics) を入力します。次に [フォルダの作成] をクリックします。

フォルダの公開

パブリックフォルダまたはバケットが特別に必要な場合を除き、Amazon S3 フォルダまたはバケットへのすべてのパブリックアクセスをブロックすることをお勧めします。フォルダを公開すると、インターネット上の誰もがフォルダ内でグループ化されたすべてのオブジェクトを表示できます。

Amazon S3 コンソールでは、フォルダをパブリックにすることができます。データへのアクセスをプレフィックスで制限するバケットポリシーを作成して、フォルダを公開することもできます。詳細については、「Amazon S3 での Identity and Access Management」を参照してください。

警告

Amazon S3 コンソールでフォルダを公開した後は、非公開に戻すことはできません。代わりに、非公開にするパブリックフォルダ内の各オブジェクトのアクセス許可の設定で、オブジェクトへのパブリックアクセスを禁止する必要があります。詳細については、「ACL の設定」を参照してください。

フォルダサイズの計算

このセクションでは、Amazon S3 コンソールを使用してフォルダのサイズを計算する方法について説明します。

フォルダのサイズを計算するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左側のナビゲーションペインで、[バケット] を選択します。

  3. [Buckets] (バケット) リストで、フォルダが保存されているバケットの名前を選択します。

  4. [Objects] (オブジェクト) リストで、フォルダの名前の横にあるチェックボックスをオンにします。

  5. [Actions] (アクション) を選択し、[Calculate total size] (合計サイズを計算する) を選択します。

注記

ページから移動すると、フォルダ情報 (合計サイズを含む) は利用できなくなります。合計サイズを再度表示するには、計算をやり直す必要があります。

重要
  • バケット内の指定されたオブジェクトまたはフォルダで [Calculate total size] (合計サイズを計算する) アクションを使用すると、Amazon S3 はオブジェクトの総数と合計ストレージサイズを計算します。ただし、不完全または進行中のマルチパートのアップロード、および以前のバージョンまたは最新ではないバージョンは、オブジェクトの総数または合計サイズには含まれません。このアクションは、バケットに保存されている各オブジェクトの現在のバージョンまたは最新バージョンのオブジェクトの総数と合計サイズのみを計算します。

    例えば、バケット内に 2 つのバージョンのオブジェクトがある場合、Amazon S3 のストレージ計算ツールはそれらを 1 つのオブジェクトとしてしかカウントしません。そのため、Amazon S3 コンソールで計算されるオブジェクトの総数は、S3 Storage Lens に表示される [Object Count] (オブジェクト数) メトリクスや Amazon CloudWatch メトリクス、NumberOfObjects によって報告される数と異なる場合があります。同様に、ストレージの合計サイズは、S3 Storage Lens に表示される [Total Storage] (ストレージの合計) メトリクスや CloudWatch に表示される BucketSizeBytes メトリクスと異なる場合があります。

  • 大きなフォルダの合計サイズの計算に時間がかかりすぎる場合は、代わりに Amazon S3 Inventory と Amazon S3 Select を使用することを検討します。まず、S3 インベントリ設定を作成し、大きなフォルダの各オブジェクトのサイズメタデータをインベントリレポートに含めます。最初の S3 インベントリレポートが配信されるまでに最大 48 時間かかることがあります。インベントリレポートが公開されたら、S3 Select の SUM 式を使用してインベントリレポートをクエリし、フォルダ内のオブジェクトのサイズを集計します。詳細については、S3 コンソールを使用したインベントリの設定およびSUM の例を参照してください。

フォルダの削除

このセクションでは、Amazon S3 コンソールを使用して S3 バケットからフォルダを削除する方法について説明します。

Amazon S3 の機能と料金の詳細については、Amazon S3 を参照してください。

S3 バケットからフォルダを削除するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. [バケット] リストで、フォルダを削除するバケットの名前を選択します。

  3. [オブジェクト] リストで、削除するフォルダとオブジェクトの横にあるチェックボックスをオンにします。

  4. [削除] を選択します。

  5. [オブジェクトの削除] ページで、削除ターゲットとして選択したフォルダの名前がリストされていることを確認します。

  6. [オブジェクトの削除] ボックスに「delete」と入力し、[オブジェクトの削除] をクリックします。

警告

このアクションは、指定されたすべてのオブジェクトを削除します。フォルダを削除する場合は、削除アクションが完了するのを待ってから、フォルダに新しいオブジェクトを追加します。そうしなければ、新しいオブジェクトも削除される可能性があります。