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
950
個人開発しているサービスのインフラを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
530
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
550
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.8k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
270
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
730
MVPに絞ったら個人開発でもちゃんとリリースできた話
kikunantoka
1
490
Other Decks in Technology
See All in Technology
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
250
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
Engineer Career Talk
lycorp_recruit_jp
0
190
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1.1k
Lexical Analysis
shigashiyama
1
150
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
430
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Designing Experiences People Love
moore
138
23k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
The Invisible Side of Design
smashingmag
298
50k
Navigating Team Friction
lara
183
14k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Become a Pro
speakerdeck
PRO
25
5k
Thoughts on Productivity
jonyablonski
67
4.3k
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
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 !!!