Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クラウド環境(ECS)でコンテナを使う運用と構成を考えてみた

Avatar for kento yoshie kento yoshie
January 26, 2019

 クラウド環境(ECS)でコンテナを使う運用と構成を考えてみた

クラウド環境(ECS)でコンテナを使う運用と構成を考えてみた

Avatar for kento yoshie

kento yoshie

January 26, 2019
Tweet

More Decks by kento yoshie

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ   • ٢ߐ ݈ే (@yoshi_k1989)
 • AWSࣄۀ෦ॴଐ ιϦϡʔγϣϯΞʔΩςΫτ


    • ೖࣾ/AWSྺɿ໿2೥5ϲ݄
 • ۙگɿ݁ࠗΛযΔ࣌ظʹͳΓ·ͨ͠
 • ޷͖ͳAWSαʔϏε • CloudWatch • SystemsManager • ECS(New!!)
  2. ΞδΣϯμ   w &$4ͱ͸ʁ
 w &$4ͷخ͍͠ͱ͜Ζ
 w ࿩͍ͨ͠ͱ͜Ζ w

    σʔλӬଓԽ w ϞχλϦϯά w ग़ྗϩάอଘ
  3. &$4ͱ͸ʁ   • Amazon Elastic Container Service • EC2ΠϯελϯεΛίϯςφϗετΠϯελϯεΛΫϥελʔͱͯ͠ѻ͍ɺ


    DockerίϯςφΛ؆୯ʹ࣮ߦɺఀࢭɺ؅ཧͰ͖ΔඇৗʹεέʔϥϒϧͰ
 ߴ଎ͳίϯςφ؅ཧαʔϏε • جຊతʹAmazon ECRͱݺ͹ΕΔϚωʔδυܕDockerίϯςφϨδετϦ͔Β
 ίϯςφΠϝʔδΛऔಘͯ͠ίϯςφΛ࣮ߦ͢Δ • 2017೥11݄ʹ։࠵͞ΕͨAmazon Web Service re:InventͰ͸ 
 ʮAWS FargateʯͱʮAmazon EKSʯ͕ൃද • ίϯςφϗετΠϯελϯεͰEC2Λ࢖༻͠ͳ͕Βࡉ͔͍ΧελϚΠζΛߦͬͨΓɺ
 FargateΛϗετʹ͢Δ͜ͱͰ͍͍ײ͡ʹίϯςφΛಈ͔ͤΔαʔϏε
  4. &$4ͷخ͍͠ͱ͜Ζ   • γϯϓϧʹίϯςφΛಋೖ͢Δ͜ͱ͕ग़དྷΔ • ৽͘͠ίϯςφΛಋೖ͢Δํʹ͸νϡʔτϦΞϧ͕๛෋ • طʹίϯςφΛ࢖͍ͬͯΔํʹ͸dockerfileΛΞοϓϩʔυ͢Δ͚ͩͰ࢖༻Մೳ •

    AWSαʔϏεͱ࿈ܞ͕͠΍͍͢ • AWS ELBͱͷ࿈ܞ͕ग़དྷͯεέʔϦϯά͕؆୯ʹ࣮૷Մೳɺ΋ͪΖΜWAF΋࢖༻Մ • IAMRoleΛ࢖༻͢Δ͜ͱͰίϯςφͷAWSϦιʔεΞΫηεΛ੍ݶ͢Δ͜ͱ΋Մೳ • CI/CDͷऔΓ૊ΈΛಋೖ͠΍͍͢ • ίετ໘Λ཈͑΍͍͢ • EC2ΠϯελϯεΛϗετΠϯελϯεͱ͍ͯ͠Δ৔߹͸Reserved Instances΍
 εϙοτΠϯελϯεΛར༻ग़དྷΔ • Fargate͸ࠓ݄ʹେ෯஋Լ͕͛ൃද
 ࢀߟࢿྉɿ2019೥1݄ʹAWS Fargate͕େ෯஋Լ͛ͨ͠ͷͰEC2ͱͷՁ֨ൺΛ֬ೝ͠ ͯΈͨ
  5. σʔλӬଓԽ   w ίϯςφʹσʔλ͸഑ஔ͠ͳ͍ w ͜Ε͸ίϯςφΛར༻͢Δʹ͋ͨͬͯॏཁͳཁૉͱͯ͠ߟ͑Δ΂͖ ؍఺ w ίϯςφ͸ߏ଄తʹϗετΠϯελϯε্Ͱִ཭ͯ͠ىಈ͍ͯ͠Δ

    ܗʹͳΔͷͰσʔλΛอ༗͢Δ͜ͱ͕ग़དྷͳ͍ w ͦΕͰ΋σʔλΛอଘ͍ͨ͠৔߹͕͋Δ w બ୒ࢶ w %PDLFSػೳΛར༻ͯ͠ϗετΠϯελϯεͷσΟεΫྖҬΛ
 ίϯςφͱಉظ͢Δ w "84ͷετϨʔδαʔϏε "NB[PO4 "NB[PO&'4 Λ࢖༻͢Δ
  6. ϞχλϦϯά   w ίϯςφͷϞχλϦϯάΛ೉͍͠ w ίϯςφϗετΠϯελϯεϝτϦοΫ w ίϯςφϝτϦοΫ w

    εέʔϦϯάઃఆͷࡐྉ w ͲͷΑ͏ͳঢ়گͰεέʔϦϯά͍ͨ͠ʁ w ϗετΠϯελϯεෛՙঢ়گ w ίϯςφෛՙঢ়گ w &-# &MBTUJD-PBE#BMBODFS ͷϦΫΤετ਺ w "NB[PO4242VFVF਺
  7. ϞχλϦϯά   ͦ΋ͦ΋νΣοΫ͍ͨ͠ϝτϦοΫ͸ʁ w جຊతͳཉ͍͠ϝτϦοΫ͸
 $MPVE8BUDIͰࣄ଍ΓΔ w ͱ͸͍͑ɺཉ͍͠ϝτϦοΫ͸
 ૊৫ʹΑͬͯόϥόϥ


    
 w ໢ཏతʹ৘ใΛ͍࣋ͬͯͯ΋൑அͷअຐʹͳΔ͚ͩͳͷͰ
 ඞཁͳϝτϦοΫΛ೺Ѳ͢Δඞཁ͕͋Δ
 
 ࢀߟࢿྉɿॻධʮೖ໳ɹ؂ࢹʯงғؾͰ؂ࢹΛ΍͍ͬͯΔ͢΂ͯͷਓʹΦ εεϝ
  8. ϞχλϦϯά   ͜Ε͚ͩͰ͸ऴΘΕͳ͍ w ϞχλϦϯάπʔϧͰগ͠ݟ͑ͨͱ͜Ζ w 1VTI1VMMܕΞϓϩʔνͷϝϦσϝΛ೺Ѳͯ͠ಋೖ w ૊৫ͷ੓࣏͕େ͖͍ɺ؂ࢹର৅ࣗ਎

    ैۀһ ʹՔಇঢ়گΛπʔϧ ্ ࢘ ΁ใࠂͤ͞Δ͔ɺπʔϧࣗ਎͕؂ࢹର৅ʹ֬ೝΛߦͳ͏ͷ͔
 w ͍͔ͭ͘ϞχλϦϯάπʔϧΛ͝঺հ͠·͢ w 1SPNFUIFVT 1VMMܕ  w %BUB%PH 1VTIܕ  w .BDLFSFM 1VTIܕ
  9. ग़ྗϩάอଘ   w ϩάϑΝΠϧ͸ॏཁ౓͕ߴ͍ w σʔλӬଓԽͰ΋৮Ε͕ͨɺίϯςφ͸ഁغ͞ΕΔ͜ͱͰϩάΛ
 ௥͑ͳ͘ͳΔ w ϩάͷ֎෦อଘ͸༏ઌ౓͕ߴ͍

    w ͦ΋ͦ΋ͷϩά࢖్ w τϥϒϧγϡʔτ w ηΩϡϦςΟΠϯγσϯτݕ஌ w ϩά෼ੳʹΑΔαʔϏεվળ w Ͳ͏͍ͬͨϩά͕ඞཁʁ w ϗετڍಈ w ίϯςφڍಈ ΞϓϦέʔγϣϯڍಈ
  10. ग़ྗϩάอଘ   w ࢖్ʹΑͬͯϩάج൫Λબఆ͢Δͷ͕Ұ൪ w Ͳ͏͍ͬͨ࢖్ʹΑͬͯϩάج൫͸੾Γସ͑Δ͜ͱ͕͓͢͢Ί w ʮͱΓ͋͑ͣϩάʯͱ͍ͬͨงғؾͰϩάऩू͸΍Ί·͠ΐ͏ w

    ίϯςφΛಈ͔͢ج൫Λߟ͑Δͷ΋Ұͭ w "84ͰίϯςφΛಈ͔͢γεςϜͰ͸ଞιϦϡʔγϣϯͱซ༻͠ ͯ࢖ΘΕΔ͜ͱ͔Β$MPVE8BUDI-PHT༗ྗ w $MPVEXBUDI-PHTΛར༻͢Δࡍʹ஫ҙͱͯ͠͸ίετ໘ w ۓٸੑΛཁ͞ͳ͍ϩάͰ͋Ε͹'MVFOUEΛར༻ͯ͠4ʹϩάग़ྗ w ʮϕϯμʔϩοΫΠϯΛආ͚͍ͨʯؾ͕࣋ͪϛϦͰ΋͋ΔͷͰ ͋Ε͹'MVFOUE΍TZTMPHͱݴͬͨϩάπʔϧΛ࢖͏ݕ౼΋
 ඞཁ
  11. ·ͱΊ   w σʔλͷӬଓԽ w ίϯςφͷ੒Ռ෺ ӬଓԽσʔλ ͸֎ग़͠͠·͠ΐ͏ w

    ֤ʑͷΫϥ΢υαʔϏεʹ߹ͬͨετϨʔδαʔϏεΛར༻͠·͠ΐ͏ w ϞχλϦϯά w ສਓ޲͚ͷϞχλϦϯάύλʔϯ͸ଘࡏ͠ͳ͍
 ϕετϓϥΫςΟε  w ࣗ෼͕؅ཧ͍ͯ͠ΔγεςϜͰඞཁͳϝτϦοΫΛऔΔ͜ͱ͕Ұ൪ͷϕετ ϓϥΫςΟε w ϞχλϦϯάπʔϧͷੑ֨Λ஌ͬͯ؂ࢹΛߦ͏ͷ͕ঘྑ w ग़ྗϩάอଘ w ϩάอଘख๏͸༷ʑ͕ͩɺίετ໘΋ߟྀͯ͠อଘํ๏Λݕ౼ͨ͠΄͏͕ ྑ͍