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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
3.1k
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
330
AIにフローを作らせようとして挫折した話
hamatsutaichi
0
240
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
170
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
270
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
2k
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.8k
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
30
22k
ブロックチェーン / Blockchain
ks91
PRO
0
110
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
280
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.4k
Rancherの紹介&Update情報(RancherJP Online Meetup #09)
yoshiyuki_kono
0
140
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Navigating Team Friction
lara
192
16k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Embracing the Ebb and Flow
colly
88
5.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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 • バージョニング有効時のライフサイクル設計では、オブジェクトを完全に削除したい場合、物理削 除までするよう気を付ける • 削除マーカーは残っていると、微々たる量ではあるが課金が発生してしまうので、消すライフサイ クルルールを必要に応じて設定する まとめ