Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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

Avatar for fanglang

fanglang

April 03, 2025
Tweet

More Decks by fanglang

Other Decks in Technology

Transcript

  1. ©MIXI 改めて、「家族アルバム みてね」 (以下、みてね) とは • 写真・動画を無制限に保存できるサービス • ユーザー数:2500万人以上 (2025年1月時点)

    • シェアされた写真・動画数:131億以上 (2024年3月時点) ※ iOS・Android™ アプリ登録者数、ブラウザ版登録者数の合計
  2. ©MIXI S3バージョニングによるデータ保護 • ユーザーの大切な写真・動画の誤削除は絶対に避けたい ◦ S3バージョニングの導入により、誤った操作によるデータ削除リスクの軽減 ▪ ただし、過去バージョンもストレージコストが発生 ▪ 「消したつもり」でもコストは減らない

    • ライフサイクルルールの設定 ◦ バージョニング設定と合わせて、一定期間経過後の旧バージョン削除ルールを設定 ◦ リスクに配慮しつつ、過剰なコストを抑制 • みてねにおけるバージョニング運用 ◦ 特別な理由がない限り、全てのS3バケットでバージョニングを有効化
  3. ©MIXI S3ストレージクラス • ストレージクラスによる性能の違い ◦ レイテンシ ◦ 可用性 ◦ 料金

    • アクセスパターンを分析することで最適なストレージクラスを選択
  4. ©MIXI みてねの写真・動画データアクセスパターンの分析 • アップロード直後がいちばんアクセス頻度が高い ◦ ユーザーからのアクセス、端末への保存 ◦ 解析処理 ◦ 月1回のフォトブック・写真プリント自動提案

    • 1ヶ月間は取り出し料金を抑える必要がある ◦ S3 Standard • その後極端にアクセス頻度が落ちるが、UXを損なわないためリアルタイム性は維持 ◦ Glacier Instant Retreval • 30日間のライフサイクルルールを適用
  5. ©MIXI 動画配信におけるライフサイクルルールの活用 • HLS (HTTP Live Streaming) の利用 ◦ アプリ上での動画再生はHLSを用いている

    ▪ 再生時にHLSデータがS3になければリアルタイムに生成して配信 ▪ 一定期間経てば削除することで再生用動画の保存コストを削減 ◦ 参考:みてねの動画再生にHLSを導入した話
  6. ©MIXI HLSファイルの削除までの期間の選定 • 保存期間を長くすると... ◦ S3ストレージコスト増 • 保存期間を短くすると... ◦ 再生成回数増、コンピュートリソース(EC2)コスト増

    • 動画再生のログを元にアクセスパターンを分析 ◦ 保存期間毎に再生成のコストをシミュレーション ◦ コストが最も低くなる保存期間を算出