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が分からん人に送るFargateのススメ
Search
Harutaka TAKEUCHI
July 22, 2019
Programming
1
1.9k
AWSが分からん人に送るFargateのススメ
Harutaka TAKEUCHI
July 22, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
210
CSC307 Lecture 04
javiergs
PRO
0
660
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Oxlintはいいぞ
yug1224
5
1.4k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
CSC307 Lecture 07
javiergs
PRO
1
560
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
MUSUBIXとは
nahisaho
0
140
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
680
ぼくの開発環境2026
yuzneri
0
250
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Agile that works and the tools we love
rasmusluckow
331
21k
Believing is Seeing
oripsolob
1
59
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Fireside Chat
paigeccino
41
3.8k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
160
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Six Lessons from altMBA
skipperchong
29
4.2k
WCS-LA-2024
lcolladotor
0
450
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
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Ͱදࣔ͞ΕΔͱಉ͡ɺͭ·Γ ඪ४ग़ྗͱඪ४Τϥʔग़ྗ͕ϩΪϯά͞ΕΔ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠