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
0
980
個人開発しているサービスのインフラをAWSからGCPに載せ替えた話 💪 / kojin_kaihatsu_night_3
kikunantoka
February 06, 2020
Tweet
Share
More Decks by kikunantoka
See All by kikunantoka
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / gotanda_js_13
kikunantoka
1
2.3k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / frontend_night_1
kikunantoka
3
1.5k
サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019
kikunantoka
1
1.3k
Gatsby.jsとNetlifyとの付き合い方 / gatsby-js-and-netlify
kikunantoka
3
540
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
560
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.8k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
280
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
740
MVPに絞ったら個人開発でもちゃんとリリースできた話
kikunantoka
1
490
Other Decks in Technology
See All in Technology
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
200
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
100
Wantedly での Datadog 活用事例
bgpat
1
540
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
Work as an App Engineer
lycorp_recruit_jp
0
100
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
C++26 エラー性動作
faithandbrave
2
800
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
620
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
How to Ace a Technical Interview
jacobian
276
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
GitHub's CSS Performance
jonrohan
1030
460k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Cult of Friendly URLs
andyhume
78
6.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
For a Future-Friendly Web
brad_frost
175
9.4k
Bash Introduction
62gerente
608
210k
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 !!!