Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWSが分からん人に送るFargateのススメ
Search
Harutaka TAKEUCHI
July 22, 2019
Programming
1.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSが分からん人に送るFargateのススメ
Harutaka TAKEUCHI
July 22, 2019
Other Decks in Programming
See All in Programming
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
950
Agents on Rails - Rails at Scale 2026
irinanazarova
0
520
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8k
APNsからLive Activityを開始する話
yumnumm
0
160
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
120
AIに “答え“を書かせるのを やめてみた
___akari11
0
110
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
570
setup-vp GitLab対応の裏側
naokihaba
0
160
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
120
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
310
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.9k
The browser strikes back
jonoalderson
0
1.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Utilizing Notion as your number one productivity tool
mfonobong
4
610
Between Models and Reality
mayunak
4
490
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
RailsConf 2023
tenderlove
30
1.6k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
AWS͕ ͔ΒΜਓʹૹΔ Fargateͷεεϝ
ࣗݾհ • ོ • nametaketakewo • ͳΊ͚ͨ • 2014 ߴߍதୀ
• 2019 େֶதୀ • தଔϑϦʔϥϯεWebΤϯδχΞ
͜Μͳࣄ͋Γ·ͤΜ͔ʁ • AWS͔ΒΜͷʹຊ൪ڥͷߏஙͱӡ༻Λ ͞Εͯ͠·ͬͨʂ • ։ൃʹूத͍͔ͨ͠Βڥߏஙӡ༻ʹ࣌ؒ ίετ͔͚ͨ͘ͳ͍(͔͚ΒΕͳ͍)ʂ
AWS Fargateͬͯʁ • αʔόʔϨείϯςφ࣮ߦαʔϏε • ECS্ͷػೳ • ECSEC2্ͰίϯςφΛཧ • FargateEC2Λҙࣝͤͣίϯςφͷཧʹ
ूதͰ͖Δ
FargateΛબࢶʹೖΕΔ࣌ • ։ൃʹDockerΛ͍ͬͯΔ • Πϯϑϥٴͼӡ༻୲ऀ/νʔϜ͕ډͳ͍ • ͳΜͱͳ͘EC2Ͱӡ༻(͠Α͏ͱ)͍ͯ͠Δ
FargateಋೖͰղܾ͠ಘΔ՝ • ॴҦαʔόʔͷཧ • ύοέʔδϚωδϝϯτ • જࡏతͳηΩϡϦςΟϦεΫ • ֤छϦιʔε(CPU, Memory,
Disk)ͷࢹɾཧ • ίϯςφͱ͍͏੍ݶ͕՝͞ΕΔࣄͰڥߏஙΞϯνύλʔϯΛ౿Έʹ͍͘ • ຊ൪ڥͷ22port։͖ͬͺͳ͠ • ϩΪϯά͕·ͱʹߦΘΕ͍ͯͳ͍ • 1αʔόʔͰແݶʹϓϩηε͕ͬͯΔ
༻ޠͷཧ • Ϋϥελʔ • αʔϏεΛෳ࣋ͭ͜ͱ͕Ͱ͖Δ • αʔϏε • 1ͭͷΫϥελʔʹඥ͖ɺ1ͭͷλεΫఆٛΛ࣋ͭ͜ͱ͕Ͱ͖Δ •
λεΫఆٛ • ෳͷαʔϏεʹඥ͖ɺෳͷίϯςφఆٛΛ࣋ͭ͜ͱ͕Ͱ͖Δ • ͜ͷఆٛʹج͖ͮαʔϏε͕ෳͷλεΫΛ࣮ߦ͢Δ • λεΫͰར༻ͨ͠Ϧιʔεʹج͖ͮར༻ྉ͕ܾۚఆ͢Δ • ίϯςφఆٛ • 1ͭͷλεΫఆٛʹඥ͘ • ࣮ࡍʹՔಇͤ͞ΔίϯςφͷઃఆΛߦ͏
࣮ࡍͷߏஙྫͱ αʔϏεʹ͏มԽ
RailsͷΈΛͬͨ γϯϓϧͳߏ
Ϋϥελʔ • ςϯϓϨʔτʮωοτϫʔΩϯάͷΈʯ
λεΫఆٛ • FARGATEΛબ • ެ։ϙʔτΛࢦఆ͢ΔͷΛΕͳ͍ • ίϯςφΠϝʔδΛͲ͔͜ʹΞοϓϩʔυ͢ Δඞཁ͕͋Δ • AWS
ECR͕Φεεϝ
αʔϏε • LBΛඥ͚ͮΔඞཁ͕͋Δ͕ɺλʔήοτλΠ ϓipΛࢦఆ
service cluster task task Rails Rails
ඇಉظϫʔΧʔΛՃ
αʔϏεͱλεΫఆٛΛՃ • αʔϏεͷݕग़αʔϏεؒͰ௨৴͕ඞ ཁͳࡍʹ༻ • gRPCΛར༻͢Δ߹ඞཁ • ࠓճͷΑ͏ͳྫ(RedisΛհ͢)Ͱෆཁ
api-service cluster task task Rails Rails worker-service task Rails
όοΫΤϯυͱ ϑϩϯτΤϯυΛׂ
αʔϏε͔λεΫ͔ • αʔϏε(ૄ݁߹) • λεΫ(ີ݁߹) • ಉҰλεΫͷίϯςφlocalhostͰ௨৴Ͱ͖Δ • ඇӬଓετϨʔδڞ༗(λεΫετϨʔδ)͕͑Δ •
RailsͷϫʔΧʔ(ActiveJob)ͷ߹ผαʔϏεʹͯ͠ͳ͍ • Nginx+Node.jsͷ߹ετϨʔδڞ༗௨৴͕ൃੜ͢ΔҝಉαʔϏε
api-service cluster task task Rails Rails front-service task Nginx Node.js
worker-service task Rails task Nginx Node.js
σϓϩΠͲ͏Μͷ? • ΠϝʔδΛߋ৽͠ɺλεΫఆٛͷ৽ϦϏδϣ ϯΛ࡞͠ɺαʔϏεΛߋ৽ • αʔϏε࡞࣌ʹબͨ͠σϓϩΠϝϯτλ Πϓʹै͍ࣗಈͰσϓϩΠ͞ΕΔ • aws-cliTerraformΛ༻͍ͯCI/CDܦ༝ͰҰ࿈ ͷ࡞ۀΛߦ͑Δ
ϚΠάϨʔγϣϯͲ͏Μͷ? • ϚΠάϨʔγϣϯ༻ͷαʔϏεΛ࡞͢Δ • ྉۚλεΫ͕ར༻ͨ͠Ϧιʔεʹൃੜ͢ ΔͷͰྃ࣍ୈ͙͢ʹऴྃ͢Δ
ϩΪϯάͲ͏Μͷ? • CloudWatch LogsͰӾཡՄ • λεΫఆٛͰλεΫຖʹϩάઃఆ͕ߦ͑Δ • docker logsͰදࣔ͞ΕΔͱಉ͡ɺͭ·Γ ඪ४ग़ྗͱඪ४Τϥʔग़ྗ͕ϩΪϯά͞ΕΔ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠