見出し画像

Amazon S3のデータ削除保護機能の使用について

はじめに


2024年6月20日・6月21日の2日間、幕張メッセでAWS Summit Japan 2024 が開催されました。
私が勤めている会社もスポンサーだったため、私はブースで短時間のプレゼンテーション(オファリングやお客様事例のご紹介)をしたり、ブースに来られた方に展示内容の解説をしたりと、忙しくも楽しい2日間を過ごしました。

AWS Summit Japan 2024 開催中の2日間、会場では本当に多数のセッションが開催されていたのですが、私自身は全くセッションを受講できなかったため、2024年7月5日まで100以上のセッションがオンデマンドで配信されているとのことで(太っ腹!)、空き時間に、興味のあるセッションの動画を観たり資料を読んだりして過ごしています。

中でも、AWSサービスのDive Deepセッションは個人的に興味があり、「Dive deep on Amazon S3」というセッションを視聴したので、関連するテーマでブログ記事を書くことにしました。

Dive deep on Amazon S3

「Dive deep on Amazon S3」のアジェンダは以下のとおりです。

  • Amazon Simple Storage Service ( S3 ) とは

  • フロントエンドの理解

  • インデックスの理解

  • ストレージ層の理解

  • Amazon S3 Express One Zone ストレージクラス

  • 誤削除への対策

  • まとめ

フロントエンド、インデックス、ストレージ層は、S3の仕組みの話でした。

  • ピークトラフィックが1PB/秒を超える

  • 350兆個のオブジェクトが格納されており、秒間1億件以上のリクエストが発生する

  • 何百万ものハードドライブ、エキサバイトのデータを管理する

このような凄まじい状況をどのようにコントロールしたり緩和しているのかを知ることができました。なかなかこのようなスケールを経験する機会がないため、想像しただけでワクワクします。

Amazon S3 Express One Zone は、S3 directory bucketという、従来のGeneral purpose bucketとは異なるスケーリングモデルのバケットタイプです。Directory bucketはバケット単位でスケーリングし、はじめから一定性能が提供される特徴があります。
One ZoneなのでAZ障害には耐えられないのですが、耐久性を犠牲にしてでも性能が必要な場合、例えばI/O性能を重視する機械学習のトレーニングなどの用途に向いています。

S3データの誤削除への対策

AWS側でいくらデータの耐久性を上げる対策をしても、ユーザーがデータを誤削除してしまうことまでは防げません。正当な操作か、誤った操作なのか見分けがつかないためです。間違ってS3のデータを削除してしまわないように、ユーザー側で対策を行う必要があります。
緩和策として以下の4種類が挙げられていました。

  • S3 Versioning

  • S3 Replication

  • S3 Object Lock

  • Buckups

S3 ReplicationとBuckupsは、誤って削除しても復旧できるようにするという緩和策です。
S3 VersioningとS3 Object Lockは、そもそも削除されることを防ぐという緩和策です。
これらの誤削除対策機能は、Directory bucketでは利用できないことに注意が必要です。

どのような場合にどの緩和策を選択するのが良いかは、このDive Deep Sessionの中では解説されませんでしたので、その選択時の参考になるかと思い、S3 VersioningとS3 Object Lockの使用について、概要と考慮点を簡単にまとめてみました。

Amazon S3のデータ削除保護機能の使用

参考(AWS公式のユーザーガイドより)
S3 バケットでのバージョニングの使用
S3 オブジェクトロックの使用
オブジェクトロックの考慮事項

おわりに

Amazon S3は多くの方が名前を知っていて、多くの方が使ったこともある超有名なサービスですが、簡単に快適に使える一方で、AWSの中の人の"とてつもない"チャレンジが垣間見えて面白かったです。

AWS Summit Japan 2024のオンデマンドセッションをすべて見ることは時間的に難しいのですが、多くの資料がダウンロードできるため、興味のあるものは斜め読みでもチェックしてみたいと思います!
(仕事でも、後で役に立つことが多いので。)

この記事が気に入ったらサポートをしてみませんか?