オブジェクト・ストレージのストレージ階層
オブジェクト・ストレージがストレージ層を使用して、必要に応じてアクセス・パフォーマンスを最大化し、可能なかぎりストレージ・コストを最小化する方法について学習します。
オブジェクト・ストレージは、高性能で頻繁にアクセスする「ホット」ストレージ、低頻度でアクセスする「コール」ストレージ、およびほとんどアクセスしない「コールド」ストレージの必要性に対処する個別のストレージ・クラス層を提供します。オブジェクト・ストレージにアップロードされたすべてのオブジェクトは、ストレージ層に割り当てられます。オブジェクトのストレージ層プロパティによって、そのストレージ・コストおよび関連する取得料金が決まります。ストレージ層プロパティは、2つの方法のいずれかでオブジェクトに割り当てられます:
- オブジェクトのアップロード先のバケットのデフォルト・ストレージ層(標準またはアーカイブ)がオブジェクトに自動的に割り当てられます。
- 標準デフォルト・ストレージ層バケットにオブジェクトをアップロードする場合は、許可されているストレージ層(標準、頻発アクセスまたはアーカイブ)をオブジェクトに明示的に割り当てることができます。
標準ストレージ層バケットには、異なるストレージ層が割り当てられたオブジェクトを混在させることができます。オブジェクトがアーカイブまたはリストアされた場合や、層の割当てが変更された場合でも、オブジェクトは標準バケットに残ります。
アーカイブ・ストレージ層バケットには、アーカイブ・ストレージ層が割り当てられたオブジェクトのみを含めることができます。異なるストレージ層が割り当てられたオブジェクトがアーカイブ・バケットに混在することはありません。オブジェクトがリストアされた場合でも、オブジェクトはアーカイブ・バケットに残ります。
どのストレージ層に格納されているデータとも、同じオブジェクト・ストレージ・リソースおよび管理インタフェースを使用してやり取りします。また、各ストレージ層がオブジェクト・ストレージの全機能をサポートしています。特定のストレージ層について知っておく必要のある詳細や相互作用については、該当する機能の範囲および制約の項で説明しています。
層 | ストレージ・コスト | 最小保持期間 | 取得料金 | 可用性SLA |
---|---|---|---|---|
標準 | 最高 | なし | なし | 99.9% |
頻度の低いアクセス | 安い | 31日 | あり | 99% |
アーカイブ | 最低 | 90日 | なし | データはオフラインであり、オブジェクトを読み取る前にリストアする必要があります。リストアには、アーカイブ・ストレージ・リストア・リクエストが行われてから、データの最初のバイトが取得されるまでに最大で約1時間かかります。 |
標準層
標準層は、オブジェクト・ストレージ・サービスのデータに使用されるデフォルトのプライマリ・ストレージ層です。標準ストレージ層は、迅速、即時、頻繁にアクセスする必要があるデータに使用される"ホット"ストレージです。データのアクセシビリティとパフォーマンスは、標準層にデータを格納するために価格が高くなるだけの価値があります。
バケットの作成時にデフォルト・ストレージ層(標準またはアーカイブ)を選択します。バケットの作成時に設定した場合、バケットのデフォルト・ストレージ層を変更することはできません。オブジェクトをバケットにアップロードすると、そのオブジェクトにはバケットのデフォルト・ストレージ層(標準)が自動的に割り当てられます。ただし、オブジェクトのストレージ層は「頻度の低いアクセス」または「アーカイブ」に変更できます。
標準ストレージ層バケットには、異なるストレージ層が割り当てられたオブジェクトを混在させることができます。オブジェクトがアーカイブまたはリストアされた場合や、層の割当てが変更された場合でも、オブジェクトは標準バケットに残ります。
バケットの作成時に標準デフォルト・ストレージ層を選択した場合は、自動階層化を有効にすることもできます。自動階層化を使用すると、データ・アクセス・パターンに基づいて標準ストレージ層と頻度の低いアクセス・ストレージ層の間でオブジェクトを自動的に移動することで、ストレージ・コストを削減できます。詳細については、Auto-Tieringを参照してください。
標準ストレージ層の主なユースケースには、次のものがあります:
- アクセス可能でスケーラブルなデータ、イメージ、ログおよびビデオのコンテンツ・リポジトリ
- アクセス可能なバックアップのリポジトリ
- Hadoop/ビッグ・データのデータ・リポジトリ。大規模なデータセットを格納し、そのデータセットに対してシームレスに操作できる、スケーラブルなストレージ・プラットフォームを提供します。オブジェクト・ストレージのHDFSコネクタは、Apache SparkやMapReduceなどの様々なビッグ・データ分析エンジンへの接続を提供します。この接続により、分析エンジンはオブジェクト・ストレージに格納されているデータを直接操作できます。詳細は、オブジェクト・ストレージHadoopのサポートを参照してください。
頻度の低いアクセス
頻度の低いアクセス層は、アクセス頻度は低いが、必要なときにすぐに入手できる必要があるデータに使用される"クール"ストレージです。ストレージ・コストは標準未満です。
標準デフォルト・ストレージ層バケットにオブジェクトをアップロードする場合は、そのオブジェクトを低コスト頻度の低いアクセス層に明示的に割り当てることができます。
頻度の低いアクセス層には、最小ストレージ保持期間とデータ取得料金があります:
- 頻度の低いアクセス層の最小ストレージ保持期間は31日です。保持要件が満たされる前に頻度の低いアクセス層のオブジェクトを削除または上書きすると、31日間データを格納するための按分コストが請求されます。
- この層に格納されたオブジェクトにアクセスする必要がある場合、GiB単位のデータ取得料金が請求されます。
最小保持ペナルティは、削除および上書きの結果、データが削除された場合にのみ請求されます。バージョン対応バケットでの削除および上書きにより、データが削除されるのではなく以前のバージョンが作成された場合、ペナルティは発生しません。
頻度の低いアクセス・ストレージ層の主なユースケースには、次のものがあります:
-
オンプレミス・データのバックアップ
-
ほとんどアクセスされないバックアップのリポジトリ
-
別のリージョンからレプリケートまたはコピーされたデータのストレージ
アーカイブ
アーカイブ層は、アーカイブ・ストレージ・サービスのデータに使用されるデフォルトのプライマリ・ストレージ層です。アーカイブ・ストレージ層は、ごくまれにしかアクセスしないが長期間保存する必要があるデータに使用される"コールド"ストレージです。
バケットの作成時にデフォルト・ストレージ層(標準またはアーカイブ)を選択します。バケットの作成時に設定した場合、バケットのデフォルト・ストレージ層を変更することはできません。オブジェクトをアーカイブ層のバケットにアップロードすると、そのオブジェクトにはバケットのデフォルト・ストレージ層(アーカイブ)が自動的に割り当てられます。
アーカイブ・ストレージ層バケットには、アーカイブ・ストレージ層が割り当てられたオブジェクトのみを含めることができます。異なるストレージ層が割り当てられたオブジェクトがアーカイブ・バケットに混在することはありません。オブジェクトがリストアされた場合でも、オブジェクトはアーカイブ・バケットに残ります。
アーカイブ層のオブジェクトは、先にリストアしないとアクセスできません。アーカイブ層のコスト効率は、データへのアクセスに必要なリード・タイムを補います。ただし、アーカイブ層には最小ストレージ保持期間と追加のストレージ料金があります:
- アーカイブ層の最小ストレージ保持期間は90日です。保持要件が満たされる前にアーカイブ層のオブジェクトを削除または上書きすると、90日間データを格納するための按分コストが請求されます。
- オブジェクトをリストアすると、これらのオブジェクトはアクセスのために標準層に戻されます。リストアされたオブジェクトが標準クラス層に存在する間、その層に対して請求されます。
最小保持ペナルティは、削除および上書きの結果、データが削除された場合にのみ請求されます。バージョン対応バケットでの削除および上書きにより、データが削除されるのではなく以前のバージョンが作成された場合、ペナルティは発生しません。
アーカイブ・ストレージ層の主なユースケースには、次のものがあります:
- コンプライアンスと監査の義務
- 使用パターンの判別や問題のデバッグを行うためのログ・データの遡及的分析
- 過去の、またはほとんどアクセスされないコンテンツ・リポジトリ・データ
- 将来の分析または法的目的のためにアーカイブを必要とするアプリケーション生成のデータ
自動階層化
自動階層化は、データ・アクセス・パターンをモニターし、1 MiBを超えるオブジェクトを標準層からコスト効果に優れた頻度の低いアクセス層に自動的に移動することで、ストレージ・コストを削減するのに役立ちます。自動階層化はバケット・レベルで有効化され、バケット内のすべてのオブジェクトのデータ・アクセス・パターンをモニターします。任意の標準ストレージ層バケットの自動階層化を作成時に有効にできます。バケット作成後の任意の時点で自動階層化を有効にすることもできます。
オブジェクト、オブジェクト・バージョンまたは以前のオブジェクト・バージョンを頻度の低いアクセス層に移動するライフサイクル・ポリシー・ルールがある場合、自動階層化は有効にできません。必要に応じてルールを削除し、自動階層化を再度有効にしてみてください。
自動階層化を有効にすると、オブジェクトは、頻度の低いアクセスへの移動の資格を得るのに必要な最小アクセス要件およびストレージ要件を満たすまで、標準層に残ります。オブジェクト・ストレージによって頻度の低いアクセスに移動されたオブジェクトが、その後頻繁にアクセスされるようになった場合、そのオブジェクトは自動的に標準層に戻され、取得料金や按分されたストレージ料金が発生することはありません。
取得料金や按分されたストレージ料金が発生しないため、自動階層化を有効にすると、特に次のユース・ケースで高いコスト効果が得られます:
- アクセス・パターンが確立されていない新しいアプリケーション・データ・ストレージ
- アクセス・パターンが変化するデータ・ストレージ
必要な権限
自動階層化を有効にするには、代理でオブジェクトを管理するサービスを認可する必要があります:
-
指定したリージョンで、テナンシのすべてのコンパートメント内のオブジェクト・ストレージのネームスペース、バケット、およびそれらに関連付けられたオブジェクトを管理するサービスを認可するポリシーを作成できます:
Allow service objectstorage-<region_identifier> to manage object-family in tenancy
-
ポリシー動詞
manage
を使用するかわりに、次のいずれかのステートメントを使用して、アクセスの範囲を狭くするポリシーを作成できます:Allow service objectstorage-<region_identifier> to manage object-family in tenancy where any {request.permission='BUCKET_INSPECT', request.permission='BUCKET_READ',request.permission='OBJECT_INSPECT', request.permission='OBJECT_UPDATE_TIER'}
Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name> where any {request.permission='BUCKET_INSPECT', request.permission='BUCKET_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_UPDATE_TIER'}
AWS S3ストレージ層からOCIストレージ層へのマッピング
AWSストレージ層 | OCIストレージ層 |
---|---|
|
|
|
|
|
|
無効なストレージ・クラスは拒否され、INVALID_STORAGE_CLASS例外がスローされます。