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

ストレージクラス

Amazon S3 内にある各オブジェクトには、ストレージクラスが関連付けられています。たとえば、バケット内のすべてのオブジェクトをリストすると、コンソールにリスト内のすべてのオブジェクトのストレージクラスが表示されます。

Amazon S3 は保存するオブジェクト用の次のストレージクラスを提供します。 ユースケースシナリオおよびパフォーマンスアクセス要件を考慮して 1 つを選択します。 このストレージクラスはすべて高度な耐久性を提供します.

アクセス頻度の高いオブジェクトのストレージクラス

パフォーマンスが大きく影響するユースケース (ミリ秒単位のアクセス時間を必要とする場合) とアクセス頻度の高いデータには、Amazon S3 が次のストレージクラスを提供します。

  • STANDARD—デフォルトのストレージクラスです。オブジェクトのアップロード時にストレージクラスを指定しない場合、Amazon S3 は STANDARD ストレージクラスを割り当てます。

     

  • REDUCED_REDUNDANCY—低冗長化ストレージ (RRS) のストレージクラスは、それほど重要ではない再生可能なデータを、STANDARD ストレージクラスより低いレベルの冗長性で保存することができます。

    重要

    このストレージクラスの使用は推奨しません。コスト効果が良いのは STANDARD ストレージクラスです。

    耐久性において、RRS オブジェクトの平均年間予測喪失率は 0.01% です。 RRS オブジェクトが紛失した場合、Amazon S3 はそのオブジェクトへのリクエストにエラー 405 を返します。

アクセス頻度の低いオブジェクトのストレージクラス

STANDARD_IAONEZONE_IA のストレージクラスは、存続期間が長く、アクセスが頻繁ではないデータ用に設計されています。(IA はアクセスが頻繁ではないことを意味します。) STANDARD_IA と ONEZONE_IA のオブジェクトはミリ秒単位のアクセスで使用できます (STANDARD ストレージクラスと似ています)。Amazon S3 ではこうしたオブジェクトの取り出し料金が発生するため、アクセスが頻繁ではないデータに最適です。料金の詳細については、Amazon S3 料金表を参照してください。

例として、STANDARD_IAONEZONE_IA のストレージクラスを選択したとします。

  • バックアップの保存

  • アクセスが頻繁ではないが、ミリ秒単位のアクセスを必要とする旧いデータに適しています。例として、データのアップロード時に STANDARD ストレージクラスを選択し、Amazon S3 がオブジェクトを STANDARD_IA または ONEZONE_IA クラスに移動するようにライフサイクル設定を使用したとします。ライフサイクル管理の詳細については、「オブジェクトのライフサイクル管理」を参照してください。

注記

STANDARD_IAONEZONE_IA ストレージクラスは、少なくても 30 日間保存する予定でサイズが 128 KB 以上あるオブジェクトに最適です。オブジェクトが 128 KB 以下の場合、Amazon S3 は 128 KB に相当する料金を請求します。最低期間の 30 日以前にオブジェクトを削除した場合は、30 日分の料金が発生します。料金の詳細については、Amazon S3 料金表を参照してください。

ストレージクラスの違いについては下記をご覧ください。

  • STANDARD_IA—Amazon S3 は、地理的に分離された複数のアベイラビリティーゾーン間でオブジェクトデータを重複して保存します (STANDARD ストレージクラスに似ています)。STANDARD_IA オブジェクトはアベイラビリティーゾーンに障害が発生した場合の回復性に優れています。このストレージクラスは ONEZONE_IA クラスよりも優れた高可用性と回復性を提供します。

     

  • ONEZONE_IA—Amazon S3 はオブジェクトデータを 1 つのアベイラビリティーゾーンでのみ保存するので、STANDARD_IA よりも安価になります。ただし、地震や洪水といった災害によるアベイラビリティーゾーンの物理的な損失時においてデータの回復性はありません。ONEZONE_IA ストレージクラスは STANDARD_IA に並ぶ耐久性を備えていますが、その可用性と回復性は劣ります。ストレージクラスの耐久性と可用性の比較情報については、このセクションにある耐久性と可用性をまとめた表をご覧ください。料金については、Amazon S3 料金表を参照してください。

次の構成を推奨します。

  • STANDARD_IA—プライマリまたは再作成できないデータのコピーでのみ使用してください。

  • ONEZONE_IA—アベイラビリティーゾーンに障害が発生した場合にデータを再作成できる場合や、クロスリージョンレプリケーション (CRR) 設定時のオブジェクトレプリカで使用してください。

GLACIER ストレージクラス

GLACIER ストレージクラスは、データアクセスが頻繁でないデータのアーカイブに適しています。アーカイブされたオブジェクトにはリアルタイムでアクセスできません。これらにアクセスする前に、まずオブジェクトを復元する必要があります。詳細については、「アーカイブされたオブジェクトの復元」を参照してください。このストレージクラスは STANDARD ストレージクラスと同様の耐久性と回復性を提供します。

重要

GLACIER ストレージクラスを選択すると、Amazon S3 は、低コストの Amazon Glacier サービスを使用してオブジェクトを保存します。オブジェクトは Amazon Glacier に保存されますが、引き続き Amazon S3 で管理する Amazon S3 オブジェクトであり、Amazon Glacier を介して直接アクセスすることはできません。

GLACIER ストレージクラスに関して以下の点に注意してください。

  • オブジェクトを作成する時点で GLACIER をストレージクラスとして指定することはできません。 GLACIER オブジェクトを作成するには、まずストレージクラスとして STANDARD、RRS、STANDARD_IA、ONEZONE_IA のいずれかを使用してオブジェクトをアップロードします。次に、ライフサイクル管理を使ってこれらのオブジェクトを GLACIER ストレージに移行します。詳細については、「オブジェクトのライフサイクル管理」を参照してください。

     

  • オブジェクトにアクセスできるようになる前に、まず GLACIER オブジェクトを復元する必要があります (STANDARD、RRS、STANDARD_IA と ONEZONE_IA のオブジェクトはいつでもアクセスできます)。詳細については, GLACIER ストレージクラスへの移行 (オブジェクトのアーカイブ).

Amazon Glacier サービスの詳細については、Amazon Glacier 開発者ガイドを参照してください。

ストレージクラス: 耐久性と可用性の比較

次の表は、各ストレージクラスが提供する堅牢性と可用性をまとめたものです。

ストレージクラス 耐久性 (のために設計) 可用性 (のために設計) その他の考慮事項

スタンダード

99.999999999%

99.99%

なし

STANDARD_IA

99.999999999%

99.9%

STANDARD_IA オブジェクトでは取り出し料金が発生します。このクラスはアクセスが頻繁ではないデータに最適です。料金の詳細については、Amazon S3 料金表を参照してください。

ONEZONE_IA

99.999999999%

99.5%

アベイラビリティーゾーンの損失においては回復性がありません。

GLACIER

99.999999999%

99.99% (オブジェクトを復元後)

GLACIER オブジェクトはリアルタイムでアクセスできません。 これらにアクセスする前に、まずアーカイブされたオブジェクトを復元する必要があります。詳細については、「アーカイブされたオブジェクトの復元」を参照してください。

RRS

99.99%

99.99%

なし

ONEZONE_IA を除くすべてのストレージクラスは、1 つのアベイラビリティーゾーンと他のアベイラビリティーゾーンの一部で同時にデータが完全に失われた際に、データを回復できるように設計されています。

アプリケーションシナリオの要求事項の他に、料金についても考慮してください。ストレージクラスの料金については「Amazon S3 料金表 (Amazon S3 Pricing)」をご覧ください。

オブジェクトのストレージクラスを設定

Amazon S3 API は、次のようにオブジェクトのストレージクラスの設定 (または更新) をサポートします。

  • 新しいオブジェクトの作成時にストレージクラスを指定できます。たとえば、PUT ObjectPOST ObjectInitiate Multipart Upload API を使用してオブジェクトを作成する場合に、x-amz-storage-class リクエストヘッダーを追加してストレージクラスを指定することができます。このヘッダーを追加しない場合は Amazon S3 がデフォルトのストレージクラスである STANDARD を使用します。

     

  • すでに Amazon S3 に保存されているオブジェクトのストレージクラスを変更するには、PUT Object - Copy API を使用してオブジェクトのコピーを作成します。同じバケットでオブジェクトをコピーし、同じキー名を使用して次のようにリクエストヘッダーを指定します。

    • COPY に x-amz-metadata-directive ヘッダーを設定します。

    • x-amz-storage-class を使用したいストレージクラスで設定します。

    バージョニングを有効にしたバケットでは、オブジェクトの特定バージョンのストレージクラスを変更することはできません。このようなオブジェクトをコピーすると、Amazon S3 によってオブジェクトに新しいバージョン ID が設定されます。

     

  • バケットにライフサイクル設定を追加すると、Amazon S3 がオブジェクトのストレージクラスを変更できます。詳細については、「オブジェクトのライフサイクル管理」を参照してください。

オブジェクトのストレージクラスを作成し更新するには、Amazon S3 コンソール、AWS SDK または AWS Command Line Interface (AWS CLI) を使用します。いずれにおいても Amazon S3 へのリクエスト送信には Amazon S3 API が使用されます。