「家族アルバム みてね」を支えるS3ライフサイクル戦略

MIXI のSREエンジニア fanglang(尾関 芳郎)による SpeakerDeck スライド。2025-04-03「春のSREまつり 〜 大規模サービス “あるある” との戦い事例 〜」での登壇資料。家族アルバムアプリ「みてね」(2500万ユーザー・写真動画131億件超)のS3コスト最適化戦略を解説。

サービス概要

  • サービス名: 家族アルバム みてね
  • 提供元: MIXI(みてねプロダクト開発部)
  • ミッション: 「世界中の家族のこころのインフラをつくる」
  • ユーザー数: 2500万人以上(2025年1月時点)
  • 蓄積データ: 写真・動画131億件以上(2024年3月時点)
  • 主な機能: 写真・動画の無制限保存・家族共有・フォトブック・写真プリント・みてねみまもりGPS

課題と目的

  • 課題: 大量の画像・動画データをS3に保存しており、データ量増加に伴うストレージコストが増大
  • 発表の目的: S3ライフサイクルルールを用いたコスト削減テクニックの具体例紹介

S3バージョニングによるデータ保護

  • ユーザーの大切な写真・動画の誤削除を絶対に避けるため S3バージョニング を全バケットに導入
  • ただし、過去バージョンにもストレージコストが発生する(「消したつもり」でもコストは減らない)
  • 対策: ライフサイクルルールで一定期間経過後の旧バージョンを自動削除し、リスクとコストのバランスを維持
  • ルール: 特別な理由がない限り、全てのS3バケットでバージョニングを有効化

→ 詳細: S3ライフサイクル戦略(みてね)

ストレージクラスとライフサイクルルールによるコスト最適化

アクセスパターン分析

フェーズ特性最適ストレージクラス
アップロード直後(0〜30日)最もアクセス頻度が高い(ユーザーアクセス・端末保存・解析処理・月1フォトブック提案)S3 Standard
30日以降極端にアクセス頻度が落ちるが、UXのためリアルタイム性は維持必要Glacier Instant Retrieval
  • 30日間のライフサイクルルールで S3 Standard → Glacier Instant Retrieval に自動移行
  • 取り出し料金が月1回のフォトブック・写真プリント自動提案に影響するため、最初の1ヶ月は Standard を維持する設計

→ 詳細: S3ライフサイクル戦略(みてね)

動画配信(HLS)におけるライフサイクルルールの活用

  • アプリ上の動画再生は HLS(HTTP Live Streaming) を利用
  • HLSデータがS3に存在しない場合はリアルタイムに生成して配信
  • 一定期間経過後にHLSファイルを削除することで、再生用動画の保存コストを削減

HLS保存期間の最適化

  • 保存期間を長くする → S3ストレージコスト増
  • 保存期間を短くする → HLS再生成回数増・EC2コスト増
  • 動画再生ログのアクセスパターン分析から「保存期間ごとのコストシミュレーション」を行い、コストが最も低くなる保存期間を算出

→ 詳細: S3ライフサイクル戦略(みてね)

まとめ(スライドより)

ストレージクラスの適切な選択とライフサイクルルールの組み合わせが、大量データのコスト削減に不可欠。アクセスパターンを分析し、ライフサイクルルールを柔軟に活用することで、UXとコスト最適化を両立する。

関連ページ