Amazon S3のバージョニングを有効にしてみた
はじめに
こんにちは、 岩崎 です。
本記事では、S3のバージョニング機能を有効にすることでどのようなことができるのかを実際に試してみました。
バージョニングの機能について詳しく説明されているDevelopersIOの記事がございますので、詳細を知りたい方はこちらをご覧ください。
やってみる
S3バケットのバージョニングを有効にする
S3バケットのバージョニングを有効にします。 バケット作成時でも作成後でも有効にすることができます。
作成時では、「バージョニングを有効にする」を選択します。
すでに作成されているバケットでバージョニングを有効にするには、プロパティの「バケットのバージョニング」の編集から、「バージョニングを有効にする」を選択します。
ファイルをアップロードしてみる
バージョニングを有効にしたら、ファイルをアップロードしてみます。 今回は、下記のHTMLファイルをアップロードしてみます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1>Hello World!</h1>
<p>テストページです!</p>
</body>
</html>
次にアップロードしたファイルを選択して、「開く」をクリックします。
アップロードしたHTMLファイルがブラウザで開くことができます。 下記画像のように表示されます。
ファイルを更新してみる
HTMLファイルの中身を下記のように変更して、再度アップロードします。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1>Hello World!</h1>
<p>テストページを更新しました!</p>
</body>
</html>
アップロードが完了しましたら、先ほど同様ファイルを選択して「開く」をクリックします。
HTMLファイルが更新され、表示されている文字が変わっているのが確認できました。
最初にアップロードしたファイルはどこへ
バケット内には一つのindex.htmlのみがあるように見えています。
バケット内のファイルをクリックし、「バージョン」を選択します。 二つのバージョンがあるのが確認できます。
「(現行バージョン)」となっている方が、新しいバージョンになります。 最終更新日時を確認しても、上部が新しいバージョンであることが確認できます。
下のバージョンにチェックをつけて「開く」をクリックしてみると、最初にアップロードしたHTMLファイルのブラウザ画面を確認することができます。
この画面から、ファイルをダウンロードしたり、削除したりなどのアクションをすることができます。
削除してしまったファイルを復元してみる
ファイルを誤って削除してしまった場合や元に戻したい場合、バージョニングを有効にしておくことで解決します。
バケットの画面に戻り、アップロードしたindex.htmlを選択して削除してみます。
確認画面が出るので、テキスト入力フィールドに「削除」と入力して、オブジェクトを削除します。
バケットからindex.htmlが削除されました。
復元するには、バージョンの表示をオンにします。
削除したファイルと削除マーカーが表示されます。 今回は削除マーカーのみを選択して削除します。
削除が完了し、バージョン表示をオフにすると、削除前と同じように、バケット内にindex.htmlファイルがあることが確認できます。
現行バージョンを削除してみる
バージョンを一つ前に戻してみます。 オブジェクトのバージョンの画面から、現行バージョンを削除してみます。
現行バージョンは、最新のHTMLファイルであることが、「開く」から確認できます。
現行バージョンを選択して、削除を実行します。
完了したら、バージョンの欄が一つ減り、現行バージョンが最初にアップロードしたファイルになっています。
バケット内を確認してみても、index.htmlファイルがあることが確認でき、中身も更新前のファイルであることが確認できます。
まとめ
本記事では、S3のバージョニング機能の実用的な活用方法を紹介しました。
バージョニングを有効にすることで、ファイルの更新履歴を保持し、誤って削除したファイルの復元や以前のバージョンへの戻し方が可能になります。
具体的には、HTMLファイルのアップロードと更新、ファイルの削除と復元、そして現行バージョンの削除による以前のバージョンへの戻し方を実演しました。これらの機能は、データの安全性を高め、ミスからの復旧を容易にするため、S3を使用する際に非常に有用なツールとなります。
参考になりましたら幸いです。
参考資料
S3 バケットでのバージョニングの使用 - Amazon Simple Storage Service
絵で見て 3分でおさらいする Amazon S3 のバージョニングとライフサイクル | DevelopersIO
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。