「アーカイブ直接読み取り」機能を使用すると、データレイクやクラウドフォトアルバムなどのシナリオで、アーカイブストレージクラスのファイルを事前に解凍することなく直接アクセスできます。この機能は、低いストレージコストを維持しながら、アクセス頻度の低いデータへのリアルタイムアクセスを可能にし、ストレージコストとアクセス効率のバランスを提供します。
解凍して読み取る場合と直接読み取る場合の比較
次の表に、アーカイブ直接読み取りを有効にする前と後の違いを示します。
項目 | アーカイブ直接読み取りが無効 (デフォルト) | アーカイブ直接読み取りが有効 |
取得方法 | 解凍してから読み取り | 直接読み取り |
取得料金① | 低 | 高 |
取得時間 | 分 | ミリ秒 |
①取得料金の詳細については、「OSS の料金」をご参照ください。
アーカイブ直接読み取りを有効にする
OSS コンソール
OSS コンソールにログインします。
左側のナビゲーションウィンドウで バケット をクリックします。[バケット] ページで、目的のバケットを見つけてクリックします。
左側のナビゲーションウィンドウで、[Data Management] > [アーカイブ直接読み取り] を選択します。
[アーカイブ直接読み取り] ページで、[アーカイブ直接読み取り] を有効にします。
表示されるメッセージで、[OK] をクリックします。
ossutil
ossutil を使用する前に、ossutil をインストールする必要があります。
次のコマンドは、
examplebucketという名前のバケットのアーカイブ直接読み取りを有効にします。ossutil api put-bucket-archive-direct-read --bucket examplebucket --archive-direct-read-configuration "{\"Enabled\":\"true\"}"このコマンドの詳細については、「put-bucket-archive-direct-read」をご参照ください。
次のコマンドは、
examplebucketという名前のバケットでアーカイブ直接読み取りが有効になっているかどうかを照会します。ossutil api get-bucket-archive-direct-read --bucket examplebucketこのコマンドの詳細については、「get-bucket-archive-direct-read」をご参照ください。
API
プログラムに高いカスタマイズ要件がある場合は、REST API 操作を直接呼び出すことができます。これを行うには、署名を計算するコードを手動で記述する必要があります。詳細については、「PutBucketArchiveDirectRead」および「GetBucketArchiveDirectRead」をご参照ください。
読み取り操作
アーカイブ直接読み取りを有効にすると、バケット内のアーカイブストレージクラスのファイルに対して、解凍せずに次の読み取り操作を直接実行できます。
権限
Resource Access Management (RAM) ユーザーは、次の権限を持っている必要があります: oss:PutBucketArchiveDirectRead および oss:GetBucketArchiveDirectRead。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。
制限
アーカイブ直接読み取りは、バケット内のアーカイブストレージクラスのファイルにのみ適用されます。コールドアーカイブまたはディープコールドアーカイブストレージクラスのファイルには適用されません。
バケットでアーカイブ直接読み取りが有効になっていて、静的 Web サイトホスティングのデフォルトページまたはデフォルトエラーページを同じバケット内の未解凍のアーカイブ済みオブジェクトに設定した場合、ページへのアクセスは失敗し、403 エラーが返されます。ページにアクセスできるようにするには、デフォルトページとデフォルトエラーページを標準ストレージクラスのファイルに設定することをお勧めします。
課金
バケットのアーカイブ直接読み取りを有効にすると、アーカイブストレージクラスの未解凍のファイルを直接読み取るときに、アーカイブ直接読み取りを使用して取得されたデータ量 (RetrievalDataArchiveDirect) に対して課金されます。リクエストで取得されたデータ量は、
archive_direct_read_sizeログフィールドで示されます。アーカイブストレージクラスからすでに解凍されているファイルを読み取る場合、取得料金は発生しません。詳細については、「データ処理料金」をご参照ください。アーカイブ直接読み取りを使用して取得されるデータ量は、HTTP 接続が確立されたときにリクエストヘッダーで指定されたデータ読み取り範囲によって決まります。データ転送を早期に終了しても、リクエストの課金対象の取得データ量には影響しません。たとえば、100 MB から 200 MB の範囲をリクエストしても、1 バイトしか読み取られずに接続が終了した場合でも、100 MB から 200 MB の範囲全体に対して課金されます。
アーカイブ直接読み取り機能を使用してアーカイブ済みイメージに対してイメージスケーリング操作を実行する場合、OSS は、処理されたイメージのサイズではなく、ソースイメージのサイズに基づいて、アーカイブ直接読み取りを使用して取得されたデータ量を計算します。つまり、イメージが縮小されたために転送に使用される実際の帯域幅が大幅に低くなった場合でも、ソースイメージのサイズに基づいてデータ取得料金が課金されます。たとえば、ソースイメージが 1 GB で 100 KB にスケーリングされた場合、アーカイブ直接読み取りを使用して取得された課金対象のデータ量は 1 GB です。