このトピックでは、バージョン管理機能を使用する際に発生する可能性のある問題と、そのトラブルシューティング方法およびソリューションについて説明します。
ストレージコスト
バケットでバージョン管理を有効化すると、そのバケット内のすべてのオブジェクトについて、現在のバージョンと過去のバージョンの両方がストレージに保存され、それぞれ課金対象となります。以下は、バージョン管理が有効化されたバケットにおける 30 日間の月のストレージコストを例示したものです。
月の初日に、PutObject 操作を呼び出して 20 GB のオブジェクトをアップロードし、そのストレージクラスを標準ストレージ(ローカル冗長ストレージ)に設定したとします。
月の 16 日目に、PutObject 操作を呼び出してそのオブジェクトに 40 GB のデータを書き込みます。
16 日目に 40 GB のデータを書き込む際、1 日目にアップロードした 20 GB のオブジェクトは削除されません。代わりに、20 GB のオブジェクトは過去のバージョンとして 30 日間保持され、40 GB のオブジェクトが現在のバージョンとして 15 日間保存されます。
従量課金ルールに基づく月次のストレージコストは、次のとおりです:(20 - 5) GB × 0.016 米ドル/GB/月 + 40 GB × 0.016 米ドル/GB/月 ÷ 30 日 × 15 日 = 0.56 米ドル。
ストレージクラス別のストレージコストの詳細については、「ストレージ料金」をご参照ください。
応答速度の低下
問題の説明:バージョン管理が有効化されたバケットに対して GetBucket(ListObjects)操作を実行した際、応答が著しく遅くなります。
原因:ご利用のバケット内の 1 つ以上のオブジェクトに、多数の過去バージョンまたは期限切れの削除マーカーが存在しています。
トラブルシューティング:
GetBucketVersions(ListObjectVersions)操作を呼び出して、ご利用のバケット内のオブジェクトに多数のバージョンが存在するかどうかを確認してください。詳細については、「ListObjectVersions(GetBucketVersions)」をご参照ください。
バケットインベントリ機能を使用して、ご利用のバケット内のオブジェクト情報を表示し、過去バージョンや期限切れの削除マーカーが存在するかどうかを確認してください。詳細については、「バケットインベントリ」をご参照ください。
ソリューション:NonCurrentVersionExpiration アクションを使用して過去バージョンの有効期限を設定し、ExpiredObjectDeleteMarker アクションを使用して期限切れの削除マーカーを削除するライフサイクル管理ルールを設定してください。詳細については、「設定要素」をご参照ください。
データサイズ例外
問題の説明:バケットのオブジェクトページに表示されるオブジェクトの合計サイズが、バケットの概要ページに表示されるストレージ容量の合計と一致しません。
原因:バージョン管理が有効化されています。バージョン管理を有効化した後は、ファイル一覧ページで 表示 をクリックして過去バージョンを表示してください。これにより、すべてのファイルの合計サイズがバケット概要ページのストレージ容量と一致します。