LoginSignup
5
2

More than 5 years have passed since last update.

削除した S3 オブジェクトを復元する

Posted at

投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。

参考

目的

S3のバージョニングを有効にして削除したオブジェクトを復元してみます

手順

S3バケットでバージョニングを有効にする
プロパティ>バージョニングの有効化
image.png

テスト用のファイルをアップロード


AWSTemplateFormatVersion: '2010-09-09'
Resources:
  SecurityGroupB:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: vpc-26505643
      GroupDescription: SecurityGroupB
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '443'
        ToPort: '443'
        CidrIp: 0.0.0.0/0
  SecurityGroupC:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: vpc-26505643
      GroupDescription: SecurityGroupC
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '22'
        ToPort: '22'
        CidrIp: 172.0.0.0/32

image.png

編集して再度アップロード

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  SecurityGroupB:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: vpc-26505643
      GroupDescription: SecurityGroupB
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '80'
        ToPort: '80'
        CidrIp: 0.0.0.0/0
  SecurityGroupC:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: vpc-26505643
      GroupDescription: SecurityGroupC
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '22'
        ToPort: '22'
        CidrIp: 172.0.0.0/32

バージョンを表示すると最新バージョンと古いバージョンが表示される
image.png

バージョンを非表示して、オブジェクトを削除する。

バージョン表示すると、削除マーカーと表示される
image.png

S3は、オブジェクトがバージョニングが有効なバケット内にあったため、そのオブジェクトは削除されず、削除マーカーを挿入し、オブジェクトを削除したものとみなします。
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/DeleteMarker.html

ここでは、復元したいので、削除マーカーがついたオブジェクトを選択し削除します
image.png

バージョンを非表示にすると削除されたオブジェクトが復元できています
image.png

復元したオブジェクトは、修正後のファイルなので、一番古いものにリストアするには、再度バージョンを表示し、最新バージョンのオブジェクトを表示して削除します。

image.png

バージョンを非表示にオブジェクトをダウンロードして中身を確認すると最初の状態のファイルにリストアされています

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  SecurityGroupB:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: vpc-26505643
      GroupDescription: SecurityGroupB
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '443'
        ToPort: '443'
        CidrIp: 0.0.0.0/0
  SecurityGroupC:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: vpc-26505643
      GroupDescription: SecurityGroupC
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '22'
        ToPort: '22'
        CidrIp: 172.0.0.0/32
5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2