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.1k
個人開発しているサービスのインフラを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.3k
Gatsby.jsとNetlifyとの付き合い方 / gatsby-js-and-netlify
kikunantoka
3
580
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
640
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.8k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
310
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
800
MVPに絞ったら個人開発でもちゃんとリリースできた話
kikunantoka
1
510
Other Decks in Technology
See All in Technology
Project Referencesを活用した実行環境ごとのtsconfig最適化
itatchi3
1
230
CSS polyfill とその未来
ken7253
0
120
撤退危機からのピボット : 4年目エンジニアがリードする TypeScript で挑む事業復活 / crisis-to-pivot-4th-year-engineer-ts-relaunch
carta_engineering
2
760
Digitization部 紹介資料
sansan33
PRO
1
3.7k
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
yasunori0418
1
180
AWS LambdaをTypeScriptで動かして分かった、Node.jsのTypeScriptサポートの利点と課題
smt7174
1
2.8k
データ戦略部門 紹介資料
sansan33
PRO
1
3.1k
AIオンボーディングとAIプロセスマイニング
nrryuya
5
1.1k
declaration mergingの威力:ライブラリアップデート時の書き換え作業を90%短縮するテクニック
yutake27
2
250
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
810
ゼロコードで実現! - OpenTelemetryとOCI APM Agentによる簡単アプリケーション監視 - / Zero-Code Observability with OpenTelemetry and OCI APM
oracle4engineer
PRO
1
180
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
17
12k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.3k
For a Future-Friendly Web
brad_frost
178
9.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Music & Morning Musume
bryan
47
6.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
4 Signs Your Business is Dying
shpigford
183
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
650
Making Projects Easy
brettharned
116
6.2k
Building Applications with DynamoDB
mza
95
6.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
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 !!!