Slide 1

Slide 1 text

200 億レコードを超 える Aurora を Cloud Spanner へ 移行 Mar 5, 2025 株式会社 TimeTree

Slide 2

Slide 2 text

Google Cloud 05 移行までの道のり 移行 Modern まとめと今後 移行の背景 01 02 03 04 目次

Slide 3

Slide 3 text

自己紹介 株式会社 TimeTree の SRE チームマネージャーを担当しています。 世界各国で利用されているサービスの信頼性をメンバーとともに日々追求 しています。 サービスに興味のある方いらっしゃればぜひお声がけください。 金井 栄喜 SRE チームマネージャー

Slide 4

Slide 4 text

04 Proprietary Google Cloud Next Tokyo ’24 共有とコミュニケーションを 前提につくられた カレンダー シェアアプリ TimeTree は、予定の「共有」「可視化」とそこで生まれ る 「コミュニケーション」によって、予定管理をだれにとって もあたりまえで簡単なものにします。数ある予定管理 サービスの中で、唯一パーソナル × 共有を軸に価値提 供しているプロダクトです。

Slide 5

Slide 5 text

05 Proprietary Google Cloud Next Tokyo ’24 公開カレンダー

Slide 6

Slide 6 text

06 Proprietary Google Cloud Next Tokyo ’24 公開カレンダー

Slide 7

Slide 7 text

01 移行の背景

Slide 8

Slide 8 text

データ量の増加 Quotas サービスは順調に成長しているた め、今後もデータの増加が見込ま れます。 利用していた Amazon Aurora の Quotas が運用に影響すること が予想されました。 主な要因

Slide 9

Slide 9 text

Million ユーザー数 8->60 サービスの成長とともに ユーザーの増加や利用状 況が変化しデータが増加し ています。 データの推移 Billion レコード数 2->25 TiB データサイズ 1->15

Slide 10

Slide 10 text

Million ユーザー数 8->60 サービスの成長とともに ユーザーの増加や利用状 況が変化しデータが増加し ています。 データの推移 Billion レコード数 2->25 TiB データサイズ 1->15

Slide 11

Slide 11 text

Quotas ストレージ コネクション ローカルストレージ ● 128TB ● 変更不可 ● いつかは到達する ● 5 年後に到達も十分に考えられ る ● インスタンス サイズ毎にデフォ ルト値がある ● 変更可能 ● 変更可能だがメモリへの影響が あるため対応が必要になる ● インスタンス サイズ毎にデフォ ルト値がある ● 変更不可 ● DDL テーブルサイズによっては 枯渇し中断されるため喫緊の課 題

Slide 12

Slide 12 text

Quotas ストレージ コネクション ローカルストレージ ● 128TB ● 変更不可 ● いつかは到達する ● 5 年後に到達も十分に考えられ る ● インスタンス サイズ毎にデフォ ルト値がある ● 変更可能 ● 変更可能だがメモリへの影響が あるため対応が必要になる ● インスタンス サイズ毎にデフォ ルト値がある ● 変更不可 ● DDL テーブルサイズによっては 枯渇し中断されるため喫緊の課 題

Slide 13

Slide 13 text

02 移行までの道のり

Slide 14

Slide 14 text

2018 年 課題認識 2022 年 / 1 月 ミッション クリティカルな 課題として社内共有 2023 年 / 1 月 プロジェクト稼働開始 2025 年 / 1 月 移行完了と今後の計画 2019 年 チーム内で課題共有 2022 年 / 6 月 プロジェクト準備 2024 年 / 1 月 移行作業開始 タイムライン

Slide 15

Slide 15 text

2018 年 課題認識 2022 年 / 1 月 ミッション クリティカルな 課題として社内共有 2023 年 / 1 月 プロジェクト稼働開始 2025 年 / 1 月 移行完了と今後の計画 2019 年 チーム内で課題共有 2022 年 / 6 月 プロジェクト準備 2024 年 / 1 月 移行作業開始 タイムライン

Slide 16

Slide 16 text

重要だったこと 重要性の共有 最終的にミッションクリ ティカルであるというこ とを認識させることが重 要。 情報を整理しながら繰 り返し伝えていくことで 実現できます。 01 02 03 04 05 事前準備 予算、人員、スケジュー ル含め話を通すための 準備を徹底します。 強い意志 とことんリソースを消費 するプロジェクトになる ので、批判や否定が あっても最終的には サービスや会社にとっ て意義がるという信念 とやりきる強い意志が 大事です。 利益 ただの技術的な興味な どではなく、実施するこ とにより総合的に考え てサービスと会社に寄 与する確証があること が大事です。 期間 期間が短いほどサービ スへの影響、状況の変 化が小さくなり障壁が 低くなります。

Slide 17

Slide 17 text

03 移行

Slide 18

Slide 18 text

データ クレンジング 移行しやすいように データ クレンジングを 実施します。 ロードマップ 大きなスケジュールを 立ててそこにロードマッ プを引いていきます。移 行範囲の決定も行いま す。 移行 01 02 03 04 05 アプリケーション修正 MySQL から Spanner へ の必要な変更を実施しま す。 データ マイグレーショ ン データ マイグレーション を実施します。 切り替え Google Cloud に移行 したアプリケーションに リクエストを切り替えま す。

Slide 19

Slide 19 text

データ クレンジング 移行しやすいように データ クレンジングを 実施します。 ロードマップ 大きなスケジュールを 立ててそこにロードマッ プを引いていきます。移 行範囲の決定も行いま す。 移行 01 02 03 04 05 アプリケーション修正 MySQL から Spanner へ の必要な変更を実施しま す。 データ マイグレーショ ン データ マイグレーション を実施します。 切り替え Google Cloud に移行 したアプリケーションに リクエストを切り替えま す。

Slide 20

Slide 20 text

データ マイグレーション ● AWS と Google Cloud 間で VPN 接続 ● Datastream で Aurora から Cloud Storage にデータ 登録 ● Cloud Storage イベントを Cloud PubSub に送信 ● Cloud PubSub イベントを Dataflow が Subscribe ● Dataflow が Spanner にデータ登録 Dataflow Cloud Spanner Pub/Sub Datastream Cloud Storage Cloud VPN Compute Engine

Slide 21

Slide 21 text

Architecture after migration from Amazon Aurora to Google Cloud Spanner AWS Cloud Front S3 (Log) Load Balancer ECS (App) Aurora Dynamo DB ECS (ETL) S3 (Assets) Cloud Load Balancing Cloud CDN Cloud Run Memorystore Cloud Spanner Cloud Storage Looker BigQuery Cloud Composer

Slide 22

Slide 22 text

04 Modern

Slide 23

Slide 23 text

Google Workspace との統合 社員 ID と直接連携す ることでより簡易で強力 なアクセス設定が可能 です。 オート シャーディング スキーマ設計さえすれ ばあとはマネージドな シャーディングが実施さ れます。 オート スケーリング 最近 GA になった Spanner のオート ス ケーリングです。コスト 削減に有用です。 Spanner と周辺サービスを Google Cloud に移行したこと によるモダナイゼーション 01 02 03 04 05 様々な検索 ベクトル検索や全文検 索など様々な検索が期 待できます。 分析の拡張 ログデータやデータ ベースデータの BigQuery 連携の簡易 化や、Data boost を利 用したリアルタイムデー タ分析などが可能にな ります。

Slide 24

Slide 24 text

05 まとめと今後

Slide 25

Slide 25 text

まとめと今後 ● Spanner に移行したことによりデータベースに関する 致命的な課題が解消され、今後のサービス継続に十 分な状況が整った ● Google Cloud の他サービスとのシームレスな連携に よりサービス全体の開発効率の向上が期待できる ● Spanner の様々な検索機能を使いこなすことでエンジ ニアからサービス改善の流れを作ることが期待できる ● データを置く場所とだけ捉えるのではなく、データをお いた場所によってサービス価値の向上が期待できる時 代になった

Slide 26

Slide 26 text

まとめと今後 ● Spanner に移行したことによりデータベースに関する 致命的な課題が解消され、今後のサービス継続に十 分な状況が整った ● Google Cloud の他サービスとのシームレスな連携に よりサービス全体の開発効率の向上が期待できる ● Spanner の様々な検索機能を使いこなすことでエンジ ニアからサービス改善の流れを作ることが期待できる ● データを置く場所とだけ捉えるのではなく、データをお いた場所によってサービス価値の向上が期待できる時 代になった

Slide 27

Slide 27 text

Thank you