このトピックでは、バージョン管理機能を使用するときに発生する可能性のある問題について説明し、トラブルシューティング方法とソリューションを提供します。
ストレージコスト
バケットのバージョン管理を有効にすると、バケット内のすべてのオブジェクトの現在のバージョンと以前のバージョンのストレージに対して課金されます。 次の例は、バージョン管理が有効なバケットの30日間に発生するストレージコストを説明するために使用されます。
月の初日に、PutObject操作を呼び出してサイズが20 GBのオブジェクトをアップロードし、オブジェクトのストレージクラスをStandard (ローカル冗長ストレージ) に設定したとします。
その月の16日に、PutObject操作を呼び出してオブジェクトに40 GBのデータを書き込みます。
その月のストレージコストを計算する場合、最初の日にアップロードされたオブジェクト (20 GB) は、16日目にオブジェクトに40 GBのデータを書き込んでもバケットから削除されないことに注意してください。 最初の日にアップロードされた最初のオブジェクトは、以前のバージョンとしてバケットに30日間保存され、16日目にアップロードされた40 GBのデータは、オブジェクトの最新バージョンとしてバケットに15日間保存されます。
その月のオブジェクトのストレージコストは、次の式に基づいて計算されます。(20 GB - 5 GB) × 1か月あたりGBあたりのUSD 0.016 + 40 GB × 1か月あたりGBあたりのUSD 0.016 ÷ 30日 × 15日=USD 0.56。
さまざまなストレージクラスのストレージコストの詳細については、「ストレージ料金」をご参照ください。
低い応答速度
問題の説明: バージョン管理が有効なバケットに対するGetBucket (ListObjects) 操作への応答が大幅に遅くなります。
原因: バケット内の1つ以上のオブジェクトに、以前のバージョンまたは期限切れの削除マーカーが多数含まれています。
トラブルシューティング
GetBucketVersions (ListObjectVersions) 操作を呼び出して、バケット内のオブジェクトに多数のバージョンがあるかどうかを確認します。 詳細については、「ListObjectVersions (GetBucketVersions) 」をご参照ください。
バケットインベントリ機能を使用して、バケット内のオブジェクトに関する情報を表示し、オブジェクトに以前のバージョンまたは期限切れの削除マーカーがあるかどうかを確認します。 詳細については、「バケットインベントリ」をご参照ください。
解決策: NonCurrentVersionExpiration操作を使用して以前のバージョンを期限切れにするライフサイクルルールを設定し、ExpiredObjectDeleteMarker操作を使用して期限切れの削除マーカーを削除します。 詳細については、「構成要素」をご参照ください。
データサイズ例外
問題の説明: バケットの [オブジェクト] ページに表示されるオブジェクトの合計サイズが、バケットの [概要] ページの合計ストレージ容量と一致していません。
原因: バケットのバージョン管理が有効になっており、すべてのバージョンが [オブジェクト] ページに表示されるわけではありません。 オブジェクトページにすべてのバージョンのオブジェクトを表示するには、オブジェクトリストの右上隅にある [表示] をクリックします。 これにより、[オブジェクト] ページに表示されるオブジェクトサイズが、[概要] ページのバケットストレージの使用状況と常に一致します。