AWS Summit Tokyo 2023(2023 年 4 月 20 日、21 日 | 幕張メッセ) EXPO ミニステージでお話しした資料です https://aws.amazon.com/jp/summits/tokyo/expo/
『家族アルバム みてね』のグローバル展開を支えるAWS活用株式会社MIXIVantageスタジオ みてねプロダクト開発部基盤開発グループ SREチーム杉本 浩平
View Slide
About Me● 杉本 浩平(Kohei SUGIMOTO)● @kohbis● 2022年4月 株式会社ミクシィ(現・MIXI)入社○ Vantageスタジオ みてねプロダクト開発部 基盤開発グループ SREチーム● 業務では Ruby や Terraform
Agenda1. 『家族アルバム みてね』のご紹介2. 『家族アルバム みてね』が活用するAWSサービス3. 『家族アルバム みてね』のAWSマルチリージョン構成a. API 編b. Database 編c. Observability 編4. まとめ
『家族アルバム みてね』のご紹介
子どもの写真・動画を家族で共有し、コミュニケーションして楽しむサービス
子どもの写真・動画を、無料・無制限に 共有できるスマートフォンアプリです
家族アルバム みてね世界中の家族の”こころのインフラ”を作る● 2015年4月リリース● 現在 7言語・175の国と地域でサービスを提供● 海外では FamilyAlbum という名称で展開中● 2022年8月に利用者数が 1,500万人を突破※1● 日本国内ではママやパパの半数となる47.1%の方がご利用※2※1 iOS・Android™ アプリ登録者数、ブラウザ版登録者数の合計※2「みてね」登録時に入力されたお子さまの誕生日と厚生労働省発表「人口動態統計」から算出。2022年8月時点で47.1%
『家族アルバム みてね』が活用するAWSサービス
『家族アルバム みてね』のAWSマルチリージョン構成
マルチリージョン構成● 目的は海外ユーザー体験向上○ not BCP 対策○ 近いリージョンにアクセスできる = レスポンスタイム改善● 現在は2リージョン構成○ 東京リージョン(ap-northeast-1)○ バージニア北部リージョン(us-east-1)● ユーザー体験につながる特定のAPI○ 例■ アプリ起動時■ アルバムや写真の閲覧
マルチリージョン構成 - 概要● API○ CloudFront & Route 53 のレイテンシーベースルーティング● Database○ Aurora Global Database によるレプリケーション○ DynamoDB Global Tables によるレプリケーション● Observability○ 東京リージョンの Managed Service forPrometheus にメトリクス集約○ New Relic によるリージョン別監視 & 通知
マルチリージョン構成 - API編CloudFront ビヘイビアでパスパターンごとのルーティング● マルチリージョン対応するAPI○ Route 53 のレイテインシーベースルーティング● 同じパスで GET のみマルチリージョン対応するAPI○ [email protected] でリクエストメソッドを判定■ GET or HEAD → レイテインシーベースルーティング■ GET / HEAD 以外 → 東京リージョンに固定● それ以外の API○ 東京リージョンに固定
マルチリージョン構成 - API編マルチリージョン対応するAPI GET のみマルチリージョン対応するAPI
マルチリージョン構成 - Database編● Aurora Global Database○ ストレージレベルの物理レプリケーション○ 通常 1 秒未満のレプリケーション■ みてねでは 100 ~ 200 ms で推移● DynamoDB Global Tables○ 通常 1 秒以内にすべてのレプリカテーブルに伝播● ElastiCache for Memcached○ 各リージョンに配置○ 一般的なキャッシュ用途
マルチリージョン構成 - Observability編● Managed Service for Prometheus にメトリクス集約○ region ラベルを付与してリージョンごとに集計● New Relic の活用○ Prometheus の重要なメトリクスは New Relic にも送信○ リージョンごとに監視、アラート○ New Relic Mobile で国別にレスポンスタイム等を分析● Grafana ダッシュボードを日次モニタリング
まとめ
まとめ● 『家族アルバム みてね』の ユーザー体験向上 のためにマルチリージョン化○ API は CloudFront と Route 53 でレイテンシーベースのルーティング○ Database は Aurora Global Database と DynamoDB Global Tables によるレプリケーション○ Observability は メトリクスを Managed Service for Prometheus に集約 & New Relic 活用● それぞれの取り組みはブログなどでも発信しているので、ぜひご覧ください。● A1-03 ブースにて出展しているので、お時間あればお越しください。
MIXI, Inc.