Slide 1

Slide 1 text

झຯ։ൃͷͨΊͷ Ϋϥ΢υ/VPS׆༻ज़ 2014-08-30 YAPC::Asia 2014

Slide 2

Slide 2 text

@mackee_w a.k.a Ϛίϐʔ • ໘ന๏ਓΧϠοΫ ٕज़෦ • αʔόαΠυΤϯδχΞ(Perl) • ιʔγϟϧήʔϜͷ։ൃ/ӡ༻ • ࠓ࡞͍ͬͯΔήʔϜ͸ࣄલొ࿥ड෇த

Slide 3

Slide 3 text

ࠓ೔࿩͢͜ͱ • VPS/Ϋϥ΢υαʔϏεൺֱ • PaaS͸࿩͠·ͤΜ • ࠓɺࣗ୐αʔόΛ࢖͏ཧ༝ • Raspberry PiΛࣗ୐αʔόʹ࢖͏

Slide 4

Slide 4 text

͜ͷൃදʹ͸ಠஅͱภݟ͕ ͔ͳΓؚ·Ε͍ͯΔͷͰ ͜ͷޙHUBͱ͔Ͱ๻Λ౗͍ͯͩ͘͠͞

Slide 5

Slide 5 text

ԿނPaaSͷ࿩Λ͠ͳ͍͔

Slide 6

Slide 6 text

େମ๻ͷझຯͰ͢ • Πϯϑϥ͔Βߏங͢Δͷ͕޷͖ • Perl͕ಈ͘PaaS͸ݶΒΕ͍ͯΔ • DotCloud • Heroku • OpenShift • PaaS͸ׂߴͳ͜ͱ͕ଟ͍

Slide 7

Slide 7 text

ࠓճ࿩୊ʹ্͛ΔαʔϏε

Slide 8

Slide 8 text

linode΍ͦͷଞVPS͕ͳ͍ͷ͸ ࢖ͬͯͳ͍͔ΒͰ͢ʼʻ Ϩϙʔτ͓଴͓ͪͯ͠Γ·͢ HUBͰ๻Λ౗ͯ͠ʢ͈́

Slide 9

Slide 9 text

ͱΓ֤͋͑ͣΠϯελϯεͰ ϕϯν(unixbench)औͬͯΈΔ

Slide 10

Slide 10 text

֤αʔϏεͷεϖοΫ • Amazon AWS - t2.micro $15.60/month(※) • Google Compute Engine - $7.48/month(※) • ͘͞ΒͷVPS - 934ԁ(੫ൈ͖)/month • DigitalOcean - $5/month • VULTR - $5/month

Slide 11

Slide 11 text

͕࣌ؒͳ͍ͷͰαʔϏεͷ ಛ௃ʹ݁Ռ͸ؚΊΔ

Slide 12

Slide 12 text

͍ͯ͘͞Ͱ

Slide 13

Slide 13 text

͍͖ͳΓ෮ݖͨ͠t2.mirco είΞ:1839.5 • t1.microγϣϘΠׂ͠ߴͩͳͬͯࢥͬͯͨ ͚ΕͲࠓͳΒϝονϟ͑͑΍Μͬͯͳͬͯ Δ • ͨͩ͠ɺৗ࣌ىಈͰ͸ͳ͘౎౓ىಈ༻్ • AWSͷαʔϏε͸ݸਓͰ༗༻ͳͷ΋ଟ͍

Slide 14

Slide 14 text

t2ܥΠϯελϯεͷBurst • t2ܥͷΠϯελϯε͸ੑೳ͕Burst͢Δ • Ұ࣌తʹೳྗ͕Ξοϓ • ࢖͍ͬͯͳ͍ͱஷ͕ۚஷ·Δ • WebαʔϏεͷͱ͖ʹศརʢߏங࣌ͱ͔

Slide 15

Slide 15 text

GCE f1-micro είΞ:437.1 • ݸਓͰ͸͋·Γ࢖Θͳ͍/࢖͑ͳ͍αʔϏε • ϩʔυόϥϯαʔ • BigQuery΋͍͢͝Μ͚ͩΕͲ…… • App EngineͷDockerରԠʹظ଴ • 1ϲ݄࢖͍ଓ͚Δͱ҆͘ͳΔγεςϜ

Slide 16

Slide 16 text

ීஈ࢖͍Ͱ͸VULTR 768MB είΞ: 2328.2 • ͔ͳΓ͓ख͍ܰͩ҆͠ ͦͦ͜͜ૣ͍ • ࠷৽OS͕͍ͪૣ͘ࢼͤΔ • ஌Βͳ͍͏ͪʹػೳ͕௥Ճ͞Ε͍ͯΔ • CDΠϯετʔϧ΍PXEϒʔτ͕Մೳ • ౦ژϦʔδϣϯ

Slide 17

Slide 17 text

Vagrant࿈ܞ͕Ͱ͖ΔDO είΞ: 1460.3 • Vagrantศར࠷ߴ • Ձ֨͸VULTRͱಉ͙͡Β͍ • ͨͩ͠Ұ൪͍ۙͷ͸γϯΨϙʔϧϦʔδϣ ϯ • ࢖͍ͬͯΔਓଟ͍ͱࢥΘΕΔ

Slide 18

Slide 18 text

ٙ໰

Slide 19

Slide 19 text

ͱ͜ΖͰԶ͸Ұମ ͳΜͰ͜Μͳʹ αʔόΛཱͯͯΔΜͩ

Slide 20

Slide 20 text

ීஈͷ༻్ • ࡞ͬͯΈͨϛυϧ΢ΣΞͷϕϯν • ྲྀߦ͍ͬͯΔΒ͍͠ϛυϧ΢ΣΞΛ࢖ͬͯΈΔ • खݩͷMac͕ͿΜͿΜ໐Δͷ͕ؾʹ৯Θͳ͍ • ࣮͸͋Μ·ΓαʔϏεͱ͔࡞ͬͯͳ͍

Slide 21

Slide 21 text

kuiperbelt ωοτϫʔΫଳҬͷ૿෯཰ϠόΠ

Slide 22

Slide 22 text

ωοτϫʔΫͷ՝ۚܗଶ ࢖ͬͨ෼͚ͩ෷͏੎ ্ݶ·Ͱ͸0, ແ੍ݶ

Slide 23

Slide 23 text

సૹྔΛؾʹ͔͚Δ΂͖༻్ • ಈը഑৴ • ಈըऔΓࠐΈ • εΫϨΠϐϯάͯ͠σΧ͍XMLͱ͔Λఆظత ʹऔΓࠐΉͱ͔ • Ξοϓϩʔμʔ

Slide 24

Slide 24 text

ͦ͏͍͏࣌ʹ͸͘͞ΒͷVPS είΞ: 2080.1(2 cores) ΋ͪΖΜۀ຿Ͱ͸AWS S3ͩͬͨΓ CloudFrontͩͬͨΓ࢖͍෼͚ΔͩΖ͏͚ΕͲ AWS͸՝ֹ͕ۚݟ͑ͳ͍ͷ͕झຯͰ΍Δʹ͸ πϥΠ

Slide 25

Slide 25 text

͘͞ΒͷVPS • ཱͯΔͷ͕APIͰग़དྷͳ͍ • 1ϲ݄୯Ґͷ՝ۚ • ৗ࣌ىಈͰσʔλஔ͘ͱ͜Ζͱ͔ʹ࢖͑͹͍ ͍ͷͰ͸ʁ • ssig33.com - Docker ӡ༻͠·ͬͯ͘ಘΒΕͨ ͠ΐ΅͍஌ࣝ

Slide 26

Slide 26 text

VPS͸ىಈ͕஗͍ • ͍͍ͩͨͦΕͧΕ1෼͔Β5෼͙Β͍͔͔Γ ·͢ • t2.mircoͱ͔͸gp2Λ͚ͭΔͱएׯૣ͍ • CoreOSͰ্ཱͪ͛Δͱૣ͍ͱ͔͋Δ • εφοϓγϣοτ

Slide 27

Slide 27 text

ఏҊ - ͻͱͭৗཱ͓࣌ͯͯ͘ • ϓϥΠϕʔτPaaSͷΑ͏ʹCoreOSΛཱͯ ͓ͯ͘ • ͦͷCoreOSʹରͯ͠σϓϩΠ͢Δ

Slide 28

Slide 28 text

ϝϦοτ • (طʹϏϧυࡁΈͷίϯςφͰ͋Ε͹)ૣ͍ • ͓͕ۚ༨ܭʹ͔͔Βͳ͍ • ϓϥΠϕʔτPaaS࣋ͬͯΔͬͯݴ͑Δ • ϓϥΠϕʔτϏʔνΈ͍ͨͳ

Slide 29

Slide 29 text

σϝϦοτ • ωοτϫʔΫੑೳΪϦΪϦ·Ͱ࢖͏ϕϯν΍ CPUΛ͍ͬͺ͍·Ͱ࢖͏ϕϯνʹ͸࢖͑ͳ͍ • kuiperbelt͸ͦ͏͍͏͜ͱ͋ΔͷͰෳ਺Πϯ ελϯε্ཱͪ͛ͯϕϯνऔΓ·ͨ͠

Slide 30

Slide 30 text

VULTRʹCoreOSΛࡌ͚ͬΔ https://coreos.com/docs/running-coreos/cloud-providers/vultr/

Slide 31

Slide 31 text

΋͏ҰͭͷఏҊ ϨγϐΛ࣋ͭ • ͍͍ͪͪyumͱ͔aptͱ͔΍ͬͯΒΕͳ͍ • chefͰ΋ansibleͰ΋γΣϧεΫϦϓτͰ΋ ͍͍͔Βࣗ෼༻ͷϨγϐΛ͓࣋ͬͯ͘ • ֤ʑͷελΠϧͰྑ͍

Slide 32

Slide 32 text

VULTRͰͷStartup Scripts • ެ։伴ͷྲྀ͠ࠐΈ(VULTR͚͔ͩ΋) • github͔Β • Α͘࢖͏ܥͷϞδϡʔϧͷΠϯετʔϧͱ͔ • build-essential / mosh / tmux / vim • githubͷdotfiles͔Β*rcΛऔΓࠐΉ

Slide 33

Slide 33 text

ࠓͷ࣌୅ʹࣗ୐αʔόͷҙຯ

Slide 34

Slide 34 text

ࣗ୐αʔόͷσϝϦοτ • ిؾ୅ • Πχγϟϧίετ • ੑೳΛ্͛Δʹ͸·ͨॳظ౤ࢿ͕ඞཁ • ৔ॴ୅ • ਭ຾Λ๦͛ΒΕΔ͜ͱ͕͋Δ

Slide 35

Slide 35 text

ී௨ʹԿ͔࣮ݧ΍αʔϏεΛ ΍Δ෼ʹ͸VPSͳͲʹ པͬͨ΄͏͕ྑ͍

Slide 36

Slide 36 text

ࣗ୐ʹαʔόΛஔ͘ͱ͜͏ͳ Δ • ཕ͕མͪͯ΋Ζ΋ΖඈͿ • Ҿͬӽ͠ͱ͔͠ʹ͘͘ͳΔ • ిؾ୅ɹόΧʹͳΒͳ͍

Slide 37

Slide 37 text

ͦΕͰ΋ ·ͩࣗ୐αʔό͕ඞཁͳ༻్

Slide 38

Slide 38 text

ྫ͑͹GPGPUͷ৔߹ • AWSͷGPUΠϯελϯε(g2.2xlarge)͸Ձ ͕֨$0.898ɻ1࣌ؒ90ԁ͸ෆ҆ײ͋Δ(※) • ੑೳ͕ݻఆͳͷͰ΋ͬͱεϖοΫ͕΄͍͠ ͱ͔ͩͱબ୒ࢶ͕ͳ͍

Slide 39

Slide 39 text

ྫ͑͹TV൪૊࿥ը؀ڥͱ͔ • ࿥ը͸(ࠓͷͱ͜Ζ)ࣗલͰ΍Βͳ͍ͱ͍͚ ͳ͍ • WOL΍λΠϚʔͰ࿥ը࣌ؒʹىಈͯ͠࿥ը ͯ͠Τϯίͯ͠γϟοτμ΢ϯͱ͔ྦ͙· ͍͠౒ྗ͕ඞཁ

Slide 40

Slide 40 text

ετϨʔδ͕ΊͬͪΌཉ͍͠ • ςϥόΠτΫϥεͷετϨʔδΛΫϥ΢υ ʹٻΊΔͱେมͳ͜ͱʹͳΔ • S3Ͱ௿৑௕ԽͰ$24.6/month + α • ৑௕ԽΛ͋·Γؾʹ͠ͳͯ͘ྑ͍ͳΒHDD ങ͖ͬͯͯͦΕ࢖ͬͨ΄͏͕ྑͦ͞͏

Slide 41

Slide 41 text

ࣗ୐αʔόͱͯ͠ͷ Raspberry Pi

Slide 42

Slide 42 text

Raspberry Pi http://commons.wikimedia.org/wiki/File:Raspberry_Pi_Photo.jpg

Slide 43

Slide 43 text

ϝϦοτ • ௿ফඅిྗ(ී௨ʹ࢖͑͹࠷େ0.5Wఔ౓) • খ͍͞ • ඞཁ࠷௿ݶͷػೳ͸උ͍͑ͯΔ • ωοτϫʔΫ • USB

Slide 44

Slide 44 text

࢖ͬͯΈͨײ૝ • ೤ܥτϥϒϧ͕༗Δ • έʔεʹೖΕ͍ͯΔਓʹଟ͍ • ֎෇͚HDDʹΨϯΨϯॻ͖ࠐΉܥͩͱΊͬ ͪΌ஗͍ ଳҬ͕଍Γͳ͍ • ͍ܰΞϓϦέʔγϣϯͳΒOK t1.microఔ౓

Slide 45

Slide 45 text

Raspberry Pi͸ Immutable Infrastracture(෺ཧ)

Slide 46

Slide 46 text

SDΧʔυ͕ΠϝʔδҠಈ΍ʂʂ • ͦΕͧΕͷ؀ڥ͸ҰॹͳͷͰSDΧʔυΛൈ͖ ࠩ͢͠Δ͚ͩͰ؀ڥΛม͑ΕΔ • ৽͍͠SDΧʔυʹΠϝʔδॻ͖ࠐΊ͹͙͢ʹ ·ͬ͞Β؀ڥ • ͍҆ͷͰ͍ͬͺ͍ങ͑Δ = ෳ਺୆ͷࢼݧͱ͔

Slide 47

Slide 47 text

·ͱΊ • ֤αʔϏε͸Ұ௕Ұ୹ɻ࢖͍෼͚Α͏ • ࣌୅͸Ϋϥ΢υɻͦΕͰ΋ࣗ୐αʔό͕ඞཁ ʹͳΔ৔߹͕͋Δ͠ɺࣗ୐αʔό͸ϩϚϯ • αʔό͸ཱࣺͯͯͯΔ࣌୅ͳͷͰօཱࣺͯͯ ͯ·ͬͯ͘ࢼͤ͹ྑ͍ͱࢥ͏ɻౖΒΕͳ͍ • ࠓ೥ͷYAPC͸RasPi͕τϨϯυͰ͸ʂʁʂʁ