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

JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと

Avatar for たけだ たけだ
October 17, 2026

JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと

https://jaws-tohoku.connpass.com/event/388199/
2026/10/17 [東北][青森][JAWS-UG 青森] 勉強会【4年ぶりの八戸開催!】
LT資料
#jawsug #jawsugtohoku #jawsugaomori

Avatar for たけだ

たけだ

October 17, 2026

More Decks by たけだ

Other Decks in Technology

Transcript

  1. ABOUT ME 武⽥ 可帆⾥(たけだ かほり) 株式会社トラストバンク EM / PdM 2007〜

    SIer企業 ・銀行の勘定系システム開発 インフラ / PM 2017〜 チェンジホールディングス ・コンサル / SI / 受託開発 2019〜 トラストバンク ・新規事業立上げ ・公共DX SaaS開発 / 運用 @taketakekaho ・東京都在住 JAWSUG初⼼者⽀部運営 ・好きなAWSサービス:ControlTower, Organizations,AWS Security Agent ・趣味:ゴルフ、スキューバダイビング、ワーケーション、ウクレレ AWS Samurai 2019 #jawsug #jawsugaomori #jawsugtohoku 02
  2. LoGoチャット ⾃治体職員さんのためのビジネスチャット 移⾏前当時 (オンプレミス環境のシステム規模) サーバー‧仮想化 データベース 物理ホスト 10台 DB容量 約1TB

    仮想マシン 約200台 ElasticSearch index 1TB ファイルストレージ ユーザーアカウント ファイル容量 100TiB 55万 アカウント 10億オブジェクト 全国⾃治体で利⽤ 平⽇1⽇間のアップロードファイル数 56万 ファイル ⽇々容量が増える #jawsug #jawsugaomori #jawsugtohoku 07
  3. WHY AWS なぜAWSへ移⾏したのか 1 3 5 DB性能が仮想化基盤の限界に 利⽤の拡⼤で、仮想化基盤上のDBが頭打ちに VMwareのライセンスが⾼騰 基盤を維持するだけでコストが上がる

    2 4 NetAppの容量が枯渇 ファイルは増え続け、ストレージに余裕がない 機器の調達期間が⻑期化 増強したくても、機器がすぐに届かない LGWAN-ASP制度改定 AWS等でLGWAN-ASPサービス構築できるようになった オンプレを続けるほどコストが上がる⾒込み → AWSへの移⾏を決断 ⼤好きなAWSでLoGoチャットつくれる!😆😆😆 #jawsug #jawsugaomori #jawsugtohoku 09
  4. THE CHALLENGE 本題:このファイルを、どう運ぶか 約100TiB 約10億 約3.5h 業務ファイルの容量(2026年5⽉時点) NetApp上のオブジェクト数 当⽇、データ同期に使える時間 メンテナンス枠

    22:00 〜 翌 8:00 データ同期 約3.5時間 起動‧動作確認‧フォールバックの余裕 静⽌点つくって全部コピーする⽅式だと、サービスが何週間も⽌まってしまう #jawsug #jawsugaomori #jawsugtohoku 10
  5. FILE MIGRATION 4つのフェーズで、切替前ギリギリまで「ほぼ移し終える」 PHASE 1 PHASE 2 PHASE 3 PHASE

    4 プレ移⾏ 本移⾏ リアルタイム同期 切替メンテ NetAppからDataSyncで⼀時 ⼀時S3から本番S3(LGWAN 差分同期を再開し、本番S3 残った最終差分だけを同期し S3へ。Lambda等でリネーム ⽤∕インターネット⽤)へ複 へはS3レプリケーション。当 て切り替える しながら全件同期(約2週 製。差分転送を⽌めて静⽌点 ⽇までこの状態で何度か繰り 間) をつくる 返す なぜ、⼀度「⼀時S3バケット」に⼊れたのか • 本番環境の動作確認で、本番S3にテスト⽤のデータを混ぜないため • 既存ユーザーに影響を出さないため • オンプレから送り直すより、S3間の⽅が速いため #jawsug #jawsugaomori #jawsugtohoku 13
  6. 壁1/3 AWS DataSync差分チェックだけで、約2⽇かかる DataSyncで「続きから」コピーしようにも、約10億オブジェクトの差分⽐較だけで約2⽇。3.5時間には到底収まらない。 NetAppの監査ログ マニフェスト⽣成 DataSync S3 更新されたファイルを抽出 1時間おきのバッチ

    マニフェストの分だけ転送 差分だけが届く なぜDBではなく、NetAppを起点にしたのか DBに載らない⼀時ファイルや、システムが作るファイルは、DBから作ると同期漏れするリスクがあった。 ストレージ側の記録を元にしてマニフェスト作成するのが確実と判断。 #jawsug #jawsugaomori #jawsugtohoku 14
  7. 壁2/3 1タスク「5,000万」の上限 5,000万 1 クォータの引き上げを申請して試してみる 2 サポートに相談すると「出てくるメトリクスが信⽤できない可 DataSync基本モードで、1回のタスク実⾏が扱え 能性がある」→ 1タスクでの実⾏を断念

    るファイル‧オブジェクト‧ディレクトリの合計 3 対して、こちらは約10億 今なら 正規表現でパスを分け、5,000万以内のタスクに分割するスク リプトを作成。初回同期から適⽤ 拡張モードなら、タスク実⾏ごとのオブジェクト数は事実上無制限。この分割は不要 出典:AWS DataSync ユーザーガイド「AWS DataSync のクォータ」 https://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/datasync-limits.html 15
  8. 壁3/3 監査ログにも、載らないファイルがあった 1 2 3 発⾒ 突合 補完 検証で、NetAppの監査ログに記録されな S3インベントリとNetAppのファイル⼀

    特定した情報からマニフェスト化し、追 いファイルがあると判明(0バイトファ 覧を突き合わせ、漏れを特定 加で転送 イルなど) 念には念を。ログも100%ではない。最後は「突合」で保証した #jawsug #jawsugaomori #jawsugtohoku 16
  9. 2026.05.30 切替当⽇ 何度もリハーサルを実施したおかげで想定どおりの時間で完了 22:00 23:00 00:00 01:00 ファイル 最終同期 約20分(22:51〜23:09)

    監査ログ停⽌ → 最終マニフェスト → 同期 検索 最終差分スナップショットの転送 約85分 → リストア(〜00:11) DB スナップショットからMulti-AZ DBクラスター作成 約1時間50分 → レプリカ追加(〜01:07) 01:00 AWS側サービス起動 02:33 #jawsug #jawsugaomori #jawsugtohoku DNS切替 05:00 公開 07:20 利⽤⾃治体へ完了連絡 17
  10. AND MORE 実はほかにも乗り越えた壁はたくさん.. 1 DB(RDS for MySQL) 2 検索(Elasticsearch) 3

    暗号化(CMK) オンプレのスレーブからRDSへレプ EC2上で運⽤。インデックスは1TB ISMAP取得を⾒越して、構築途中 リケーション。当⽇はスナップ 超でリアルタイム同期ができな で「原則すべてCMK」に⽅針変 ショットからMulti-AZ DBクラス い。数⽇ごとに差分スナップ 更。データ分類で鍵を3種類に分け ターを作成。DEFINERやレプリ ショット→リストアを重ね、当⽇ た。各種ログやSQSなど、対象が ケーション経路のTLS化に苦労 は最終差分だけ 想像以上に広かった #jawsug #jawsugaomori #jawsugtohoku 18
  11. LEARNINGS まとめ 01 確実さは「ストレージ側の事実」に寄せる 元データは本当に確実と⾔えるのかを確かめる。アプリやDBではなく、NetAppの監査ログを差分同期の起点にした 02 その情報は信頼できるかを常に⾃問⾃答。ログも100%ではない可能性。時には実物で保証する 何重にも確認して確実にデータ同期された状態を保証する。S3インベントリとの突合、DBからの0バイト補完で抜け漏れを潰した。 03 暗号化⽅針は、最初に決める要件のひとつ

    途中で変えると⼤変。構成も⼿順も検討し直しになる 04 制約やハードルがあるからこそ技術は活きるし⾯⽩い LGWAN、申請⼿続き、セキュリティなどなど、、⾊々な諸事情や制約によるハードルがたくさん。⼤変な時もあるけど、それを乗り越えた 時の景⾊は格別。終わらせる「プロジェクト」ではなく終わりのない「プロダクト」だからこそ意識的に賞賛し合い達成感を味わう。 #jawsug #jawsugaomori #jawsugtohoku 20