Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS移行を通して得られた知見と教訓
Search
hiroshi.muto
March 07, 2023
Programming
0
970
AWS移行を通して得られた知見と教訓
hiroshi.muto
March 07, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
290
Vibe codingでおすすめの言語と開発手法
uyuki234
0
130
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
140
ゆくKotlin くるRust
exoego
1
160
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
190
tparseでgo testの出力を見やすくする
utgwkk
2
300
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4k
愛される翻訳の秘訣
kishikawakatsumi
3
350
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
130
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
180
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
91
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
32
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Design in an AI World
tapps
0
100
Designing for humans not robots
tammielis
254
26k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Un-Boring Meetings
codingconduct
0
170
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Transcript
AWS移行を通して 得られた知見や教訓 エキサイト株式会社 メディアプラットフォーム事業部 武藤 寛
自己紹介 • 武藤 寛 • エキサイト株式会社 メディアプラットフォーム事業部 • レシピサイトを担当
• PHP / Android / Flutter App • Twitter @mthiroshi_4o
料理のプロが作る簡単レシピサイト 「E・レシピ」 - 複数レシピを組み合わせた「献立」を提案 - 旬食材、季節イベントに合わせたレシピや トレンドの食ニュースも発信 - Web, iOS,
Androidで提供
AWS移行が完了 - エキサイトは2019年から移行開始、2022年6月末に完了 - E・レシピは2021年に着手、2022年6月下旬に完了
E・レシピのシステム概要
None
AWS構成
None
移行手順
VPC構築とDirect Connect接続 オンプレ 社内ネットワーク AWS E・レシピ VPC 専用線を確保
DB移行 (DMS)
VM移行 Application Migration Service (MGN)
Memcached移行
イメージサーバー移行
知見や教訓 • Terraformの運用 • AWS移行とリビルド • VPCとALBの注意点
Terraformの運用 • 社内、チーム内で採用している • ディレクトリ構造には様々なパターンがある
gateway application infra
AWS移行とリビルド
主要テーブルの不要カラムを削除 • レシピデータを管理する主要なテーブルに50個の不要なカラム • 従来の新規データ定義をカラム追加で対応の積み重ね – 削除時にリスクがある運用 • 不要カラムの参照がコードに残ることが負債化が進む
カラム整理から得たこと • 変更に強いテーブル設計をする – テーブルを適切に正規化する • 不要なコードは削除する – コード内検索のノイズが減る
APIのリビルド(現在進行中) • PHP → Java / SpringBoot で再実装 • APIパラメータを整理し、用途に応じてエンドポイントの分割
– 内部の分岐を減らして、見通しを良くする • SQLの見直し – Explainを確認し、必要に応じてIndex作成
リビルドを通して - 複雑なことをシンプルにすること - 負債を生まないために、良い設計と実装を続ける
VPCとALBの注意点
VMの移行作業中 - DB移行完了後、サーバの移行に着手したフェーズ - EC2、ALBの構築と挙動確認を繰り返していた - 全ての挙動確認を終えてから本番移行を予定
_人人人人人人人人_ > 突然のIP枯渇 <  ̄^Y^Y^Y^Y^Y^Y^ ̄
ALBを構築するVPCサブネットの要件 • サブネットに未割り当てのIPが8個以上必要 • 負荷に応じて自動的にスケールアウトするため
当初のVPC • VPC : /24 (256IP) • 3AZ – private
subent : /26 (64IP) – public subnet : /28 (16IP) • public subnetに16個あれば、ALBが足りる見積もり
VPCサブネットのIP仕様 - サブネットごとに5個の予約アドレス - 実質的に使用可能なIPは3個 (16 - 5 - 8
= 3) - ALBは5個必要...オワタ...
VPCの再構築とDBの再移行 • VPC: /22 (1024IP) • 3AZ – private subnet
/24(256IP) – public subnet /26 (64IP) • 2度目のDB移行
失敗の要因と対策 • 仕様に対する理解が足りなかった • インフラチームと初期から連携しておくべきだった
終わりに AWS移行を通して得たこと • Terraformの運用 – 運用しやすいディレクトリ構造に挑戦。しかし、正解がない。 • リビルドへの取り組み – 一部負債を解消した。技術負債を生まない設計と実装を目指す。
• ALBとVPCの注意点 – 仕様の理解が足りず失敗。 – チームの連携を強化、個人のスキルも伸ばす。