Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Haconiwa: プログラムによる組み立て可能性と拡張性を持つLinuxコンテナ
KONDO Uchio
March 13, 2018
Technology
4
730
Haconiwa: プログラムによる組み立て可能性と拡張性を持つLinuxコンテナ
情報処理学会第80回全国大会 発表資料
KONDO Uchio
March 13, 2018
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
udzura
2
260
udzura
0
350
udzura
0
470
udzura
15
8.5k
udzura
0
59
udzura
1
43
udzura
0
1.7k
udzura
0
360
udzura
1
970
Other Decks in Technology
See All in Technology
yuji1484
3
880
dena_tech
1
720
mahito
0
230
viva_tweet_x
3
3k
joytomo
0
100
viva_tweet_x
1
440
tricknotes
1
140
minma
0
210
kentaro
1
690
s_uryu
0
130
nisshii0313
1
170
iwashi
1
210
Featured
See All Featured
destraynor
146
19k
aarron
257
36k
jcasabona
8
550
philhawksworth
192
8.8k
caitiem20
308
17k
tammielis
237
23k
ddemaree
273
31k
lauravandoore
437
28k
robhawkes
52
2.8k
smashingmag
283
47k
chriscoyier
779
240k
scottboms
251
11k
Transcript
ۙ౻Ӊஐ࿕ / ϖύϘݚڀॴɾGMOϖύϘגࣜձࣾ 2018.03.13 ใॲཧֶձୈ80ճશࠃେձ Haconiwa: ϓϩάϥϜʹΑΔɼΈཱͯՄೳੑͱ ֦ுੑΛ࣋ͭLinuxίϯςφ
γχΞɾϓϦϯγύϧΤϯδχΞ ۙ౻Ӊஐ࿕ / @udzura http://blog.hogehoge.com Uchio Kondo ϖύϘݚڀॴ/ٕज़ج൫νʔϜ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
• Πϯλʔωοτ/͜ͱWebͷϢʔβ͕૿͑ͯɼΠϯλʔωοτʹެ։͞Εͨ αʔϏεͷӡ༻ऀͷ՝͕૿͑ͨ • ྫ͑ιʔγϟϧϝσΟΞʹΑΔʮόζʯʮԌ্ʯ • ྫ͑DoS/DDoS߈ܸ • ͜ͷΑ͏ʹɼಥൃతͳΞΫηεͷٸ্ঢ/ٸܹͳෛՙ্ʹ͞Β͞Εͨ߹ͷ ղܾࡦͷҰͭͱͯ͠ɼΦʔτεέʔϧʹ͕ू·͍ͬͯΔ
લఏ: ಥൃΞΫηε૿ͷӡ༻తରॲ
• Φʔτεέʔϧ: ෛՙঢ়گʹԠ͡γεςϜΛߏ͢ΔαʔόΛޮతʹ૿ ݮ͢Δख๏ • Φʔτεέʔϧʹ͓͍ͯɼαʔόϦιʔεΛͳΔ͘ߴʹ૿Ճɾݮগͤ͞ Δඞཁ͕ੜ·ΕΔ • ैདྷͷαʔόϦιʔεͷԾԽٕज़ʢϋΠύʔόΠβܕ/ϗετܕʣͱൺͯ ىಈ͕ߴͰɼϦιʔε੍ޚͷཻ͕ࡉ͔͍ίϯςφܕԾԽ͕ීٴͭͭ͋͠
Δ ͦͷ্Ͱ: ΦʔτεέʔϧˠίϯςφܕԾԽͷ
• ݱঢ়ීٴ͍ͯ͠ΔίϯςφܕԾԽͷख๏ʹ͍͔ͭ͘՝͕͋Δ 1. σϑΥϧτͰෆཁͳػೳؚΊΦʔϧΠϯϫϯͰ༗ޮʹͳΔ 2. ֦ுੑʹ͘͠ɼཁ݅ʹ߹ΘͤΔ͜ͱ͕ࠔͳ • ͜ΕΒಛʹɼߴ͍ूੵੑΛཁٻ͢ΔWebϗεςΟϯάج൫Ͱʹ • ͜ΕΒͷ՝Λղܾ͢Δख๏ͱͯ͠։ൃͨ͠ίϯςφϥϯλΠϜHaconiwa
ʹ͍ͭͯఏҊ͢Δ ίϯςφܕԾԽΛऔΓר͘՝
1. ίϯςφܕԾԽ: ϗετܕͱҧ͍ɼϗετOSͱΧʔωϧΛڞ༗͠σόΠ εͷԾԽΛߦΘͳͣɼϓϩηεϕʔεͷಠཱڥͱͨ͠ԾԽܗࣜ 2. ίϯςφ: ίϯςφܕԾԽܗࣜʹ͓͍ͯɼOSػೳʹΑΓಠཱੑΛ༩͞Ε ͨͦΕͧΕͷϓϩηε·ͨͦͷάϧʔϓɽΠϯελϯεͱݺͿ 3. ίϯςφϥϯλΠϜ:
্ड़ͷίϯςφͷىಈɼఀࢭɼͱ͍ͬͨϥΠϑαΠΫϧ Λཧ͢ΔͨΊͷιϑτΣΞ ༻ޠͷఆٛ ίϯςφ ϥϯλΠϜ ίϯςφ ʢϗετͷ-JOVY04ʣ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
1. ΠϯελϯεͷՃॲཧ͕Ͱ͋Δ 2. ϋʔυΣΞϦιʔεͷར༻ޮ͕͍ 3. ۭ͖Ϧιʔε֬ೝͷͨΊͷεέδϡʔϦϯάͷԆ 4. εέʔϦϯά͖͢ঢ়گݕͷϦΞϧλΠϜੑ͕͍ দຊΒ(*)ʹΑΔΦʔτεέʔϧͷ՝
'BTU$POUBJOFS࣮ߦڥͷมԽʹૉૣ͘దԠͰ͖Δ߃ৗੑΛ࣋ͭγεςϜΞʔΩςΫνϟʢൃදࢿྉʣ IUUQTTQFBLFSEFDLDPNNBUTVNPUP@SGBTUDPOUBJOFSTIJYJOHIVBOKJOHGBMTFCJBOIVBOJTV[BPLVTIJ ZJOHEFLJSVIFOHDIBOHYJOHXPDIJUVTJTVUFNVBLJUFLVUJZB
• ϗετܕϋΠύʔόΠβܕͱൺֱͨ͠߹ • 1, 3. ʹ͍ͭͯ: ίϯςφىಈఀࢭ͕ߴͰ͋Γɼ͍͍ͯΔ • 2. ʹ͍ͭͯ:
ίϯςφʹϓϩηε๛ͳAPIʹΞΫηεͰ͖ɼϦιʔε੍ޚ Λࡉ͘Ͱ͖Δɽ͍͍ͯΔ • 4. ʹ͍ͭͯϓϩηεͱ͍͏ಛੑ্ࢹΛৄࡉ͔ͭܰྔʹͰ͖Δͱߟ͑ΒΕ Δ͕ɼຊจͰߟ͍ͯ͠ͳ͍ ՝ʹରͯ͠ίϯςφΛར༻ͨ͠߹
• Docker: https://www.docker.com/ • LXC: https://linuxcontainers.org/lxc/introduction/ • ͜ΕΒͷίϯςφϥϯλΠϜʹؔͯ͠ɼIEEE Cloud Computingࢽͷ
“Containers and Cloud: From LXC to Docker to Kubernetes” ίϥϜΛ͡ Ίɼհهࣄʹ͍ͱ·͕ͳ͍ Ұ୴ͷ݁: ίϯςφܕԾԽͷ࠾༻
1. ෆཁͳػೳΛ؆୯ʹআ֎Ͱ͖ͳ͍ 2. γεςϜཁ݅Λຬͨ͢Α͏ͳ֦ு͕؆୯ʹͰ͖ͳ͍ ͞ΒͳΔ՝: طଘͷίϯςφϥϯλΠϜͷ
• ͜͜·Ͱʹ͋͛ͨΑ͏ͳίϯςφϥϯλΠϜɼσϑΥϧτͰଟ͘ͷίϯς φΛ࣮ݱ͢Δػೳ͕ηοτͰ༗ޮʹͳΔ • ར༻ऀͱͯ͠ৄࡉΛؾʹͤͣԾڥΛར༻Ͱ͖ΔϝϦοτͰ͋Δ • ҰํͰɼಛʹϦιʔεޮूੵੑͱ͍͏؍͔ΒɼಛఆͷػೳΛແޮԽͨ͠ ͍ͱ͍͏धཁ͕ଘࡏ͢Δ • ྫ͑ɼOSͷrootfsΛ࠶ར༻͍ͨ͠ɼωοτϫʔΫΛࣗͰ੍ޚ͍ͨ͠ଞ
• ཧ্ͲͷΑ͏ͳίϯςφϥϯλΠϜͰՄೳͰ͋Δ͕ɼDockerͳͲͷ ߹໌֬ʹυΩϡϝϯτ͕ଘࡏ͠ͳ͍ͳͲɼར༻͕͍͠ ෆཁͳػೳΛ؆୯ʹআ֎Ͱ͖ͳ͍
• ઌड़ͷIEEEͷίϥϜͰίϯςφͷΫϥελϦϯάʹKubernetes͕ར༻Ͱ ͖Δͱड़͍ͯΔ • Kubernetes: https://kubernetes.io/ • Ұํɼݱࡏͷঢ়گͰɼKubernetesͱDockerͷΈ߹ΘͤͳͲطଘͷΫϥε λϦϯάελοΫͰ࣮ݱ͕͍͠ཁ݅͋Δ •
ϗεςΟϯά༻్ͷ߹ɼߴूੵੑ͕ٻΊΒΕΔͷͰɼίϯςφࣗͷঢ়ଶ ʹΑΓϦιʔεׂΓͯΛมߋ͢ΔͳͲɼࡉ͔͍ࣗݾ੍ޚ͕ٻΊΒΕΔ γεςϜཁ݅Λຬͨ͢Α͏ͳ֦ு͕؆୯ʹͰ͖ͳ͍
1. ඞཁɾෆཁͳػೳͷΈ߹ΘͤΛར༻ऀ͕؆ܿʹهड़Ͱ͖Δ͜ͱ 2. γεςϜཁ݅Λຬͨ͢Α͏ͳ֦ு͕؆୯ʹͰ͖Δ͜ͱ ϗεςΟϯά༻్Λఆ͢Δͱɼྫ͑: ᶃ ίϯςφͷىಈɾఀࢭͳͲͷϥΠϑαΠΫϧΠϕϯτɼίϯςφىಈޙҰ ఆظؒޙΛܖػͱ࣮ͯ͠ߦ͞ΕΔॲཧ͕هड़ՄೳͰ͋Δ͜ͱ ᶄ ֎෦ͷ
HTTP API ͱͷ࿈ܞɼίϯςφػೳҎ֎ͷOSػೳͷ׆༻ͳͲ͕Մ ೳʹͳΔߴ͍֦ுੑ͕͋Δ͜ͱ ίϯςφʹ͓͚Δ՝Λղܾ͢Δʹ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
Haconiwa • චऀΒʹΑΔίϯςφϥϯλΠϜͷ ͍࣮ͪɼ2016ʹެ։ • ΦʔϓϯιʔειϑτΣΞͰ͋Δ
• ඞཁɾෆཁͳػೳͷΈ߹ΘͤΛར༻ऀ͕؆ܿʹهड़Ͱ͖Δ͔: • Έ߹ΘͤΛϥϯλΠϜͷػೳͱͯ͠αϙʔτ͠ɼޙड़͢Δmrubyͱ͍͏ ΈࠐΈ෦ݴޠ(DSL)Λར༻͠هड़ੑߴ͘ॻ͚Δ • ϥΠϑαΠΫϧΠϕϯτɼίϯςφىಈޙҰఆظؒޙΛܖػͱͨ͠ॲཧ: • DSLͰ༷ʑͳछྨͷϑοΫॲཧΛαϙʔτ͍ͯ͠Δ •
֎෦ͷ HTTP API ͱͷ࿈ܞ࣮ͳͲߴ͍֦ுੑ: • DSLͰͷϓϩάϥϛϯάɼ֎෦ϥΠϒϥϦͷຒΊࠐΈ͕Մೳ ՝ʹରͯ͠ͷHaconiwa
Haconiwaͷ ৄࡉͳػೳ
• Linuxίϯςφͷ࡞ʢචऀϓϩηεΛίϯςφԽ͢Δͱදݱ͢ΔʣΛෳ ͷػೳɾγεςϜίʔϧͷΈ߹ΘͤͰ࣮ݱ͢ΔɽͦΕΒͷػೳྨͰ͖ɼ ·ͨHaconiwaʹ͓͍ͯࣗ༝ʹΈ߹Θ͕ͤՄೳͰ͋Δ 1. OSϦιʔεͷػೳ: chrootγεςϜίʔϧɼLinux Namespace 2. OSϦιʔεͷ੍ݶػೳ:
cgroupsɼrlimitγεςϜίʔϧ 3. εʔύϢʔβݖݶͷׂ: Linux Capability 4. γεςϜίʔϧͷϑΟϧλػߏ: seccomp 3.1. ίϯςφԾԽػೳͷରԠ
ରԠػೳͷਤදʢ࣮ݱ͢ΔγεςϜίʔϧܝࣔʣ ྨ ໊শ ৄࡉ 04Ϧιʔεͷִ DISPPU ͋ΔαϒσΟϨΫτϦʹల։ͨ͠04ͷϑΝΠϧγε ςϜʹೖΓɼผͷ04ͷΑ͏ʹݟͤΔ
04Ϧιʔεͷִ -JOVY/BNFTQBDF TFUOT VOTIBSF ຊདྷ04ͰάϩʔόϧͳϦιʔεʢϗετ໊ɼ/*$ͳ Ͳʣʹ໊લۭؒΛ࡞ΓɺผͷϦιʔεΛ࣋ͨͤΔ 04Ϧιʔεͷ੍ݶ DHSPVQT DHSPVQGTΛར༻ ҙͷϓϩηεΛάϧʔϐϯά͠$16ɼϝϞϦɼॴ ଐϓϩηεͳͲΛ੍ݶ͋Δ͍ܭଌ͢Δ 04Ϧιʔεͷ੍ݶ SMJNJU QSMJNJU جຊతʹϓϩηεπϦʔ୯ҐͰ$16ɼϝϞϦɼϑΝ Πϧهड़ࢠͳͲΛ੍ݶ͢Δ ݖݶׂ -JOVY$BQBCJMJUZ QSDUM MJCDBQ εʔύϢʔβͷ࣋ͭಛݖΛز͔ͭʹׂ͠ɼҰ෦Λ ༩͋Δ͍ണୣ͢Δ γεςϜίʔϧ ϑΟϧλ TFDDPNQ TFDDPNQ MJCTFDDPNQ γεςϜίʔϧͱͦͷҾͷ݅͝ͱʹɼͦͷݺͼग़ ͠Λ੍ݶɾڐՄ͢Δ
• ͪ͜ΒදʹҰཡ͢Δ 3.2. ϑοΫػߏͷରԠ ໊শ ৄࡉ ϥΠϑαΠΫϧϑοΫ ىಈɼGPSLޭɼఀࢭɼࣦഊͱ͍ͬͨίϯςφͷϥΠϑαΠΫϧʹ ؔΘΔΠϕϯτ͝ͱʹҙͷॲཧΛ࣮ߦͰ͖Δ
λΠϜΞτϑοΫ ىಈޭޙɺίϯςφຊମͷॲཧͱඇಉظͷܗͰɼҰఆ࣌ؒܦա ޙʹҙͷॲཧΛ࣮ߦͰ͖ΔɽΠϯλʔόϧͷҰճ͚ͩͷܗ ΠϯλʔόϧϑοΫ ىಈޭޙɺίϯςφຊମͷॲཧͱඇಉظͷܗͰɼҰఆ࣌ؒͷΠ ϯλʔόϧΛऔͬͯҙͷॲཧΛఆظ࣮ߦͰ͖Δ γάφϧϋϯυϥ ίϯςφΛཧ͢ΔϓϩηεʢεʔύʔόΠβʣʹҙͷλΠϛϯ άͰಛఆͷγάφϧΛૹ͢ΔͱɺҙͷॲཧΛ࣮ߦͰ͖Δ
• ଞͷίϯςφϥϯλΠϜͰϥΠϑαΠΫϧΠϕϯτΛϕʔεͱͨ͠ϑοΫػ ߏΛαϙʔτ͍ͯ͠Δ • ྫ: Docker(ϥΠϑαΠΫϧΠϕϯτΛࢹ͢ΔHTTP APIΛ༻ҙ)ɼLXC(ઃఆ ϑΝΠϧͰҙͷίϚϯυΛ࣮ߦࢦఆՄೳ) • ҰํͰɼλΠϜΞτΠϯλʔόϧϑοΫʹؔͯ͠ݱࡏHaconiwaͷΈ͕
ίϯςφϥϯλΠϜΈࠐΈͰαϙʔτ͢Δ • ͜ͷϑοΫɼޙड़ͷFastContainerͷΑ͏ͳίϯςφͷੜଘظؒΛࢦఆ͢ Δػೳͷ࣮ݱͱ૬ੑ͕ྑ͍ ิ: ϑοΫػߏʹ͍ͭͯͷଞ࣮ͱͷൺֱ
• HaconiwamrubyͱݺΕΔܰྔͳRubyͷ ࣮ΛΈࠐΜͰ͍Δ • ίϯςφͷઃఆϑοΫॲཧΛ DSL(Domain Specific Language)Ͱهड़͠ɼ HaconiwaʹΈࠐΜͩmrubyͰධՁ͠ɼөɾ࣮ߦՄೳͰ͋Δ 3.3.
εΫϦϓτݴޠmrubyͷΈࠐΈ
• ͍ΘΏΔCRubyͱޓੑ͕͋Δจ๏ • εΫϦϓτݴޠʹ׳Εͨ ར༻ऀͰ͋ΕಡΈ͘͢ ೃછΈ͍͢Ͱ͋Ζ͏ͱ ߟ͑ΒΕΔ DSL ͷྫ
• mrubyʹmrbgemsͱݺΕΔ֎෦ϥΠϒϥϦͷΈ͕͋Δ • HaconiwaʹΈࠐ·ΕΔmrubyΛϏϧυ͢ΔࡍʹɼΠϯλʔωοτͳͲΛܦ ༝ͯ͠ಛఆͷػೳΛ࣮ݱͨ͠mrbgemsΛμϯϩʔυ͠ɼػೳίʔυΛ mrubyͦͷͷͱಉࠝ͢Δ͜ͱ͕Մೳͱͳ͍ͬͯΔ • ୯ମͷmrbgemͷ։ൃRubyݴޠ͋Δ͍CݴޠΛར༻͠൚༻తʹՄೳ • ࣮ࡍචऀΒɼઌड़ͨ͠ίϯςφؔ࿈ػೳͷར༻Λ୯ମͷgemʹ͍ͯ͠Δ
ิ: mrubyͷΤίγεςϜΛར༻֦ͨ͠ுੑ
• චऀΒʹΑΔʮmrubyΛར༻ͨܰ͠ྔίϯςφΫϥυج൫ͷݚڀ։ൃΛհ͠ ͨmrubyͷେنɾߴෛՙςετʯ͕2017Ruby Association։ൃॿ(*) ʹ࠾͞Ε͍ͯΔ • Haconiwaͷ։ൃʹ͓͍ͯɼຊॿʹΑΔRubyΞιγΤʔγϣϯ͔Βͷϝϯ λʔʢ·ͭͱΏ͖ͻΖࢯʣͷΞυόΠε͕Ұॿʹͳͬͨ͜ͱΛه͢Δ ิ: RubyΞιγΤʔγϣϯΑΓͷॿ
IUUQXXXSVCZPSKQKBOFXT
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
• චऀΒ৽نʹίϯςφΛཧ͠ɺΫϥελϦϯάΦʔέετϨʔγϣϯʹ ར༻͢ΔΞʔΩςΫνϟΛߟҊͨ͠ɽͦΕΛFastContainerͱݺͿ • FastContainerͷಛ: • ίϯςφΛɺඞཁʹͳΔ·Ͱىಈͤͣɼ·ͨෆཁʹͳͬͨΒഁغ͢Δ • ίϯςφͷىಈͷཻϦΫΤετ୯Ґ͝ͱͳͲॆʹਫ਼៛ʹ͢Δ •
ίϯςφΛ॥ͤ͞Δ͜ͱͰɼγεςϜશମͷ߃ৗੑΛ࣮ݱ͢Δ • ϥΠϒϥϦΞϓϦέʔγϣϯͷࣗಈަɼϚΠάϨʔγϣϯͷ࣮ݱͳͲ FastContainer: ίϯςφཧΞʔΩςΫνϟ
• FastContainerΛ࣮ݱ͢Δݱࡏͷ࣮(*)ʹɼHaconiwa͕࠾༻͞Ε͍ͯΔ • ࣮֘ͷ࠾ͷཧ༝: • ઃఆΈ߹ΘͤՄೳੑʹΑΓɼػೳΛௐ͠ىಈΛܰྔʹͰ͖ͨ ʢαʔϏεͱߟ͑Δͱࡉ͔͘ूੵੑ੍͕ޚͰ͖ͨϝϦοτͰ͋ͬͨʣ • ֦ுੑɼ͜ͱλΠϜΞτϑοΫػೳʹΑΓɼҰఆظؒͷఀࢭͱ͍͏ FastContainerͷཁ݅Λ༰қʹ࣮ݱͰ͖ͨ
FastContainerͱHaconiwa ϩϦϙοϓʂϚωʔδυΫϥυ (.0ϖύϘ IUUQTNDMPMJQPQKQ
• ϖύϘݚڀॴΑΓจ(*)ɾൃදࢿྉ(**)͕ग़͍ͯΔͨΊɼࢀরͯ͠΄͍͠ FastContainer ʹؔ͢Δؔ࿈ใ IUUQTTQFBLFSEFDLDPNNBUTVNPUP@S GBTUDPOUBJOFSTIJYJOHIVBOKJOHGBMTFCJBO IVBOJTV[BPLVTIJZJOHEFLJSVIFOHDIBOH YJOHXPDIJUVTJTVUFNVBLJUFLVUJZB IUUQTSBOEQFQBCPDPNBSUJDMF
JPUNBUTVNPUPSZ
1. ͡Ίʹ 2. ίϯςφΛར༻ͨ͠Φʔτεέʔϧͷ՝ 3. ఏҊख๏: Haconiwa 4. ຊख๏Λར༻ͨ͠ΞʔΩςΫνϟɾγεςϜͷྫ 5.
·ͱΊ ࣍
• ΠϯλʔωοτɾWebϢʔβͷ֦େʹΑΓɺαʔϏεӡ༻ऀ༧ଌͰ͖ͳ͍ ෛՙ্ͳͲʹରԠ͠ͳ͚ΕͳΒͣɼΦʔτεέʔϧʹ͕ू·Δ • ͦͷج൫Ͱίϯςφ͕ීٴ͢Δ͕ɼϗεςΟϯάͰͷར༻ʹ՝ • ՝Λड͚Haconiwa͕࣮ݱͨ͠ಛ: • Έ߹ΘͤՄೳੑ: ίϯςφΛ࣮ݱ͢ΔػೳΛࣗ༝ʹΈ߹ΘͤՄೳ
• ֦ுੑ: ϑοΫͷ࣮ߦಛԽͨ͠ػೳͷ࣮͕༰қ • FastContainerͱ͍͏ΞʔΩςΫνϟͰར༻͠αʔϏεΠϯ͍ͯ͠Δ ·ͱΊ
• ଞͷίϯςφϥϯλΠϜ͕αϙʔτ͢ΔҰ෦ػೳ͕ະ࣮ • ۩ମతʹMandatory Access Control(SELinux/AppArmorଞ)ͱͷ࿈ܞͳͲ • ϑοΫػߏɼྫ֎ػߏͳͲΛΑΓ҆ఆ͍ͤ͘͢͢͞Δ • ར༻ऀ͕·ͩগͳ͘ɼใগͳ͍
• ΤίγεςϜΛॆ࣮ͤ͞ΔɽυΩϡϝϯτͪΖΜͰ͋Δ͕ɼHaconiwa Λར༻ͨ͠ίϯςφཧΛ؆୯ʹମݧͰ͖ΔΑ͏ͳOSSݕ౼͢Δ ՝ͱࠓޙͷHaconiwa
• HaconiwaݱࡏɼFastContainerΞʔΩςΫνϟͱͷซ༻ͷΈ͕ࣄྫͱͳͬͯ ͍Δɽ·ͨɼFastContainerͱΈ߹ΘͤͰॳͷ՝ͷղܾΛࢼΈ͍ͯΔ • FastContainerͷ࣮ݱʹ࠷ద͍ͯ͠Δ͜ͱݴ͑ΔͩΖ͏ • ࠓޙɼHaconiwa͕͍ࣗ࣋ͬͯΔ 1)Έ߹ΘͤՄೳੑ 2)֦ுੑ ͦΕͧΕ͕
ଞͷΞʔΩςΫνϟɼOSSͷॾπʔϧͱͷ࿈ܞͷ্Ͱ༗ޮͰ͋Δ͜ͱΛ࣮ ূ͍͖͍ͯͨ͠ • ͦͷͨΊʹଞͷπʔϧͱͷ࿈ܞੑΛߴΊΔ͜ͱΛߟ͍͑ͯΔ ΤίγεςϜʹؔ͢Δ՝ͷิ
• ຊจɼڞஶऀͷ΄͔ҎԼͷํʑΑΓॿݴɾఏҊΛ͍͍͍ͨͩͯΔɽ • भେֶ Ԭଜߞೋઌੜɼౢ٢ོઌੜɼּݪٛߊઌੜ • GMOϖύϘݚڀॴސ ྗ݈ٕ࣍ज़࢜ • ΫοΫύου
ాߞҰ͞Μ • ຊจͷ༰ɼฏ29 ࠃཱใֶݚڀॴΫϥυར׆༻࣮ূ࣮ݧʹ͓ ͚ΔՌͷҰ෦Λར༻͍ͯ͠Δ ँࣙ