PR

【超簡単】S3のオブジェクトバージョニングをAWS CLIで操作する

AWS

S3のオブジェクトバージョニングを有効にすることで、誤ってデータを上書き・削除してしまった場合でも復元が可能になります。本記事では、AWS CLIを使ってバージョニングの設定方法や、特定のバージョンを取得する方法を詳しく解説します。

バージョニングが有効か確認

バケットのバージョニングの状態を確認するには、以下のコマンドを実行します。

aws s3api get-bucket-versioning --bucket <バケット名>

出力例:

{
    "Status": "Enabled"
}

何も表示されない場合、バージョニングは無効です。

バージョニングを有効化する

有効化するには、以下のコマンドを実行します。

aws s3api put-bucket-versioning --bucket <バケット名> --versioning-configuration Status=Enabled

3. オブジェクトバージョンを取得する

S3内のオブジェクトのバージョン履歴を取得するには、以下のコマンドを実行します。

aws s3api list-object-versions --bucket <バケット名> --prefix <オブジェクトのキー>

出力例:

{
    "Versions": [
        {
            "ETag": "\"e3b0c44298fc1c149afbf4c8996fb924\"",
            "Size": 1234,
            "StorageClass": "STANDARD",
            "Key": "folder1/example.txt",
            "VersionId": "3/L4kqtJlcpXroDTDmJ+gdC3+RT1u2vHU",
            "IsLatest": true,
            "LastModified": "2025-01-28T10:20:30.000Z",
            "Owner": {
                "DisplayName": "owner-name",
                "ID": "owner-id"
            }
        },
        {
            "ETag": "\"a9b1c43218fc1d149ffbf4c8996ab134\"",
            "Size": 1200,
            "StorageClass": "STANDARD",
            "Key": "folder1/example.txt",
            "VersionId": "2/L4kqtJlcpXroDTDmJ+gdC3+RT1u2vHU",
            "IsLatest": false,
            "LastModified": "2025-01-27T09:15:00.000Z",
            "Owner": {
                "DisplayName": "owner-name",
                "ID": "owner-id"
            }
        }
    ],
    "DeleteMarkers": []
}

このリストで、どのバージョンが最新かを確認できます。

バージョンIDを使った特定バージョンのダウンロード

特定のバージョンを取得するには、バージョンIDを指定してダウンロードします。

コマンド例

aws s3api get-object --bucket <バケット名> --key <オブジェクトのキー> --version-id <バージョンID> <出力ファイル名>

補足

  • バージョニングが無効な場合: 更新履歴は取得できません。
  • 削除マーカーの確認: 削除されたオブジェクトの記録も DeleteMarkers として表示されます。

まとめ

S3のオブジェクトバージョニングを有効にすることで、誤ってデータを削除・上書きしてしまった場合でも復元が可能になり、データの安全性を高めることができます。

本記事では、AWS CLIを使って以下の操作を行う方法を解説しました。

バージョニングの状態を確認する方法
バージョニングを有効化する方法
オブジェクトのバージョン履歴を取得する方法
特定バージョンのデータを取得する方法

バージョニングは、デフォルトでは無効になっているため、手動で設定する必要があります。ストレージコストが増える可能性があるため、運用時には不要なバージョンを定期的に管理することも重要です。

S3のバージョニングを活用して、大切なデータを守りましょう!

タイトルとURLをコピーしました