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からGCPに載せ替えた話 💪 / kojin_kai...
Search
kikunantoka
February 06, 2020
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
個人開発しているサービスのインフラをAWSからGCPに載せ替えた話 💪 / kojin_kaihatsu_night_3
kikunantoka
February 06, 2020
More Decks by kikunantoka
See All by kikunantoka
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / gotanda_js_13
kikunantoka
1
2.4k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / frontend_night_1
kikunantoka
3
1.8k
サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019
kikunantoka
1
1.4k
Gatsby.jsとNetlifyとの付き合い方 / gatsby-js-and-netlify
kikunantoka
3
640
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
740
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.9k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
370
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
860
MVPに絞ったら個人開発でもちゃんとリリースできた話
kikunantoka
1
570
Other Decks in Technology
See All in Technology
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
100
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
1.1k
APIセキュリティを組織で実現するには~注力する点と設計・実装に入れたい対策~
riiimparm
3
860
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
1
770
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
200
When Token Pruning is Worse than Random: Understanding Visual Token Information in VLLMs
sansantech
PRO
0
220
VPCでもFloatingIPを使いたいんだ
y_kotani
1
140
書籍『生成AIの安全性入門』の入門
wataoka
0
150
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
510
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
510
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
290
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Exploring anti-patterns in Rails
aemeredith
3
490
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
760
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Unsuck your backbone
ammeep
672
58k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
The untapped power of vector embeddings
frankvandijk
2
1.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
GitHub's CSS Performance
jonrohan
1033
470k
Transcript
ݸਓ։ൃ͍ͯ͠ΔαʔϏεͷΠϯϑϥΛ AWS͔ΒGCPʹࡌͤସ͑ͨ ݸਓ։ൃ Night #3 on 2020/02/06 @kikunantoka
ࣗݾհ about: name: Fumitaka Kikukawa twitter: @kikunantoka work_at: giftee Inc.
job: software engineer // ࠷ۙFlutterͰΞϓϦΛ։ൃ͍ͯ͠·͢
ݸਓ։ൃΛ͍ͯ͠ΔϞνϕʔγϣϯ • ࡞Γ͍ͨͱࢥͬͨͷɺ໘ന͍ͱࢥͬͨͷΛࣗ༝ؾ··ʹ࡞Γ͍ͨ • ٕज़ͷΩϟονΞοϓ • ৽͍ٕ͠ज़͕ग़͖͔ͯͨΒࢼͯ͠ΈΔ • ۀͰRailsͷόʔδϣϯΛ্͛ΔલʹݸਓͷαʔϏεͰૉৼΓ͢Δ •
͋ΘΑ͘ϚωλΠζ
ݸਓ։ൃΛ͍ͯ͠ΔϓϩμΫτ https://nakamy.com
ݸਓ։ൃΛ͍ͯ͠ΔϓϩμΫτ User 01 User 02 User 03 User 04 •
ࣗͷϗʔϜը໘ΛΞοϓϩʔυ͢ΔͱɺTwitterͷ༑ͩͪͷϗʔϜը໘Λ͚Δ
2લ
NakamyΛࢧ͑Δٕज़
NakamyΛࢧ͑Δٕज़ • Route 53 • S3 + Cloud Front •
RDS • Certificate Manager • ELB • EC2
NakamyΛࢧ͑Δٕज़ • AWSͷແྉͰ͍ͬͯͨ
ݸਓ։ൃ͋Δ͋Δ • ͳ͔ͳ͔αʔϏεউखʹ·Βͳ͍ • ΊΔͨΊʹΠϯλϏϡʔͱ͔Λͯ͠ɺϗʔϜը໘Λ͘ͱ͍͏͜ͱ͕໘ന͍ͱײ ͯ͡Β͑ΔΑ͏ͳϝσΟΞΛ࡞Ζ͏ • ͔ͤͬͩ͘͠ɺ৽͍ٕ͠ज़Λࢼͯ͠Έ͍͔ͨΒGatsbyJSͬͯΈΑ͏ • ͦͷલʹݸਓϒϩάͪΐ͏Ͳ࡞Γม͔͔͑ͨͬͨΒઌʹϒϩάͰࢼͯ͠ΈΑ͏
• ͓ͬɺ৽͍͠αʔϏεࢥ͍͍͔ͭͨΒϓϩτλΠϓΛ࡞ͬͯΈΑ͏
…࣌ա͗ɺ1ޙ
ແྉऴྃͷ͓Βͤ • 5,000ԁ/݄ ͔͔ͬͱΔΜ͚…ʂ
ແྉऴྃͷ͓Βͤ • 5,000ԁ/݄ͷ༁ • EC2 1,000ԁ/݄ • ALB 2,000ԁ/݄ •
RDS 2,000ԁ/݄
Ϋϩʔζ͢Δʁ • ݩʑ1ͰͩΊͩͬͨΒΫϩʔζ͠Α͏ͱࢥ͍ͬͯͨ • ͔ͤͬ͘࡞ͬͨ͠ͳ͋ • ৽͍͠ࢼΈͷૉৼΓͷͱ͓͖͍ͯͯͨ͠͠ • ΤϯδχΞͱͯ͠ϙʔτϑΥϦΦతͳཁૉ͋Δ •
αʔϏεΛΊΔͨΊʹ৭ʑͱࢼͯ͠Έ͍ͨ • ͤΊͯɺΠϯϑϥඅ༻Λ͑ΔྗΛ͠Α͏
վΊͯཁ݅ • RailsΛಈ͔͍ͨ͠ • Πϯϑϥඅ༻ΛͳΔ͍͑ͨ͘ • αʔϏε͕·ͬͨ࣌ʹεέʔϧ͢ΔϞσϧʹ͍ͨ͠ • ͬͺΓHerokuྑ͍ͳ͋ɺݸਓͰTokyoϦʔδϣϯ͑Δͱྑ͍ͷʹͳ͋
GCPʹม͑ͯΈͨ • ࣾͷLTձͰಉ྅͔ΒCloud Runͱ͍͏໘ന͍ͷ͕ग़͖ͯͨͱ͍͏Λฉ͍ͨ https://speakerdeck.com/mochisuna/docker-multi-stage-build
GCPʹม͑ͯΈͨ • අ༻Λ͑ΒΕͦ͏ • ࣄͰAWSΛ͍ͬͯͨͷͰɺGCPΛ৮ͬͯΈͯɺٕज़ݟΛ͔͛ͨͬͨ • ͍ͬͦͷ͜ͱͯ͢ͷϦιʔεΛAWS -> GCPʹͰ͖ͳ͍͔ͳ͋
NakamyΛࢧ͑Δٕज़ • Route 53 • S3 + Cloud Front •
RDS • Certificate Manager • ELB • EC2
NakamyΛࢧ͑Δٕज़ • Route 53 • S3 + Cloud Front •
RDS • Certificate Manager • ELB • EC2 • Google Domains • Cloud Storage ( + Cloud CDN) • Cloud SQL • Cloud Run • Cloud Run • Cloud Run
NakamyΛࢧ͑Δٕज़ • Route 53 • S3 + Cloud Front •
RDS • Certificate Manager • ELB • EC2 • Google Domains • Cloud Storage ( + Cloud CDN) • Cloud SQL • Cloud Run • Cloud Run • Cloud Run
Google Domains
Google Domains • GoogleͷυϝΠϯཧαʔϏε • Whoisอޢ͋Δ • ҰԠ·ͩBETA • Ҡߦݩʹظݶ͕͍ͬͯͨΒɺͦͷظݶ
+ 1ͷܖʹͳΔɺ͍͞͠ • Route 53ͰҠϩοΫΛղআͯ͠ɺҠߦਃΛ͢Δ • AWSͷ࡞ۀʹɺ1ि͙ؒΒ͍͔͔ΔͷͰҙ
NakamyΛࢧ͑Δٕज़ • Route 53 • S3 + Cloud Front •
RDS • Certificate Manager • ELB • EC2 • Google Domains • Cloud Storage ( + Cloud CDN) • Cloud SQL • Cloud Run • Cloud Run • Cloud Run
Cloud Storage • Google͕ఏڙ͢ΔΦϒδΣΫτετϨʔδ
NakamyΛࢧ͑Δٕज़ • Route 53 • S3 + Cloud Front •
RDS • Certificate Manager • ELB • EC2 • Google Domains • Cloud Storage ( + Cloud CDN) • Cloud SQL • Cloud Run • Cloud Run • Cloud Run
Cloud SQL • ϑϧϚωʔδυϦϨʔγϣφϧσʔλϕʔεαʔϏε • Ұ൪খ͍͞ΠϯελϯελΠϓͷdb-f1-microͰɺ$9.96 • MySQLαϙʔτ͞Ε͍ͯΔ • ετϨʔδࣗಈ૿Ճ
• ఆظతʹ1࣌ؒͷϝϯςφϯε͕ೖΔ͕࣌ؒࢦఆͰ͖Δ • 24࣌ؒಈ࡞͢Δ͜ͱΛอূ͢ΔαʔϏεͩͱݫ͍͔͠͠Εͳ͍
NakamyΛࢧ͑Δٕज़ • Route 53 • S3 + Cloud Front •
RDS • Certificate Manager • ELB • EC2 • Google Domains • Cloud Storage ( + Cloud CDN) • Cloud SQL • Cloud Run • Cloud Run • Cloud Run
Cloud Run
Cloud Run • ίϯςφΛαʔόϨεͰ࣮ߦ͢ΔαʔϏε • ࠷ۙBETA͕֎Εͨ • DockerͰಈ͔ͤΔͷͩͬͨΒಈ͘ • ΧελϜυϝΠϯ
& SSLԽGoogle DomainsʹυϝΠϯ͕͋Ε؆୯ • ΦʔτεέʔϦϯάͯ͘͠ΕΔ
Cloud Run • ΞΫηε͕དྷͳ͚ΕɺΠϯελϯε͕0ʹͳΔͷͰɺແྉʹऩ·Δʢʁʣ
ಈ͍ͨʂ
අ༻Ͳ͏ͳ͔ͬͨ
5,000ԁ -> 1,500ԁఔʹͳͬͨ • ओʹDBͷඅ༻
͕ɺ͔͠͠՝͕͋ͬͨ
Cloud RunͷΦʔτεέʔϦϯά͕ͤ͘ͷͩͬͨ • 1Πϯελϯε͋ͨΓ80ϦΫΤετࡹ͚Δ͕ɺϦΫΤετͷ૿ՃͰఆ͍ͯ͠ ΔΑ͏ͰɺٸʹϦΫΤετ͕૿͑ΔͱϦΫΤετ͕গͳͯ͘ͲΜͲΜΠϯελ ϯεΛ૿ͦ͏ͱ͢Δ • ཪͰউखʹ૿͓͍ͯͯ͠ɺϔϧενΣοΫ͕௨ͬͨΒαʔϏεΠϯͯ͘͠ΕΕ ͍͍ͷ͚ͩΕͲɺϨεϙϯεΛ্ཱͨͤͯͪ͛Δ༷ͷ༷ •
Rails͕ಈ࡞͢ΔڥΛϓϩϏδϣχϯά͢Δʹ10ඵఔ͔͔ͬͯ͠·͏ͷͰɺ Λ૿͢λΠϛϯάͷϦΫΤετΛҾ͍ͨਓ͔ͳΓͨͤͯ͠·͏
Cloud RunͷΦʔτεέʔϦϯά͕ͤ͘ͷͩͬͨ • ্ݶΛ1ʹ͓͚ͯ͠ɺͦΕҎ্εέʔϧ͠ͳ͍ͷͰʁ • ೦ͳ͕Βɺͦ͏͍͏͜ͱͳ͘ʮRate exceeded.ʯΛฦͯ͠͠·͏ • ԼݶΛࢦఆͰ͖ΔͱճආͰ͖Δ͔͠Εͳ͍͕ɺݱঢ়ʮཧରͷ Cloud
Run Ͱ ɺίϯςφ Πϯελϯεͷ࠷খͷઃఆ·ͩαϙʔτ͞Ε͍ͯ·ͤΜɻʯͱͷ ͜ͱ
ࠓޙͲ͏͢Δ͔ • αʔϏεͱͯ͠ʮRate exceeded.ʯΛฦͯ͠͠·͏ͷͲ͏ͩΖ͏͔ • ίϯςφͷαΠζΛݮΒ͢ྗΛͯ͠ΈΔʁGKEΛࢼͯ͠ΈΔʁ • HerokuͰྑ͍ͷͰʁ • ͦͦRailsΊΔʁRDBΛΊͯCloud
FirestoreͳͲΛ͏ߏʹ͢Δʁ • Έͳ͞ΜͲ͏͍ͯ͠Δͷ͔࠙ձͳͲͰ͓ฉ͔͍ͤͩ͘͞
None
ίϚʔγϟϧ - We are hiring !!!