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
8.2k
[20210617 そろそろマネージド、クラウドネイティブで行こう! コンテナサービスへの移行祭り]Pairs, PairsエンゲージにおけるECS Fargateの移行・活用事例
marnie0301
1
320
Other Decks in Technology
See All in Technology
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
480
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
1
3.8k
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
12
6k
Perlの生きのこり - YAPC::Fukuoka 2025
kfly8
0
280
クレジットカードの不正を防止する技術
yutadayo
17
7.8k
Javaコミュニティの歩き方 ~参加から貢献まで、すべて教えます~
tabatad
0
140
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
2k
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
510
セマンティックHTMLによる アクセシビリティ品質向上の基礎
zozotech
PRO
0
120
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
370
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
220
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
2
300
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Invisible Side of Design
smashingmag
302
51k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
BBQ
matthewcrist
89
9.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.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