Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
S3のライフサイクル設計でハマったポイント
Search
Kumada
August 18, 2025
Technology
330
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
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
420
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
230
Databricks における 生成AIガバナンスの実践
taka_aki
1
360
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
0
250
React、まだ楽しくて草
uhyo
7
4.2k
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
370
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
15
4.9k
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
960
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
2
210
Agentic Defenseとともにセキュリティエンジニアが輝き続けるには / How Security Engineers Can Keep Excelling with Agentic Defense
yuj1osm
0
130
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
120
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Discover your Explorer Soul
emna__ayadi
2
1.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
160
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
Designing for Performance
lara
611
70k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
Agile that works and the tools we love
rasmusluckow
331
21k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Raft: Consensus for Rubyists
vanstee
141
7.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
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 • バージョニング有効時のライフサイクル設計では、オブジェクトを完全に削除したい場合、物理削 除までするよう気を付ける • 削除マーカーは残っていると、微々たる量ではあるが課金が発生してしまうので、消すライフサイ クルルールを必要に応じて設定する まとめ