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
elixir-aws-fargate-in-production.pdf
Search
Sonoda Ryohei
August 03, 2018
Technology
3.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
elixir-aws-fargate-in-production.pdf
Sonoda Ryohei
August 03, 2018
More Decks by Sonoda Ryohei
See All by Sonoda Ryohei
AWSの基本的な使い方
sonodar
13
31k
社内研修用 AWSの概念・全体像
sonodar
6
29k
Other Decks in Technology
See All in Technology
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
160
コーディングエージェントでM5Stack系の開発を少し試した時の話 / M5 Japan Tour 2026 Autumn 東京
you
PRO
0
150
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
260
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
120
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
260
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.9k
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
310
家のリアーキテクト・リファクタリング
suguruooki
0
110
クロスボーダーM&AのValue Upを支えるプロダクト開発。日米チームのハブになったプロダクトエンジニアの実践 / Product Engineering Conference 2026
genda
0
110
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
140
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
4
1.1k
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
390
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Google's AI Overviews - The New Search
badams
0
1.6k
HDC tutorial
michielstock
2
860
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
The untapped power of vector embeddings
frankvandijk
2
1.9k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
780
Statistics for Hackers
jakevdp
799
230k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
Copyright © 2018 M3, Inc. All Rights Reserved "84'BSHBUFͰ&MJYJSͷ ίϯςϯπ৴γεςϜΛ
ӡ༻ͯ͠Έͨ
⾃⼰紹介 me |> name “Ryohei Sonoda” |> job “Application Engineer”
|> work_at %{ name: “M3, Inc”, since: “2016” ] |> history [ %{ category: “SIer”, since: “2006” } ] |> like [“Java”, “JavaScript”, “Elixir”] |> twitter “@ryoryoryohei” |> github “sonodar” |> oss [“aws-ssm-env”] |> aws_services [“ElasticBeanstalk”, “ECS”] !2
本⽇お話する内容 ઌɺฐࣾςοΫϒϩάʹϙετͨ͠༰ʹ͍ͭͯൃදͤ͞ ͍͖ͯͨͩ·͢ɻैདྷͷ&MBTUJD#FBOTUBMLߏ͔Β'BSHBUF ʹӡ༻Λมߋͨ͠༰ʹͳΓ·͢ɻ "84'BSHBUFͰ&MJYJSͷίϯςϯπ৴γεςϜΛӡ༻ͯ͠Έͨ IUUQTXXXNUFDICMPHFOUSZFMJYJSBXTGBSHBUF lGBSHBUFFMJYJSz·ͨlGBSHBUFΤϜεϦʔzͰάά͍ͬͯͩ͘͞ɻ !3
AGENDA • 'BSHBUFԽͯ͠Έͯ • ैདྷͷ&MBTUJD#FBOTUBMLߏͱ՝ • "84'BSHBUFԽޙͷߏ • ߏมߋޙͷ՝ͱվળ !4
Fargate化してみて w ΞϓϦέʔγϣϯσϓϩΠ·Ͱͷ͕࣌ؒߴԽ͞Εͨɻ w ˠ w ϓϥοτϑΥʔϜߏมߋָ͕ʹͳͬͨɻ w ϓϥοτϑΥʔϜมߋʹ͔͔Δ͕࣌ؒॖ͞Εͨɻ w
࣌ؒˠ w %PDLFSԽʹΑΓϩʔΧϧڥͰϓϥοτϑΥʔϜࣗମͷςετ͕Ͱ ͖ΔΑ͏ʹͳͬͨɻ w ίϯςφԽʹΑΔΦʔόʔϔου΄ͱΜͲݟΒΕͳ͔ͬͨɻ w σϓϩΠύΠϓϥΠϯΛཧ͘͢͠ͳͬͨɻ !5
従来のElasticBeanstalk構成と課題 'BSHBUFԽલ&MBTUJD#FBOTUBMLͷ$VTUPN1MBUGPSN Λར༻ͯ͠&MJYJS1IPFOJYڥΛӡ༻͍ͯ͠·ͨ͠ɻ &MBTUJD#FBOTUBMLݱঢ়ɺ&SMBOHͷϓϥοτϑΥʔϜ αϙʔτ͞Ε͍ͯͳ͍ͨΊɺಠࣗʹϏϧυͨ͠$VTUPN 1MBUGPSNΛར༻͢Δඞཁ͕͋Γ·ͨ͠ɻ !6
従来のElasticBeanstalk構成と課題 &$Ͱͳ͘&MBTUJD#FBOTUBMLΛબఆͨ͠ཧ༝ɺͪΐ͏ ͲγεςϜߏஙͷλΠϛϯάͰ$VTUPN1MBUGPSN͕ϩϯ ν͞Εͨ͜ͱͱɺࢲࣗ&MBTUJD#FBOTUBMLʹ׳Ε͍ͯͨͨ ΊͰ͢ɻ &MBTUJD#FBOTUBMLθϩμϯλΠϜͰͷσϓϩΠΛ࡞Γ ࠐΉඞཁ͕ͳ͘ɺίϚϯυ̍ͭͰΞϓϦέʔγϣϯͷ৽όʔ δϣϯ͕σϓϩΠͰ͖ΔͷͰɺଞγεςϜͰॏๅ͍ͯ͠· ͢ɻ !7
従来のElasticBeanstalk構成と課題 'BSHBUFҠߦલͷϥϯλΠϜߏҎԼͷ௨ΓͰ͢ɻ !8
従来のElasticBeanstalk構成と課題 &MBTUJD#FBOTUBMLʹର͢ΔΞϓϦέʔγϣϯͷσϓϩΠ ҎԼͷΑ͏ʹ࣮ࢪ͍ͯ͠·ͨ͠ɻ ࣾ(JUMBCʹιʔείʔυΛϓογϡɻ (JUMBC$*ͷϚχϡΞϧδϣϒͰFCEFQMPZίϚϯυΛ ࣮ߦɻ "84@"$$&44@,&:@*%ͱ"84@4&$3&5@"$$&44@,&: (JUMBC$*ͷϓϩδΣΫτڥมʹઃఆ͞Ε͍ͯΔɻ !9
従来のElasticBeanstalk構成と課題 ਤʹද͢ͱҎԼͷΑ͏ͳΠϝʔδͰ͢ɻ !10
従来のElasticBeanstalk構成と課題 &SMBOH&MJYJSͷόʔδϣϯΞοϓͷͨΊʹ$VTUPN 1MBUGPSNࣗମΛϏϧυ͠ͳ͓͢߹ɺҎԼͷΑ͏ʹ࣮ ࢪ͍ͯ͠·ͨ͠ɻ ࣾ(JUMBCʹιʔείʔυΛϓογϡɻ ϩʔΧϧͰख࡞ۀͰFCQDSFBUFίϚϯυΛ࣮ߦɻ (JUMBC$*δϣϒ͔Βͷ࣮ߦʹ͍ͭͯɺσϓϩΠύΠϓϥΠϯΛߏஙͨ͠ͷ ͷ্ख͘ػೳͤͣɺ݁ہ͜ͷख๏ʹམͪண͖·ͨ͠ɻৄ͘͠ฐࣾςοΫϒ ϩάΛࢀর͍ͯͩ͘͠͞ɻ
!11
従来のElasticBeanstalk構成と課題 $VTUPN1MBUGPSNͷϏϧυΛਤʹද͢ͱҎԼͷΑ͏ͳΠϝʔδͰ͢ɻ !12
従来のElasticBeanstalk構成と課題 ͜ͷߏͷͱͯ͠$VTUPN1MBUGPSNͷϏϧυ࣌ؒ ͕͍͜ͱ͕ڍ͛ΒΕ·͢ɻ w $VTUPN1MBUGPSNͷϏϧυʹ͕͔͔࣌ؒΓ͗͢Δ ʢ&SMBOHͷϏϧυʹʣɻ ‣ αʔόߏΛFCFYUFOTJPOTͰཧ͢ΔΑ͏ʹͳΔɻ ‣ ΞϓϦέʔγϣϯͷσϓϩΠ͕αʔόߏͷΤϥʔ
Ͱࣦഊ͢ΔΑ͏ʹͳΔɻ GMVFOUEϓϥάΠϯͷڝ߹ͳͲ !13
従来のElasticBeanstalk構成と課題 ·ͨɺ(JUMBC$*্͔ΒσϓϩΠίϚϯυΛ࣮ߦ͢Δ߹্ɺ (JUMBC$*Ͱར༻͢Δ*".Ϣʔβͷݖݶ͔ͳΓڧ͍ݖݶʹ ͳΓ·͢ɻ ۩ମతʹɺ&MBTUJD#FBOTUBML4FSWJDF3PMFͱಉఔͷݖݶ ͕ඞཁͳͨΊɺFD5FSNJOBUF*OTUBODFTͱ͍ͬͨϦιʔε ͷআݖݶΛؚΜͩͷͱͳΓ·͢ɻ (JUMBC$*ͷύϥϝʔλ͕ൺֱత؆୯ʹࢀরͰ͖ͯ͠·͏ͨΊɺ ͜ΕηΩϡϦςΟ্·͋͘͠Γ·ͤΜɻ !14
従来のElasticBeanstalk構成と課題 ࢲ"84ڥΛίʔυԽ͢ΔͨΊʹ5FSSBGPSNΛΜ Ͱར༻͢ΔͷͰ͕͢ɺ5FSSBGPSNͷ&MBTUJD#FBOTUBMLϦ ιʔεʹ͓͍ͯ$VTUPN1MBUGPSNߏஙͷͨΊͷඞਢύϥ ϝʔλͱͳΔ1MBUGPSN"SO͕αϙʔτ͞Ε͍ͯͳ͍͜ͱ ӡ༻্ͷωοΫͱͳΓ·ͨ͠ɻ ࣮ࡍʹ5FSSBGPSNͷιʔείʔυʹύονΛͯͯϏϧυ࣮ͨ͠ߦ όΠφϦΛϦϙδτϦʹίϛοτͯ͠ར༻͢Δͱ͍ͬͨӡ༻Λͱͬͯ ͍·ͨ͠ɻ !15
従来のElasticBeanstalk構成と課題 $VTUPN1MBUGPSNߏͷ՝Λ·ͱΊΔͱҎԼͱͳΓ·͢ɻ w ϓϥοτϑΥʔϜͷϏϧυʹ͕͔͔࣌ؒΓ͗͢ΔͨΊɺαʔό ߏͷมߋ͕ͮ͠Β͍ɻ w (JUMBC$*্ʹڧ͍ݖݶΛ࣋ͬͨ*".ϢʔβͷγʔΫϨοτ ใΛอ࣋͢Δඞཁ͕͋Δɻ w 5FSSBGPSN͕$VTUPN1MBUGPSNʹରԠ͍ͯ͠ͳ͍ɻ
&MBTUJD#FBOTUBMLͷͰͳ͘ɺ&SMBOHɺ(JUMBCɺ5FSSBGPSN ͱ͍ͬͨΈ߹ΘͤʹΑΔ՝Ͱͨ͠ɻ !16
AWS Fargate 化後の構成 ͱͱ&$4ԽΛߦ͏༧ఆͰ͋ͬͨͷͰ͕͢ɺ ʹ"84'BSHBUF͕౦ژϦʔδϣϯʹདྷͨͷ Ͱɺ&MBTUJD#FBOTUBML͔Β'BSHBUFͰͷӡ༻ʹҠߦ͠· ͨ͠ɻ &MBTUJD#FBOTUBMLͷ.VMUJ$POUBJOFS%PDLFSϓϥοτ ϑΥʔϜ௨ৗͷ&$4ͱ͍ͬͨબࢶ͋ͬͨͷͰ͕͢ɺ ͔ͤͬ͘ͳͷͰ'BSHBUFΛબ͠·ͨ͠ɻ
!17
AWS Fargate 化後の構成 ίϯςφԽͨ͜͠ͱʹΑͬͯɺ࠷ऴతͳ"84'BSHBUFߏ ҎԼͷΑ͏ͳׂͱී௨ͷߏͱͳΓ·ͨ͠ɻ !18
AWS Fargate 化後の構成 4Λىͱͨ͠ɺ$PEF1JQFMJOFʹΑΔσϓϩΠύΠϓϥ ΠϯΛߏங͠·ͨ͠ɻ !19
AWS Fargate 化後の構成 σϓϩΠύΠϓϥΠϯͷߏ (JUMBCͰιʔεͷΞʔΧΠϒͷΈΛߦ͍ɺ4ʹΞοϓϩʔυɻ %PDLFSΠϝʔδͷϏϧυ&$4ͷσϓϩΠ$PEF1JQFMJOFͰߦ͏ɻ ϝϦοτɿ (JUMBC͔Β4ʹQVU͢Δ͚ͩɺ*".ϙϦγʔ͕ݶఆతɻ (JUMBCͱ"84͕ૄ݁߹ʹͳΓɺ"84ߏΛίʔυԽ͍͢͠ɻ σϝϦοτɿ
ڥ͝ͱͷࠩΛεΫϦϓτͰղܾ͠ͳ͚ΕͳΒͳ͍ɻ !20
AWS Fargate 化後の構成 ࠾༻͠ͳ͔ͬͨσϓϩΠύΠϓϥΠϯͷߏҊ <ϘπҊ">(JUMBCͰΠϝʔδϏϧυͱ&$3ͷϓογϡΛߦ͍ɺ $PEF1JQFMJOFͰ&$4ͷσϓϩΠͷΈΛߦ͏ɻ ϝϦοτɿ $PEF#VJMEͷ՝͕͔͔ۚΒͳ͍ɻ $PEF1JQFMJOFͷॲཧ͕࣌ؒॖ͞ΕΔɻ σϝϦοτɿ
ڥ͝ͱͷࠩΛεΫϦϓτͰղܾ͠ͳ͚ΕͳΒͳ͍ɻ !21
AWS Fargate 化後の構成 ࠾༻͠ͳ͔ͬͨσϓϩΠύΠϓϥΠϯͷߏҊ <ϘπҊ#>(JUMBC͔Β$PEF$PNNJUʹϓογϡͯ͠ىಈɻ ϝϦοτɿ ϩʔϧόοΫ࣌ʹ"84ͷΈͰ݁͢Δɻ σϝϦοτɿ (JUMBCͱͷೋॏཧͰ༰ྔ͕૿େ͢Δɻ $PEF$PNNJU͚ͩͰ͍͍ͷʹɺͳΜ͔ແବɻ
!22
AWS Fargate 化後の構成 ࠾༻͠ͳ͔ͬͨσϓϩΠύΠϓϥΠϯͷߏҊ <ϘπҊ$>(JUMBC͔ΒFDTDMJͰ&$4ʹσϓϩΠɻ ϝϦοτɿ ύΠϓϥΠϯ͕(JUMBCͷΈͰ݁͢Δɻ σϝϦοτɿ (JUMBC্ͷ*".Ϣʔβݖݶ͕ڧݖݶʹͳΔɻ ύΠϓϥΠϯߏΛίʔυԽͮ͠Β͍ɻ
!23
構成変更後の改善点 ϓϥοτϑΥʔϜͷϏϧυ࣌ؒ ࣌ؒˠ ͷվળ (JUMBC$*্ͷ*".Ϣʔβݖݶ &MBTUJD#FBOUBML4FSWJDF3PMFˠT1VU0CKFDU 5FSSBGPSNඇରԠ ύονͯˠύονͯͳ͍ !24
構成変更後の課題 'BSHBUFԽޙͷ՝ w ίϯςφγϯάϧϓϩηεͳͷͰɺࢹ༻ͷϓϩηεͳͲ ΛͲ͏࣮͢Δ͔ݕ౼͕ඞཁɻ w CVJMETQFDZNM͕ΞϓϦέʔγϣϯϦϙδτϦʹ͔͠ஔ͚ ͳ͍ͷͰɺ$PEF#VJME͕ΞϓϦέʔγϣϯϦϙδτϦʹґ ଘ͢Δɻ w
"84ར༻ྉ͕গׂ͚ͩ͠ߴʁʢ݄̓தͰͷมߋͷͨΊɺ· ͩྉۚൺֱग़͍ͯ͠ͳ͍ʣ !25
最後に ࠓճͷ"84'BSHBUFߏΛ࣮ͨ͠खॱΛฐࣾςοΫϒϩά Ͱެ։͍ͯ͠·͢ɻࢀߟʹͳΕ͍Ͱ͢ɻ w "84'BSHBUFͰ&MJYJSͷίϯςϯπ৴γεςϜΛಈ͔ͯ͠Έͨ ࣮ ฤ IUUQTXXXNUFDICMPHFOUSZFMJYJSGBSHBUFJNQM w "84'BSHBUFͷσϓϩΠύΠϓϥΠϯ
(JUMBC4$PEF1JQFMJOF Λ ߏஙͯ͠ΈͨIUUQTXXXNUFDICMPHFOUSZFMJYJSGBSHBUFJNQM w "84'BSHBUFͱσϓϩΠύΠϓϥΠϯΛ5FSSBGPSNͰཧͯ͠Έͨ ʢ$PNJOH4PPOʣ !26