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.6k
EurekaのSREチームの実践してきた事と未来像
marnie0301
1
7.8k
[20210617 そろそろマネージド、クラウドネイティブで行こう! コンテナサービスへの移行祭り]Pairs, PairsエンゲージにおけるECS Fargateの移行・活用事例
marnie0301
1
280
Other Decks in Technology
See All in Technology
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
180
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
330
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
2
640
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
5
540
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
610
Spring Bootで実装とインフラをこれでもかと分離するための試み
shintanimoto
7
860
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
960
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
3
2.1k
生成AIのユースケースをとにかく集めてまるっと学ぶ!/ all about generative ai usecases
gakumura
2
130
ドキュメント管理の理想と現実
kazuhe
1
210
Bazel for Ruby (RubyKaigi 2025)
p0deje
0
100
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
200
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Side Projects
sachag
452
42k
Being A Developer After 40
akosma
91
590k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Adopting Sorbet at Scale
ufuk
76
9.3k
Navigating Team Friction
lara
184
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Code Review Best Practice
trishagee
67
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Automating Front-end Workflow
addyosmani
1369
200k
How to train your dragon (web standard)
notwaldorf
90
6k
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