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
平成最後なのでEC2からECS+Fargateに 置き換えた話
Search
marnie0301
May 21, 2019
Technology
11
11k
平成最後なのでEC2からECS+Fargateに 置き換えた話
marnie0301
May 21, 2019
Tweet
Share
More Decks by marnie0301
See All by marnie0301
SRENEXT2022 組織にSREを実装していくまでの道のり
marnie0301
2
7.7k
EurekaのSREチームの実践してきた事と未来像
marnie0301
1
7.9k
[20210617 そろそろマネージド、クラウドネイティブで行こう! コンテナサービスへの移行祭り]Pairs, PairsエンゲージにおけるECS Fargateの移行・活用事例
marnie0301
1
300
Other Decks in Technology
See All in Technology
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
160
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
220
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
160
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
7.6k
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
260
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
150
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
ゆるSRE #11 LT
okaru
1
600
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.6k
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
43
26k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Code Reviewing Like a Champion
maltzj
524
40k
Visualization
eitanlees
146
16k
Side Projects
sachag
454
42k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Unsuck your backbone
ammeep
671
58k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
ฏ࠷ޙͳͷͰEC2͔ΒECS+Fargateʹ ஔ͖͑ͨ @marnie ɹɹɹɹɹɹɹ JAWS-UG ίϯςφࢧ෦ ೖฤ #6
43&5FBN&OHJOFFSBUFVSFLB *OD -JLF ೣɺͶ͜ɺDBUɺΩϟοτ ࣗసं ౦ژʙઋ͍ͬͨΓ
ϩέௐ HBNFBOJNF তੜ·Ε 2 About me ɹɹMasashi Yamamoto (@marnie) 2
3 Eureka SRE Team 3 5FBN.JTTJPO7JTJPO શγεςϜͷՄ༻ੑɺ৴པੑɺੑೳɺ։ൃޮͷ্
Ϗδωεͷ࣮ݱͷ્ཱ֬Λ্͛ΔཁҼͷഉআ ࣮ۀྫ Πϯϑϥࢹܥͷߏங ίετϓϥϯχϯά ηΩϡϦςΟؔ࿈ԣஅࢪࡦܥͷ࣮ɾϦʔυ σʔλύΠϓϥΠϯͷߏஙઃܭɾϚΠΫϩαʔϏε։ൃͳͲ قઅʹΑΔ σϓϩΠ#PUύΠϓϥΠϯߏஙɾࣗಈԽͳͲ։ൃޮԽͷد༩ ΞϓϦέʔγϣϯίʔυඞཁʹԠͯ͡ॻ͖·͢ɻ Մ༻ੑ B[ minatoku-eureka-a minatoku-eureka-c minatoku-eureka-d
4 agenda 4 &$͔Β&$4 'BSHBUFʹҠߦͨ͠ എܠʙٕज़બఆ ίϯςφߏɾઃܭࢦ
σϓϩΠɺεέʔϦϯά ɺࢹͷ͓ ·ͱΊ
5 ίϯςφԽҎલͷߏ 5 QBDLFS BOTJCMFͰ࡞ͨ͠(PMEFO*NBHFΛ UFSSBGPSNͰల։͢Δӡ༻ *B$
*NNVUBCMF*OGSBTUSVDUVSF ֓ͶσʔλετΞͷ͕Ͱ͖͍ͯΔɻ 8FC4FSWFSͷεέʔϧΞτ༰қɻ ಈ࡞໘ εέʔϥϏϦςΟݎ࿚ੑ େ͖ͳ՝ͳ ͘ฏɻ
6 Q.ͳΜͰίϯςφʹͨ͠ͷʁ 6
7 ࠷ॳͷ͖͔͚ͬɿΠϯϑϥө͕ͭΒ͔ͬͨ 7 QBDLFSCVJMEdຊ൪ө·Ͱͷίετ ඞཁͳશͯͷϞδϡʔϧΛΠϯετʔϧ#VJMEͯ͠HPMEFO*NBHFΛ࡞Δ UFSSBGPSNʹBNJΛөˠ࠷ऴςετ
BVUP4DBMJOH(SPVQͷ૿ݮͰಈ࡞͍ͯ͠ΔαʔόʔΛखಈͰೖΕସ͑Δ ৽چࠞࡏ ͜ͷ··Ͱฏ͕ऴΘͬͯ͠· SZ ׂͱංେԽ͖͍ͯͯ͠ΔQMBZCPPL
8 ίϯςφྑ͍ 8 ϓϩηε୯ҐͰߏஙՄೳ ༻͢ΔϛυϧΣΞಉ࢜Ͱͷґଘੑͷڝ߹ͳͲΛؾʹ͠ͳ͍ͰࡁΉɻ मਖ਼ɾՃʹΑΔӨڹΛڱ͘ग़དྷΔɻ
ػೳՃɾमਖ਼ׂผʹίϯςφ୯ҐͰमਖ਼Ճ͕Մೳ मਖ਼ɾՃͷ୯ҐΛখ͘͞ग़དྷΔɻ ىಈɾഇغ͕ߴ εέʔϧΞτͷ্ JNNVUBCMFJOGSBTUSVDUVSFͷ࣮ફʹద͍ͯ͠Δ ΞϓϦέʔγϣϯΛσϓϩΠ͢ΔΑ͏ͳײ֮ͰΠϯϑϥσϓϩΠ͕Ͱ͖Δɻ ϙʔλϏϦςΟ FUD
9 WebServerΛίϯςφʹͯ͠ΈΑ͏ɻ 9 ՝ϕʔεͳΒίϯςφ͡Όͳͯ͘ղܾͰ͖Δ͚Ͳɺ ΑΓϕλʔͳੈքʹ࣋ͬͯߦ͚ͦ͏ɻ GBSHBUFͳΒ&$ཧෆཁ FDTPOFDͳΒىಈ
ΑΓখ͘͞࡞ΕͯϙʔλϏϦςΟͷ͋Δੈք؍ 8FC4FSWFSͳΒେ͖ͳোนͳ͍ͣ ͣ ฏ࠷ SZ ίϯςφԽ
10 ٕज़બఆ: EKS or ECS on EC2 or ECS on
Fargate 10 ىಈ୯७ͳՁ֨໘Ͱ&$PO&$4 4QPPU'MFFU ͷํ͕༏Ґ͚ͩͲʜ νʔϜͷঠྖҬ͕͍ͷͰɺͳΔ͘ӡ༻ཧ͢ΔίετΛݮΒ͍͖͍ͯͨ͠ɻ 'BSHBUF͕ཧత ࠓ࣌Ͱ&,4ΑΓ&$4ͷํ͕ӡ༻ɾ"84ͷผίϯϙʔωϯτͱͷ࿈ܞ͕ॆ࣮͍ͯ͠Δɻ LVCFSOFUFTັྗత͚ͩͲɺ%BUB1MBOFͷNBOBHFE͖ͯɺ৭ʑރΕ͖ͯͨΒʜ
11 Ͳ͏ઃܭ͍ͯ͜͠͏ʁ 11 ίϯςφԽͷϝϦοτΛڗड͍͢͠ߏΛzͰ͖Δ͚ͩz࠾Δ֤छϕετϓϥΫςΟεͷ࣮ફ 5XFMWFGBDUPS"QQ Ϟμϯͳ8FCΞϓϦέʔγϣϯΛ࣮ݱ͢ΔϕετϓϥςΫΟε
ίϯςφʹݶΒͳ͍ॏཁͳઃܭࢦɻ %PDLFS#FTU1SBDUJDF ίϯςφຖʹ̍ͭͷϓϩηε͚࣮ͩߦ ͳΔ͘খ͘͞ ίϯςφΤϑΣϝϥϧ ໋ Ͱ͋Δ͖ ഇغՄೳͰ͋Δ͜ͱ ΠϝʔδϨΠϠΛ࠷খʹɺෆཁͳͷΛஔ͔ͳ͍ɺFUDʜ
12 ίϯςφߏ 12 جຊ̍ϓϩηε̍ίϯςφ EPDLFSCFTUQSBDUJDF ֤ίϯςφͷͱαΠζΛখ͘͞ɻ
BMQJOFͳͲܰྔͳ*NBHFͷར༻ɺඞཁ࠷ݶ͔͠ೖΕͳ͍ɻ ͋͘·Ͱجຊํɺ͕ผͷΛੜΉ߹ڐ༰ɻ ίϯςφཻʹσϓϩΠཻ ҰͭҰͭͷίϯςφͷϏϧυϦϦʔε୯ҐΛখ͘͞ɻ ࢹɾੳͷػೳཁ݅ʹඞཁͳϓϩηεΛαΠυΧʔԽ 'BSHBUFͷڞ༗ϘϦϡʔϜ ্ݶ(# Λར༻ (#ͪΐͱͭΒ͍ͷͰϩʔςʔτߟྀཁɻ ݱ࣌Ͱ༰ྔؔ࿈ͷϝτϦΫε͕औΕͳ͍ͷͭΒΈɻ ͜ͷ-BZFS͔Β͜ͷΛऔΓ֎ͤΔͱঘྑ͍
13 ϙʔλϏϦςΟ 13 ֎෦Ϧιʔεͱͷ߹ͳͲͷઃఆΛڥมͰೖ 5XFMWF'BDUPS"QQ***ͷ࣮ફ ϙʔλϏϦςΟηΩϡϦςΟΛอͭɻ
&$'BSHBUFىಈλΠϓͱʹɺ"841BSBNFUFS4UPSFͷىಈ࣌ಡΈࠐΈΛαϙʔτɻ ΞϓϦέʔγϣϯଆͰಛʹ෮߸ɾڥมͷઃఆͳͲΛҙࣝͤͣɺڥมͷಡΈࠐΈ͕Մೳ σϓϩΠ؆୯ͰɺUBTLEFpOJUJPOͷઃఆʹߦॻ͚ͩ͘ɻ όʔδϣϯࢦఆͰ͖Δͱঘخ͍͠ ŧŽ
14 σϓϩΠύΠϓϥΠϯ 14 $IBU"QQ $PEF#VJME $PEF%FQMPZ#MVF(SFFO ෦తʹ-#ͷUBSHFU(SPVQͷΓସ͑
DPEF%FQMPZͷఏڙػೳͳͷͰɺ؆୯ͳઃఆͰ ࣮ݱՄೳ σϓϩΠ࣌ͷWFSTJPOࠞࡏΛආ͚ΒΕΔ HSFFOอ࣋ظؒʢdઃఆՄೳ Γ͕͠ߴɻ σϓϩΠࣗମֻ͕͔͍࣌ؒͬͯΔҹ DPEF$PNNJU DPEF1JQF-JOF࿈ܞͰϦϦʔεࣗಈ ԽՄೳɻ
15 εέʔϥϏϦςΟ 15 $MPVE8BUDI"MBSNΛͬͨDQVVUJMJ[BUJPOͷϕʔεͰࣗಈεέʔϧΞτεέʔϧΠϯ w ͦͷ࣌ͷෛՙʹଈͯ͠ඞཁͳྔͷϦιʔεΛదʹ׆༻Ͱ͖Δ w ෳϧʔϧΛΈ߹Θͤͯɺෛՙͷ্ঢ෯ʹԠͯ͡૿ݮΛίϯτϩʔϧɻ w
GBSHBUFىಈΦʔτεέʔϧͷDPPM%PXO ධՁִؒͳͲɺظͷมಈʹର͢Δݶք͋Δɻ ͋Δ࣌ؒଳʹ͓͚ΔTaskભҠ +
16 ࢹ&ϩΪϯά 16 TTI جຊతʹTTI͠ͳ͍ͰࡁΉΑ͏ʹඋ͢Δ ϩάपΓՄೳͳݶΓTUEPVU TUEFSSΛ͏
EFGBVMUͷBXTMPHTܦ༝ͰDMPVE8BUDIʹసૹ ͍͠ͷEBUBEPHʹసૹ ࢹϞχλϦϯά%BUBEPH DQV NFNPSZ BMCMBUFODZ BMC@UBSHFU@YY YY ͜ΕͰμϝͳ͕࣌དྷͨΒߟ͑Δɻ ✖
17 dockerImageͷܰྔԽ 17 ΞϓϦέʔγϣϯίϯςφͷEPDLFS*NBHFʹը૾ؚ·Ε͍ͯΔɻ EPDLFS*NBHF͍ܰʹͨ͜͠ࣄͳ͍ɻ QVTI QVMM্σϓϩΠɺىಈ
εέʔϧΞτͷ ө ΞϓϦέʔγϣϯαʔόʔԼʹ͍ͦͦΔඞཁ͕ͳ͍ɻ ը૾ϦιʔεΛ$MPVE'SPOU 4ʹϗεςΟϯάͯ͠ɺͦͦ *NBHF͔Β֎͢ɻ
18 ϩάసૹΛίϯςφ͔ΒऔΓ֎͢ 18 DMPVE8BUDI ,JOFTJT'JSF)PSTF MBNCEB 1SPT
ίϯςφૹ৴Λߟ͑ͣඪ४ग़ྗʹు͚ͩ͘ͰΑ͘ͳΔ ڞ༗ϘϦϡʔϜ͔Βͷղ์ɻ ϩάૹ৴ͷؔ৺͝ͱमਖ਼Λίϯςφͷ͔ΒऔΓআ͚Δ $POT MBNCEB pSFIPSTFͷίετ૿͑Δ োͷௐ͕ࠪࡶʹͳΒͳ͍͔ɺMBUFODZ໘ͳͲݕূத GBSHBUFͷϩάυϥΠόʔʹqVFOU͕Ճ͞ΕΔͷͰɺෆཁʹͳΔ͔
19 ·ͱΊ 19 'BSHBUFͱίϯςφྑ͍ͷ ΠϯϑϥೖΕସ͑࡞ۀͱΠϯελϯεཧ͔Βͷղ์ɻ Ϋϥελཧͱ͖߹Θͳ͍ͷͰΦʔτεέʔϧָɻ
&$4PO&$ͱൺͨݱ࣌Ͱͷػೳ໘ͷ੍ɺىಈɺՁ֨໘Ͱෆརͳࣄఱṝɻ Ձ֨໘ͰΓ&$ΑΓׂߴɻ3*ʜ ŧŽ ׂผʹίϯςφʹΓग़ͨ͠ࣄͰɺҰͭҰͭͷίϯςφʹର͢Δमਖ਼খ͘͞༰қʹͳͬͨɻ ίϯςφۜͷؙͰͳ͍ɻ ϝϦοτΛ׆͔ͤΔܗʹγεςϜͷߏΞϓϦέʔγϣϯΛม͍͑ͯ͘ඞཁ͋Δɻ 5XFMWF'BDUPS"QQྑ͍ࢦඪɻ ͍͖ͳΓશ෦ແཧͰ
20 WE ARE HIRING :) 20 ໌Δ͍৬Ͱ͢ɻ ίϯςφԽʹݶΒͣϏδωεΛࢧ͑ɺՃͤ͞Δҝͷ৽͍͠ઓɺࢿৗʹܧଓͯ͠·͢
ΧδϡΞϧ໘ஊ͍ͬͯ·͢ͷͰɺ͓ؾܰʹ IUUQTXXXXBOUFEMZDPNDPNQBOJFTFVSFLB
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy 5IBOLZPV