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

15分じゃ分からないコンテナのお話

 15分じゃ分からないコンテナのお話

kento yoshie

May 24, 2019
Tweet

More Decks by kento yoshie

Other Decks in Technology

Transcript

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


    (MackerelΞϯόαμʔ…)
 • ೖࣾ/AWSྺɿ໿2೥11ϲ݄
 • ޷͖ͳAWSαʔϏε • ECS(ίϯςφΦʔέετϥϨʔγϣϯ) • SystemsManager(ӡ༻ࣗಈԽ) • CloudWatch(Ϧιʔε/AP؂ࢹ)
  2. ίϯςφͱ͸ʁ   ίϯςφʁ • ίϯςφ͸ϗεταʔόʔͷϦιʔεΛ֬อ࣮ͯ͠ߦ͞ΕΔϓϩηε • LinuxͰ͸Χʔωϧػೳ(cgroup/namespace)Λར༻͢Δ͜ͱͰίϯςφٕज़ Λ࣮ݱ͍ͯ͠Δ •

    libcontainer,runCΛΩʔϫʔυͱ͢Δͱ୭͔͕ղઆͯ͘͠Ε·͢ • ϗετOSͷΧʔωϧ/ϦιʔεΛڞ༗͢ΔͷͰίϯςφͷߴ଎ىಈ͕Մೳʹͳ Δ • ϗετOSͱҟͳΔΧʔωϧΛར༻͍ͯ͠ΔίϯςφΠϝʔδ͸࣮ߦͰ͖ͳ ͍ • ඇৗʹεέʔϧରԠ͕͠΍͍͢ΞʔΩςΫνϟ • ӬଓԽσʔλΛอ༗͠ͳ͍͜ͱ(=εςʔτϨε)ͰεέʔϧରԠ͕༰қ • ίϯςφ͕ߴ଎ىಈग़དྷΔ͜ͱͰEC2 + AutoScalingΑΓ΋εέʔϧΞ΢τ ͕ૣ͍
  3. ίϯςφΦʔέετϥϨʔγϣϯͱ͸ʁ   ίϯςφΦʔέετϥϨʔγϣϯʁ • DockerͳͲͷίϯςφΤϯδϯΛ࢖͑͹༰қʹ
 ίϯςφ͕ར༻Ͱ͖ΔΑ͏ʹͳͬͨ • ࣍ͷχʔζͰσϓϩΠɺεέʔϦϯάɺࣗಈ؅ཧ
 ͱ͍ͬͨ໘͕ٻΊΒΕͨ

    • χʔζʹ߹ΘͤͯίϯςφΛΑ͠ͳʹ࢖͏ͨΊʹ։ൃ͞Εͨͷ͕
 ίϯςφΦʔέετϥϨʔγϣϯΤϯδϯ(πʔϧ) ۩ମతʹ͸ʁ • ෳ਺ίϯςφϗετͰෳ਺ίϯςφΛ؅ཧ͠΍͘͢͢Δ΋ͷ • ओͳίϯςφΦʔέετϥϨʔγϣϯ • ECS(Elastic Container Service) • Kubernetes(k8s) • Apache Mesos • αʔϏεఏڙΛߦ͏ج൫ʹ͸ඞਢͱߟ͑ͨํ͕͍͍
  4. &$4ͱ͸ʁ   Amazon Elastic Container Service EC2·ͨ͸Fargateͱݺ͹ΕΔίϯςφϗετΛΫϥελͱͯ͠؅ཧɺ
 ίϯςφΛεέʔϥϒϧʹ؅ཧͰ͖ΔίϯςφΦʔέετϥϨʔγϣϯπʔϧ •

    ECS agent • ఆظతʹECSͱ௨৴Λߦ͍ɺ࣮ߦίϯςφ΍Ϧιʔε
 ࢖༻ঢ়گΛ௨஌ • AWSαʔϏεͱͷ࿈ܞ • AWSαʔϏε΁ͷ઀ଓʹ͸IAM͕ར༻Մ • ELBʹΑΔϩʔυόϥϯγϯάɺAutoScalingʹΑΔ
 ίϯςφ·ͨ͸ίϯςφϗετͷεέʔϧରԠ͕༰қ • AWS Fargateͷଘࡏ • ίϯςφϗετ؅ཧ͕ෆཁͱͳΔαʔϏε͕ར༻Մೳ • ࡉ͔͍ઃܭ΍ӡ༻ίετΛԼ͛Δ͜ͱ͕࣮ݱग़དྷΔ
  5. ࠷ޙʹ   • ۀքશମͱͯ͠ίϯςφಋೖͯ͠ӡ༻Ͱ͖͍ͯΔاۀ͸
 ·ͩগͳ͍ • ϛυϧ΢ΣΞ • ηΩϡϦςΟ

    • AWSͷαʔϏεΛ૊Έ߹ΘͤΕ͹े෼͗͢Δ͙Β͍࢖͑Δ • ϩʔΧϧ؀ڥ͔ΒͰ΋ྑ͍ͷͰίϯςφʹগͣͭ͠׳ΕΔ ͱ޾ͤͳະདྷ͕͋Δͱࢥ͍·͢
  6. ࢀߟॻ੶   w Ծ૝Խͷجຊͱٕज़ ࢓૊Έ͕ݟ͑Δθϩ͔ΒΘ͔Δ  w IUUQTBN[OUP7,3U(8 w

    *OGSBTUSVDUVSFBT$PEFʕΫϥ΢υʹ͓͚Δαʔό؅ཧͷݪଇͱϓϥΫςΟε
 ΦϥΠϦʔ  w IUUQTBN[OUP)S5F" w %PDLFS ΦϥΠϦʔ  w IUUQTBN[OUP7.CMD+ w ϓϩάϥϚͷͨΊͷ%PDLFSڭՊॻΠϯϑϥͷجૅ஌ࣝˍίʔυʹΑΔ؀ڥߏஙͷࣗಈԽ w IUUQTBN[OUPXWP6C w %PDLFS,VCFSOFUFT࣮ફίϯςφ։ൃೖ໳ w IUUQTBN[OUP+PY-U8 w ΈΜͳͷ%PDLFS,VCFSOFUFT w IUUQTBN[OUP-5J: