S3 レプリケーションのステータスを一覧で確認できますか
困っていた内容
S3レプリケーションを設定しているバケット内のオブジェクト全体に対して、レプリケーションが完了しているか、していないのかの状態を確認する方法はありますか?
どう対応すればいいの?
レプリケーション元バケットにおいてS3 Inventory設定を実施し、レプリケーション先にインベントリレポートを発行することにより、レプリケーションステータスを確認することができます。
レプリケーションステータスは、レプリケートされるオブジェクトの現在の状態を表します。ステータスには以下の4つが存在します。
- PENDING:オブジェクトはレプリケーションの対象だが、まだレプリケートされていない。
- COMPLETED:オブジェクトは正常にレプリケートされている。
- FAILED:オブジェクトのレプリケーションに失敗。
- REPLICA:別のバケットからレプリケートされたオブジェクトである。
このインベントリレポートに対して、Amazon Athenaを用いてクエリを実行することで詳細情報を取得することも可能です。
やってみた
1.レプリケーション元バケットからレプリケーション先バケットに対してレプリケーションを設定し、任意のオブジェクトをレプリケーション元バケットにアップロードします。レプリケーション先バケットへのレプリケーションを確認します。
2.レプリケーション元バケット→管理→インベントリ設定からインベントリを設定します。
3.インベントリ設定名、インベントリスコープ、送信先バケット、出力形式、頻度等の設定を行います。追加のメタフィールドでレプリケーションステータスにチェックをつけることで、インベントリレポートにレプリケーションステータスが記載されます。
4.一定時間後、レプリケーション先バケット上でインベントリレポートが作成されていることを確認します。
インベントリレポートは//レプリケーション先バケット名/レプリケーション元バケット名/インベントリ設定名/data以下に作成されます。
5.インベントリレポートを展開します。レプリケーションしたオブジェクトのステータスが全てCOMPLETEDとなっていることを確認できました。
参考情報