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
普段使ってるインフラ構成などについて
Search
Kazuhiro Tamiwa
February 18, 2018
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
普段使ってるインフラ構成などについて
AWSとかDocker諸々基本的なところから
Kazuhiro Tamiwa
February 18, 2018
More Decks by Kazuhiro Tamiwa
See All by Kazuhiro Tamiwa
数学的思考 × ベンチャーの起業 ~理系の経験 こうやって役立ちました~
kazuhirotamiwa
0
140
実際の新規事業開発の実務にて各NoCodeサービスを利用して感じたこと
kazuhirotamiwa
0
220
フルリモートで事業にコミットするエンジニア組織とは
kazuhirotamiwa
2
1.3k
関西にいるからこそ感じる関西U30エンジニアの将来を見据えた生存戦略
kazuhirotamiwa
2
880
社内LT_180902.pdf
kazuhirotamiwa
0
98
Other Decks in Programming
See All in Programming
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
210
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.1k
スマートグラスで並列バイブコーディング
hyshu
0
270
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
AIで効率化できた業務・日常
ochtum
0
160
Webフレームワークの ベンチマークについて
yusukebe
0
190
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
Lessons from Spec-Driven Development
simas
PRO
0
240
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
340
How to make the Groovebox
asonas
2
2.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Prompt Engineering for Job Search
mfonobong
0
360
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Thoughts on Productivity
jonyablonski
76
5.2k
Making Projects Easy
brettharned
120
6.7k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
400
Designing for Performance
lara
611
70k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
1 ຽྠҰത ීஈͬͯΔΠϯϑϥߏͳͲʹͭ ͍ͯ
2 ࣍ • ࣗݾհ • શମߏ • Docker • CI
/ AWS ECSσϓϩΠ • CloudFormationʹΑΔઃఆཧ ࣌ؒΓͳ͍ͷͰলུ͠ͳ͕Βɻɻɻ ؒҧͬͨ͜ͱઆ໌ͯͨ͠ΒऴΘ͔ͬͯ Βͬͦ͜Γڭ͍͑ͯͩ͘͞m(_ _)m
3 ࣗݾհ • ̠ɽ̨ɽϩδϟʔεגࣜձࣾ • ίʔυϨϏϡʔ • ΞϓϦ։ൃ / Σϒ։ൃ
/ ͦͷଞR&D • ࠷ۙΑ͘͏ݴޠ PHP/Ruby/Java/Kotlin/Swift etc Ұॹʹ࡞ͬͨਓ→
4 શମߏ
5 Amazon Route 53 Application Load Balancer Auto Scaling group
web app server web app server Amazon S3 bucket CloudFront distribution Amazon RDS શମߏ Amazon RDS multi-AZ ϝʔϧૹ৴ Τϥʔࢹ CloudWatch Logs ϩʔΧϧ GitLab Runner GitLab ECS ECR GitLab PhalconPHP(PHP7.x) ϩάղੳ
6 AWSߏਤ
7 Docker
8 D o c k e r Docker ࣗલͰ։ൃڥͷ%PDLFSGJMF࡞ ࡞ͨ͠*NBHFΛ(JU-BC$POUBJOFS3FHJTUSZʹQSJWBUFʹอଘ
%PDLFS$PNQPTFΛ࡞ ˠ%# "QQMJDBUJPO 3FEJT &MBTUJD4FBSDI4PMS w ։ൃڥΛॳΊͯࢀՃ͢ΔϦϞʔτͷΤϯδχΞͰ3&"%.&͚ͩ Ͱઆ໌ͳ͠ʙ࣌ؒ͘Β͍Ͱߏஙͱ͍ํͷཧղ͕ྃ ͦͷ݁Ռ
9 ։ ൃ ڥ ஈ ֊Ͱ ಘ ΒΕͨ ͷ
Docker શһͷ։ൃڥͷ౷Ұ ηοτΞοϓͳͲͷ࣌ؒॖ ςϯϓϨʔτΞϓϦέʔγϣϯΛ࡞͢Δ͜ͱͰॳͷ͋Δ։ൃ
10 ECSσϓϩΠ
11 ج ຊ తྲྀ Ε ECSσϓϩΠ GitLab Runner (CI) GitLab
ECR GitLab Auto Scaling group web app server web app server ECS develop push master push ίϯςφ ΠϝʔδΛ push ίϯςφϦϙδτϦ
12 Gi t L a b R u nner ECSσϓϩΠ
$*πʔϧɻϊϦ$JSDMF$*5SBWJT$*Έ͍ͨͳ͔Μ͡ ઃఆϑΝΠϧZBNM (JU-BCͷQJQFMJOF͔Β
13 E C R ECSσϓϩΠ ίϯςφͷΠϝʔδϦϙδτϦ &$3&$4ͷϦϙδτϦ͔Β࡞
14 E C S ECSσϓϩΠ λεΫఆٛΛ࡞ ίϯςφͷใͷઃఆ %PDLFSΠϝʔδͷઃఆ$16ϝϞϦFUD ΫϥελʔΛ࡞
&$·ΘΓઃఆ &$ΠϯελϯελΠϓFUD αʔϏεΛઃఆ͢Δ ΫϥελʔͰ࣮ߦͯ͠ҡ࣋͢ΔλεΫఆٛΛઃఆ &-#ͷઃఆͳͲ
15 E C S ɿ λ ε Ϋ ECSσϓϩΠ
16 E C S ɿ Ϋ ϥε λʔ ECSσϓϩΠ
17 E C S ɿ Ϋ ϥε λʔ ECSσϓϩΠ
18 E C S ɿ α ʔ Ϗ ε ECSσϓϩΠ
←ΊͬͪΌॏཁ
19 E C S ɿ σ ϓ ϩ Πϝϯτ Φ
ϓγϣϯ ECSσϓϩΠ λεΫͷ: 4 ࠷খϔϧε: 50%ɺ࠷େ: 100% [ग़ల] https://aws.amazon.com/jp/ blogs/compute/amazon-ecs- launches-new-deployment- capabilities-cloudwatch- metrics-singapore-and- frankfurt-regions/ λεΫͷʹैͬͯɺߋ৽࣌ʹλεΫఆٛ ͷΠϯελϯεΛΫϥελʔʹஔ࣮ͯ͠ ߦঢ়ଶʹ͞ΕΔɻ͜ͷͱ͖4×50%=2ͣͭ ߋ৽͞ΕΔɹϩʔϦϯάɾσϓϩΠ
20 E C S ɿ σ ϓ ϩ Πϝϯτ Φ
ϓγϣϯ ECSσϓϩΠ λεΫͷ: 4 ࠷খϔϧε: 100%ɺ࠷େ: 200% [ग़ల] https://aws.amazon.com/jp/ blogs/compute/amazon-ecs- launches-new-deployment- capabilities-cloudwatch- metrics-singapore-and- frankfurt-regions/ Πϯελϯε8·Ͱ͑ΔͷͰɺ 4×100%=4͕Ұؾʹߋ৽͞ΕΔ ϒϧʔάϦʔϯɾσϓϩΠ
21 E C S ɿ st a g ingͱprod uctio
n ECSσϓϩΠ TUBHJOH ߏͰेͳͷͰɺλεΫͷɺ࠷খϔϧεɺ࠷େ ͰϩʔϦϯάɾσϓϩΠ QSPEVDUJPO OߏͰɺλεΫͷOɺ࠷খϔϧεɺ࠷େͰϩʔ ϦϯάɾσϓϩΠɻαʔϏεεέʔϧͨ͠Β࠷খϔϧεɺ ࠷େͷϒϧʔάϦʔϯɾσϓϩΠΛ࠾༻ɻ ྃޙ$*͔Β4MBDL ྃ௨
22 · Γϙ Π ϯτ ECSσϓϩΠ &-#Λ͋ͱ͔ΒઃఆͰ͖ͳ͍ ΞϓϦέʔγϣϯͱ͔Ϛϯτͯ͠։ൃͯ͠ΔͷͰɺEPDLFSDQ͠ ͳ͍ͱσϓϩΠ͞Εͨίϯςφ্ͰΞϓϦέʔγϣϯͷྶѹ͕ফ͑
Δ (JU-BC3VOOFSࣗલͷαʔόʔͰ༻ҙ͢ΔͷͰɺຖճϏϧυͷͨ ͼʹJNBHF͕ͨ͘͞Μ૿͑ΔɻσϓϩΠऴΘͬͨΒEPDLFSSNJ͠ͳ ͍ͱϠόΠɻͲ͏ͤ&$3Ͱอଘ͞Ε·͢͠ɻ
23 Φ ʔ τεέʔϧ ECSσϓϩΠ $MPVE8BUDIͷΞϥʔτϕʔεͰΦʔτεέʔϧͷᮢΛઃఆ Ϋϥελʔͷεέʔϧʹ͔͔Δ࣌ؒɿ͘Β͍ &$4αʔϏεͷεέʔϧʹ͔͔Δ࣌ؒɿʙඵ ΫϥελʔεέʔϧΞτɿ$16༻Ҏ্ αʔϏεεέʔϧΞτɿ$16༻Ҏ্
ΫϥελʔεέʔϧΠϯɿ$16༻ҎԼ αʔϏεεέʔϧΠϯɿ$16༻ҎԼ
24 CloudFormation ࣗಈԽ "84ϦιʔεͷઃఆΛZBNM্ʹఆٛͯ͠ཧ͢Δ͜ͱ͕Ͱ͖Δ ˠ"84ͷΠϯϑϥઃఆߏஙΛࣗಈԽ ྨࣅαʔϏεɿ5FSSB'PSN w "84ͷߏஙͷςϯϓϨʔτΛ࡞͢Δ͜ͱͰΠϯϑϥ·ΘΓͷ ͕ݮ w
ZBNMΛHJUཧ͢Δ͜ͱͰΠϯϑϥߏஙͷมߋΛHJUͰ͓͏͜ͱ͕Ͱ ͖Δ ͦͷ݁Ռ
25 AWSߏਤ
26 CloudFormation ࣗಈԽ ஈ֊ͷZBNMʹ͚͍ͯΔ #BTJPO4FSWFS ౿Έαʔόʔ ݉$*ͷߏங 71$TVCOFUͳͲͷύϥϝʔλઃఆ 4UBHJOH༻ͷ&$43%4ͱύϥϝʔλͷઃఆ 1SPEVDUJPO༻ͷ&$43%4ͱύϥϝʔλͷઃఆ
ͨͩ͠ɺ"$.ͳͲखಈͷઃఆ͕ඞཁ
27 ͋Γ͕ͱ͏͍͟͝·ͨ͠ (ɾωɾ)ůŢ