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
47k
41
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
April 03, 2025
More Decks by fanglang
See All by fanglang
マルチCPUアーキテクチャ構成の実現に向けて
fanglang
1
1k
海外から快適に使ってもらうためにしてきたこと / the battle with network latency
fanglang
0
5.2k
Other Decks in Technology
See All in Technology
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
750
200個のGitHubリポジトリを横断調査したかった
icck
0
130
SONiCの統計情報を取得したい
sonic
0
160
やさしいA2A入門
minorun365
PRO
12
1.9k
EventBridge Connection
_kensh
5
710
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
660
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
3
210
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
Snowflakeと仲良くなる第一歩
coco_se
4
470
Chainlitで作るお手軽チャットUI
ynt0485
0
240
失敗を資産に変えるClaude Code
shinyasaita
0
650
脆弱性対応、どこで線を引くか
rymiyamoto
1
390
Featured
See All Featured
Designing for Performance
lara
611
70k
From π to Pie charts
rasagy
0
210
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Chasing Engaging Ingredients in Design
codingconduct
0
220
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
RailsConf 2023
tenderlove
30
1.5k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
590
The Curious Case for Waylosing
cassininazir
1
390
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Deep Space Network (abreviated)
tonyrice
0
170
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とコ スト最適化を両立