Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
S3のライフサイクル設計でハマったポイント
Search
Kumada
August 18, 2025
Technology
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
S3のライフサイクル設計でハマったポイント
Kumada
August 18, 2025
Other Decks in Technology
See All in Technology
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.2k
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
130
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
180
自分で立ててみるLLMサービス
y_sera15
0
160
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
330
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
0
170
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
1
140
Codex概要
ymiya55
0
500
Kiro Crewをはじめよう
kizawa2020
1
130
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
370
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
290
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
370
Featured
See All Featured
A Soul's Torment
seathinner
8
3.7k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
550
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
580
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
270
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Product Roadmaps are Hard
iamctodd
55
13k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Transcript
S3のライフサイクル設計時にハマったポイント JAWS-UG初心者支部#67 真夏のStorage-JAWSコラボ回! LT資料 2025/08/14 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 kumada(熊田 真由子)
2 自己紹介 • 名前:熊田 真由子(くまだ まゆこ) • 所属:日本アイ・ビー・エム システムズ・エンジニアリング 株式会社
• AWS歴 - 2022年4月新卒入社 - 配属以来、AWSのインフラ基盤設計構築に従事 - 2025 Japan AWS Jr.Champions
3 S3のライフサイクルルールとは… S3バケット内のオブジェクトに対して自動的にアクションを適用するための設定 S3のライフサイクルルール S3 Standard S3 Glacier Flexible Retrieval
作成されてから180日後に、 Glacier Flexible Retrieval に移行 作成されてから365日後に、 削除 S3 Standard
4 バージョニングとは… • 1つのファイル(オブジェクト)に同じファイル名で更新がかかった際に、更新前の状態を上書きす るのではなく、バージョンIDを区別してS3側が保持すること S3のバージョニング ファイル名=a.jpg バージョンID=1 更新前 ファイル名=a.jpg
バージョンID=2 ファイル名=a.jpg バージョンID=1 更新後 現行バージョン 非現行バージョン
5 バージョニングを有効しているS3バケットのオブジェクト削除では、論理削除、物理削除の概念がある • 論理削除:データ自体は残っているけど扱いとしては削除済みにすること • 物理削除:データ自体を消し去ること バージョニング有効時のオブジェクト削除の仕組み ファイル名=a.jpg バージョンID=2 ファイル名=a.jpg
バージョンID=1 削除マーカー バージョンID=3 削除マーカーが最新バージョ ンとして追加され、一見削除 されているように見えるが、 旧バージョンのデータが残っ た状態 • 論理削除 • 物理削除 ファイル名=a.jpg バージョンID=2 ファイル名=a.jpg バージョンID=1 削除 削除 各バージョンのファイルその ものを削除する
6 ライフサイクルルールでファイルを完全に削除するには、2段階のアクション設定が必要 バージョニング有効時のライフサイクル設計(ファイルの完全削除) 論理削除(削除マーカーの追加) 最新(現行)バージョン以外を 物理削除 ファイル名=a.jpg バージョンID=2 ファイル名=a.jpg バージョンID=1
削除マーカー バージョンID=3 1. オブジェクトの現行バージョンを 有効期限切れにする ファイル名=a.jpg バージョンID=2 ファイル名=a.jpg バージョンID=1 削除マーカー バージョンID=3 2. オブジェクトの非現行バージョンを 完全に削除 削除 削除
7 「オブジェクトの非現行バージョンを完全に削除」実行後も、削除マーカーだけ残る場合がある 削除マーカーだけが残ってしまう状態が発生 ファイル名=a.jpg バージョンID=2 ファイル名=a.jpg バージョンID=1 削除マーカー バージョンID=3 •
オブジェクトの非現行バージョン を完全に削除 削除 削除 削除マーカー バージョンID=3 • 削除マーカーのみ残る オブジェクト名に応じた Amazon S3ストレージ料金 が発生 削除マーカーだけ残った削除マーカーをライフサイクルルールで削除するには、、 • 「オブジェクトの現行バージョンを有効期限切れにする」 • 「有効期限切れの削除マーカーを削除」 のいずれかのライフサイクルルールのアクションを使って削除できる
8 削除マーカー バージョンID=3 ライフサイクルルールで削除マーカーを削除する方法① • 「オブジェクトの現行バージョンを有効期限切れにする」アクションを使った方法 • 非現行バージョンがなく、かつ現行バージョンが削除マーカーである状態のオブジェクトについては、 定義された日数が経過後、削除マーカーの削除を実行 ファイル名=a.jpg
バージョンID=2 ファイル名=a.jpg バージョンID=1 削除マーカー バージョンID=3 1. オブジェクトの現行 バージョンを有効期限 切れにする 2. オブジェクトの非現 行バージョンを完全 に削除 ファイル名=a.jpg バージョンID=2 ファイル名=a.jpg バージョンID=1 削除マーカー バージョンID=3 削除 削除 3. オブジェクトの現行 バージョンを有効期限 切れにする 削除 削除マーカーが追加され てからの経過日数で削除 =1からの経過日数 「オブジェクトの現行バージョンを有効期限切れにする」の実行を、オブジェクト作成から365日後と定義してい た場合、削除マーカー削除実行までは1の実行(=削除マーカーの作成)から数えて365日かかる (ただし、2が実行された時点で、1で定義している日数が経過している場合は、2の実行後に自動で削除される) 同じアクション
9 ライフサイクルルールで削除マーカーを削除する方法② • 「有効期限切れの削除マーカーを削除」アクションを使った方法 • 有効期限切れの削除マーカーとは、非現行バージョンがなく、かつ現行バージョンが削除マーカーで ある状態のオブジェクトを指す 削除マーカー バージョンID=3 ファイル名=a.jpg
バージョンID=2 ファイル名=a.jpg バージョンID=1 削除マーカー バージョンID=3 1. オブジェクトの現行 バージョンを有効期限 切れにする 2. オブジェクトの非現 行バージョンを完全 に削除 ファイル名=a.jpg バージョンID=2 ファイル名=a.jpg バージョンID=1 削除マーカー バージョンID=3 削除 削除 3. 有効期限切れの削除 マーカーを削除 削除 1日1回非同期で削除が実行 ※「オブジェクトの現行バージョンを有効期限切れにする」と「有効期限切れの削除マーカーを削除」は、 同じルールで設定不可、ルールを分ける必要あり
10 • バージョニング有効時のライフサイクル設計では、オブジェクトを完全に削除したい場合、物理削 除までするよう気を付ける • 削除マーカーは残っていると、微々たる量ではあるが課金が発生してしまうので、消すライフサイ クルルールを必要に応じて設定する まとめ