Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「家族アルバム みてね」を支えるS3ライフサイクル戦略
Search
fanglang
April 03, 2025
Technology
27
34k
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
April 03, 2025
Tweet
Share
More Decks by fanglang
See All by fanglang
マルチCPUアーキテクチャ構成の実現に向けて
fanglang
1
760
海外から快適に使ってもらうためにしてきたこと / the battle with network latency
fanglang
0
4.9k
Other Decks in Technology
See All in Technology
20251203_AIxIoTビジネス共創ラボ_第4回勉強会_BP山崎.pdf
iotcomjpadmin
0
140
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
160
Identity Management for Agentic AI 解説
fujie
0
480
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
770
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.1k
Microsoft Agent Frameworkの可観測性
tomokusaba
1
110
ESXi のAIOps だ!2025冬
unnowataru
0
390
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
490
Introduce marp-ai-slide-generator
itarutomy
0
130
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
520
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
2.3k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
140
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
Information Architects: The Missing Link in Design Systems
soysaucechin
0
720
ラッコキーワード サービス紹介資料
rakko
0
1.8M
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building the Perfect Custom Keyboard
takai
1
660
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Ruling the World: When Life Gets Gamed
codingconduct
0
100
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
30
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
First, design no harm
axbom
PRO
1
1.1k
Transcript
©MIXI 「家族アルバム みてね」を支えるS3ライフサイクル戦略 2025/04/03 春のSREまつり 〜 大規模サービス "あるある" との戦い事例 〜
©MIXI 尾関 芳郎 ソフトウェアエンジニア 株式会社MIXI みてねプロダクト開発部 プラットフォームG SREチーム 2018年1月よりSREとしてみてねにJoin テキサスホールデムポーカーとコーヒー豆の焙煎が趣味です。
@fanglang
©MIXI Agenda • サービス紹介 • 課題と目的 • S3バージョニングによるデータ保護 • ストレージクラスとライフサイクルルールによるコスト最適化
• 動画配信におけるライフサイクルルールの活用 • まとめ
©MIXI サービス紹介
©MIXI 「家族アルバム みてね」はスマホで撮った子どもの写真や動画を家族と共有し、 コミュニケーションして楽しむ家族アルバムサービスです。
©MIXI 熱量の高い「今」を、共有 気づけば「思い出」が、 溜まっていく 感動の振り返りがカンタンに! 熱量の高い今を共有し、気づくと、熱量の高い履歴が残っているというコンセプト
©MIXI ビジネスモデル 子どもや家族を中心に、より子育てが楽しく、安心・安全につながるサービスを提供。
©MIXI 写真関連商品 フォトブック・写真プリントで思い出をもっと楽しく。
©MIXI みてねみまもりGPS 頼もしく成長していくお子さまを、みてねが一緒にみまもります。
©MIXI ※ iOS・Android™ アプリ登録者数、ブラウザ版登録者数の合計
©MIXI
©MIXI みてね事業のMVV | Mission 世界中の家族のこころのインフラをつくる
©MIXI 課題と目的
©MIXI 改めて、「家族アルバム みてね」 (以下、みてね) とは • 写真・動画を無制限に保存できるサービス • ユーザー数:2500万人以上 (2025年1月時点)
• シェアされた写真・動画数:131億以上 (2024年3月時点) ※ iOS・Android™ アプリ登録者数、ブラウザ版登録者数の合計
©MIXI Amazon S3利用の現状と課題 • 大量の画像・動画データを保存するためにS3を広範に利用 • データ量の増加に伴うストレージコストの増大
©MIXI 本発表の目的 • みてねにおけるS3のライフサイクルを用いた具体例を紹介 • 特にコスト削減に貢献しているテクニックに焦点を当てる
©MIXI S3バージョニングによるデータ保護
©MIXI S3バージョニングによるデータ保護 • ユーザーの大切な写真・動画の誤削除は絶対に避けたい ◦ S3バージョニングの導入により、誤った操作によるデータ削除リスクの軽減 ▪ ただし、過去バージョンもストレージコストが発生 ▪ 「消したつもり」でもコストは減らない
• ライフサイクルルールの設定 ◦ バージョニング設定と合わせて、一定期間経過後の旧バージョン削除ルールを設定 ◦ リスクに配慮しつつ、過剰なコストを抑制 • みてねにおけるバージョニング運用 ◦ 特別な理由がない限り、全てのS3バケットでバージョニングを有効化
©MIXI ストレージクラスとライフサイクルルールによる コスト最適化
©MIXI S3ストレージクラス • ストレージクラスによる性能の違い ◦ レイテンシ ◦ 可用性 ◦ 料金
• アクセスパターンを分析することで最適なストレージクラスを選択
©MIXI S3ストレージクラス https://aws.amazon.com/jp/s3/storage-classes/
©MIXI みてねの写真・動画データアクセスパターンの分析 • アップロード直後がいちばんアクセス頻度が高い ◦ ユーザーからのアクセス、端末への保存 ◦ 解析処理 ◦ 月1回のフォトブック・写真プリント自動提案
• 1ヶ月間は取り出し料金を抑える必要がある ◦ S3 Standard • その後極端にアクセス頻度が落ちるが、UXを損なわないためリアルタイム性は維持 ◦ Glacier Instant Retreval • 30日間のライフサイクルルールを適用
©MIXI 動画配信におけるライフサイクルルールの活用
©MIXI 動画配信におけるライフサイクルルールの活用 • HLS (HTTP Live Streaming) の利用 ◦ アプリ上での動画再生はHLSを用いている
▪ 再生時にHLSデータがS3になければリアルタイムに生成して配信 ▪ 一定期間経てば削除することで再生用動画の保存コストを削減 ◦ 参考:みてねの動画再生にHLSを導入した話
©MIXI HLSファイルの削除までの期間の選定 • 保存期間を長くすると... ◦ S3ストレージコスト増 • 保存期間を短くすると... ◦ 再生成回数増、コンピュートリソース(EC2)コスト増
• 動画再生のログを元にアクセスパターンを分析 ◦ 保存期間毎に再生成のコストをシミュレーション ◦ コストが最も低くなる保存期間を算出
©MIXI まとめ • 「家族アルバム みてね」では、S3に大量のユーザーデータを保存 • S3バージョニングはオペレーションミスによるデータ損失リスクを軽減 • ストレージクラスの適切な選択とライフサイクルルールの組み合わせが、大量データ のコスト削減に不可欠
• アクセスパターンを分析し、ライフサイクルルールを柔軟に活用することで、UXとコ スト最適化を両立