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
1.2k
個人開発しているサービスのインフラを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.4k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / frontend_night_1
kikunantoka
3
1.6k
サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019
kikunantoka
1
1.4k
Gatsby.jsとNetlifyとの付き合い方 / gatsby-js-and-netlify
kikunantoka
3
600
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
690
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.8k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
330
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
820
MVPに絞ったら個人開発でもちゃんとリリースできた話
kikunantoka
1
530
Other Decks in Technology
See All in Technology
3年ぶりの re:Invent 今年の意気込みと前回の振り返り
kazzpapa3
0
190
AIと共に開発する時代の組織、プロセス設計 freeeでの実践から見えてきたこと
freee
3
520
The Twin Mandate of Observability
charity
1
1.3k
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
10
1.6k
AI-ready"のための"データ基盤 〜 LLMOpsで事業貢献するための基盤づくり
ismk
0
150
ピープルウエア x スタートアップ
operando
3
3.8k
Data & AIの未来とLakeHouse
ishikawa_satoru
0
710
メタプログラミングRuby問題集の活用
willnet
2
730
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
170
隙間ツール開発のすすめ / PHP Conference Fukuoka 2025
meihei3
0
260
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
390
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Practical Orchestrator
shlominoach
190
11k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Gamification - CAS2011
davidbonilla
81
5.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
Side Projects
sachag
455
43k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
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 !!!