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
fanglang
April 03, 2025
Technology
4
900
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
April 03, 2025
Tweet
Share
More Decks by fanglang
See All by fanglang
マルチCPUアーキテクチャ構成の実現に向けて
fanglang
1
290
海外から快適に使ってもらうためにしてきたこと / the battle with network latency
fanglang
0
4.6k
Other Decks in Technology
See All in Technology
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
440
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
570
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
140
データ分析エージェント Socrates の育て方
na0
7
2.6k
Apache Spark もくもく会
taka_aki
0
140
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
490
S3アクセス制御の設計ポイント
tommy0124
3
210
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
120
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
280
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
190
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Being A Developer After 40
akosma
90
590k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
We Have a Design System, Now What?
morganepeng
53
7.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
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とコ スト最適化を両立