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
Firestore東京リージョン利用に伴う Firebaseプロジェクト移行手順 / alu-...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hikaru Tooyama
February 18, 2019
Business
2.6k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firestore東京リージョン利用に伴う Firebaseプロジェクト移行手順 / alu-firestore #アル
Hikaru Tooyama
February 18, 2019
More Decks by Hikaru Tooyama
See All by Hikaru Tooyama
アルとAlgoliaと私 / alu_algolia
vexus2
8
2.5k
Firestoreを本番運用して得た知見と事件簿 / manga-village
vexus2
6
2.6k
エンジニア向けサービスを提供するチームでの開発環境改善
vexus2
1
1.3k
Other Decks in Business
See All in Business
今日から始めるセルフマネジメント/A Practical Guide to Self-Management
ikuodanaka
1
3.3k
ClaudeCode × Hubspot 営業・マーケティングAI段階的成長ロードマップ
nagatsu
0
750
株式会社ripples(リップルズ)-Company Deck
ripples_deck
0
530
Fable5との実践から生まれた非エンジニア組織のループエンジニアリング
nagatsu
0
690
余白を生むセルフマネジメント/Self-Management That Creates Breathing Room
ikuodanaka
2
2.8k
プロシェアリング白書2026_PROSHARING_REPORT_2026
circulation
0
180
会社紹介資料
gatechnologies
2
190k
マルチエージェント入門:チームで動くAIと非エンジニアのための設計(Claude Code)
forest8810
0
340
Copilotで資料を作るようになって仕事のやり方が変わった話
aonomasahiro
2
690
01_全社_FLUX採用ピッチ資料_Ver.5.4
flux
11
220k
タケウチグループRecruit
takeuchigroup
0
13k
Kasanare_Recruitng_Pitch
kyoichi_yasuda
0
640
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
220
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
sira's awesome portfolio website redesign presentation
elsirapls
0
300
The Curious Case for Waylosing
cassininazir
1
430
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
How to build a perfect <img>
jonoalderson
1
5.8k
Documentation Writing (for coders)
carmenintech
77
5.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Transcript
1 Firestore౦ژϦʔδϣϯར༻ʹ͏ FirebaseϓϩδΣΫτҠߦखॱ Ξϧגࣜձࣾɹԕࢁߊ !WFYVT
2 ࣗݾհ - Ξϧגࣜձࣾ ԕࢁߊ (@vexus2) - ݱ৬Ͱ VP of
Product - ݩʑBackend(Ruby/PHP)͕ͩ࠷ۙFrontendدΓ - TypeScript / Vue / Nuxt / Firebase ͳͲ - Firebaseྺ16ϲ݄͘Β͍ - ຊ൪ӡ༻ྺ8ϲ݄͘Β͍ - झຯϚϯΨΛಡΉ͜ͱ
3 ࣗݾհ ແྉͰఏڙ͞Ε͍ͯΔອըΛूΊͨʮອըϏϨοδʯΛݸਓͰӡӦɻ ϐʔΫ࣌ͷաڈ30ؒͰ1060ສPV͕͋ΓɺͦͷޙΞϧϦϒϥϯυɻ Xxx ίϛϡχςΟ GoogleͰʮອըଜʯͰݕࡧ͢Δͱ1Ґʹ Yahoo!χϡʔεͷτοϓʹ(هࣄݩɿITmedia)
4 Ξϧͱʁ W
5 ࠓ͢༰ͷલఏհ ΞϧɺϚϯΨϑΝϯͷͨΊʹɺϚϯΨΛൃݟͰ͖ΔศརͳαʔϏεΛఏڙ͢Δ ϚϯΨ୳͠ͷใαʔϏεͰ͢ɻ iOS/Web൛ΛͦΕͧΕఏڙதɻ
6 ౦ژϦʔδϣϯͷҠߦ W
7 Firestoreͷલఏ
8 ؆қͳϕϯνϚʔΫ ଌఆ2019/1/25 ࣮ߦڥ ॳճ 2ճҎ߱ us-central 1݅औಘ 892.3ms 202.3ms
20݅औಘ(SubCollection) 864ms 260.8ms asia-northeast1 1݅औಘ 370.3ms 125.6ms 20݅औಘ(SubCollection) 461.3ms 156.4ms ࠃͰαʔϏεΛల։͢Δ্Ͱ1ඵͰૣ͘TokyoϦʔδϣϯʹ Ҡߦ͢Δʹӽͨ͜͠ͱͳ͍͕ɺ໘ͳͱ͜Ζ͕͍͔ͭ͋͘Δɻ ࢼߦճ100ճఔͷ؆қతͳϕϯνϚʔΫͰͷฏۉɻ ࣮ߦωοτϫʔΫڥͳͲʹΑͬͯมΘΔ͕ࢀߟ·Ͱɻ
9 Firestoreͷલఏ 1. Cloud FirestoreͷσϑΥϧτϦʔδϣϯ us-centralɻ βҎલ͔Β༻͍ͯ͠ΔϓϩδΣΫτશ෦͜ͷঢ়ଶɻ 2. FirestoreͷϦʔδϣϯ ʮFirebaseϓϩδΣΫτʯͷ࡞࣌
ͷΈมߋՄೳ 3. Firestore1ͭͷϓϩδΣΫτʹ͖ͭ 1͔ͭ͠࡞Ͱ͖ͳ͍ (GCPͷϓϩδΣΫτʹඥ͍͍ͯΔ) FirestoreͷϦʔδϣϯΛมߋ͢ΔͨΊʹ FirebaseϓϩδΣΫτΛ࡞Γ͢ඞཁ͕͋Δ
10 खॱͱΔ͜ͱ W
11 ϓϩδΣΫτҠߦ·Ͱͷશମ૾ - GCPϢʔβͳͲͷཧɺҠߦ - PubSub, Cloud Scheduler, BigQueryͳͲ༻͍ͯ͠ΔGCPαʔϏεͷҠߦ -
ΞϓϦଆͷॾʑ͖ઌมߋͨ͠ঢ়ଶͰΞϓϦ৹ࠪΛ௨͓ͯ͘͠ - Force UpdateͳͲͷΈେৎ͔ʁཁ֬ೝ - Cloud StorageͷҠߦઌͷBucketΛ࡞͓ͬͯ͘ - ϓϩδΣΫτҠߦʹ͏Ϣʔβ੍ͷ֬ೝ - ϝϯςφϯε࣌ؒͷࠂ - σʔλྔʹΑΔ͕Ұ൪ֻ͕͔࣌ؒΔͷFirestoreͷσʔλҠߦ ࣄલʹΔ͜ͱ ϝϯςφϯεதʹΔ͜ͱ - Firestore AuthͷσʔλҠߦ - FirestoreͷσʔλͷҠߦ - Cloud StorageͷσʔλҠߦ - CDNͷOriginͷઃఆͳͲ͋ΕΕͣʹ - Cloud FunctionsͷσϓϩΠ - ϝϯςφϯεऴྃ࣌ͷForce Update
12 ϓϩδΣΫτҠߦʹ͏Ϣʔβ੍ͷ֬ೝ - Firebase AuthenticationImport/Export͕Ͱ͖ΔͷͰ৽ϓϩδΣΫτͰҠ ߦલͱಉ͡ϢʔβͰϩάΠϯ͕Ͱ͖Δ(ιʔγϟϧϩάΠϯؚΉ) - ͨͩ͠ɺϩάΠϯঢ়ଶ͕Ҿ͖ܧ͕Εͳ͍ͨΊಗ໊(Anonymous)Ϣʔβͷσʔ λ࣮࣭ফ͑Δ -
·ͨɺϨΞέʔε͕ͩʢΞϧͷΑ͏ʹʣGoogleϩάΠϯʹՃͰGmailͳͲ ͷݖݶΛऔಘ͍ͯ͠Δ߹ɺ৽ϓϩδΣΫτҠߦޙʹ࠶શϢʔβʹݖݶ ֬ೝը໘ΛܦͯaccessTokenΛऔಘ͢Δඞཁ͕͋Δɻ ಗ໊Ϣʔβ͕ϝϯςҠલͷσʔλ͕͑ͳ͘ͳͬͯͳ͍͔ɺ ͕͋ΔΑ͏Ͱ͋ΕҠߦલʹଞϩάΠϯͤ͞Δ͜ͱͰ σʔλ͕ফ͑ͳ͘ͳΔΑ͏௨ظؒΛઃ͚ΔඞཁͳͲݕ౼͢Δ
13 Firestore AuthͷσʔλҠߦ - جຊతʹExportͯ͠Import͢Δ͚ͩɻ - લड़ͷͱ͓Γಗ໊ϩάΠϯϩάΠϯঢ়ଶ͕Ҿ͖ܧ͛ͳ͍ͷͰɺʢ৽ϓϩδΣ Ϋτʹಗ໊ϢʔβͷϊΠζΛ࣋ͪࠐΈͨ͘ͳ͍߹ʣExport͞ΕͨJSON ͷத͔Βಗ໊ϢʔβͷσʔλΛআͯ͠ྑ͍ɻ $
firebase auth:export firebase-auth-users.json --format json --project چFirebaseϓϩδΣΫτ $ firebase auth:import firebase-auth-users.json --project ৽FirebaseϓϩδΣΫτ https://gist.github.com/vexus2/d5eecdc76cf94526645656c7a01f87c9
14 FirestoreͷσʔλͷExport/Import چFirestore→GCSʹσʔλΛExportɺGCS→৽Firestoreʹ Import͢Δɻ ͨͩ͠ɺಉҰϦʔδϣϯͷGCS͔Β͔͠Import/ExportͰ ͖ͳ͍ͷͰBucketΛ2ͭ༻ҙ͢Δඞཁ͕͋Δɻ چFirestore (us-central) ৽Firestore (asia-northeast1)
gs:// backup-us (us-central1) gs:// backup-asia (asia-northeast1)
15 FirestoreͷσʔλͷExport/Import $ gcloud beta firestore export gs://backup-us --project چFirebaseϓϩδΣΫτ
$ gsutil ls -a gs://backup-us | tail -n1 # όοΫΞοϓϑΝΠϧ֬ೝ $ gsutil cp -r `gsutil ls -a gs://backup-us | tail -n1` gs://backup-asia $ gsutil ls -a gs://backup-asia | tail -n1 # όοΫΞοϓϑΝΠϧ֬ೝ $ gcloud beta firestore import `gsutil ls -a gs://backup-asia | tail -n1` --project ৽Firebaseϓϩδ ΣΫτ https://gist.github.com/vexus2/d5eecdc76cf94526645656c7a01f87c9
16 ·ͱΊ W
17 ·ͱΊ - ʢࣗࣾͷαʔϏε͕ʣຊ൪ϩʔϯνલͳΒɺҠߦʮ͍͑ͬʯͰҰؾʹ ͬͪΌ͏ͷ͕ಘࡦɻ - طʹϩʔϯνޙͳΒɺ૿͍͑ͯ͘طଘσʔλͱͷ߹ੑΛ୲อ͢ΔͨΊʹϝ ϯςφϯεΛೖΕͯҠߦ͢Δͷ͕ݱ࣮తɻ - ਖ਼Δ͜ͱଟ͍͠ߟྀࣄ߲ଟ͍ͷͰେม͕ͩɺΔՁेʹ͋
Δɻ
18