Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
趣味開発のためのVPS/クラウド活用術
Search
mackee
August 30, 2014
Programming
16
13k
趣味開発のためのVPS/クラウド活用術
YAPC::Asia 2014 2014-08-30 by @mackee_w
mackee
August 30, 2014
Tweet
Share
More Decks by mackee
See All by mackee
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
84
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
3.5k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
5.7k
ワンバイナリWebサービスのススメ
mackee
10
8.1k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
140
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.1k
perl for shell, awk and sed programmers
mackee
3
2.6k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
910
Other Decks in Programming
See All in Programming
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
350
Microservices rules: What good looks like
cer
PRO
0
1.4k
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
360
JETLS.jl ─ A New Language Server for Julia
abap34
1
410
認証・認可の基本を学ぼう後編
kouyuume
0
240
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
FluorTracer / RayTracingCamp11
kugimasa
0
230
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
480
SwiftUIで本格音ゲー実装してみた
hypebeans
0
400
Cell-Based Architecture
larchanjo
0
130
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
23k
Context Engineering - Making Every Token Count
addyosmani
9
520
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
Automating Front-end Workflow
addyosmani
1371
200k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Transcript
झຯ։ൃͷͨΊͷ Ϋϥυ/VPS׆༻ज़ 2014-08-30 YAPC::Asia 2014
@mackee_w a.k.a Ϛίϐʔ • ໘ന๏ਓΧϠοΫ ٕज़෦ • αʔόαΠυΤϯδχΞ(Perl) • ιʔγϟϧήʔϜͷ։ൃ/ӡ༻
• ࠓ࡞͍ͬͯΔήʔϜࣄલొडத
ࠓ͢͜ͱ • VPS/ΫϥυαʔϏεൺֱ • PaaS͠·ͤΜ • ࠓɺࣗαʔόΛ͏ཧ༝ • Raspberry PiΛࣗαʔόʹ͏
͜ͷൃදʹಠஅͱภݟ͕ ͔ͳΓؚ·Ε͍ͯΔͷͰ ͜ͷޙHUBͱ͔ͰΛ͍ͯͩ͘͠͞
ԿނPaaSͷΛ͠ͳ͍͔
େମͷझຯͰ͢ • Πϯϑϥ͔Βߏங͢Δͷ͕͖ • Perl͕ಈ͘PaaSݶΒΕ͍ͯΔ • DotCloud • Heroku •
OpenShift • PaaSׂߴͳ͜ͱ͕ଟ͍
ࠓճʹ্͛ΔαʔϏε
linodeͦͷଞVPS͕ͳ͍ͷ ͬͯͳ͍͔ΒͰ͢ʼʻ Ϩϙʔτ͓͓ͪͯ͠Γ·͢ HUBͰΛͯ͠ʢ͈́
ͱΓ֤͋͑ͣΠϯελϯεͰ ϕϯν(unixbench)औͬͯΈΔ
֤αʔϏεͷεϖοΫ • Amazon AWS - t2.micro $15.60/month(※) • Google Compute
Engine - $7.48/month(※) • ͘͞ΒͷVPS - 934ԁ(੫ൈ͖)/month • DigitalOcean - $5/month • VULTR - $5/month
͕࣌ؒͳ͍ͷͰαʔϏεͷ ಛʹ݁ՌؚΊΔ
͍ͯ͘͞Ͱ
͍͖ͳΓ෮ݖͨ͠t2.mirco είΞ:1839.5 • t1.microγϣϘΠׂ͠ߴͩͳͬͯࢥͬͯͨ ͚ΕͲࠓͳΒϝονϟ͑͑Μͬͯͳͬͯ Δ • ͨͩ͠ɺৗ࣌ىಈͰͳ͘ىಈ༻్ • AWSͷαʔϏεݸਓͰ༗༻ͳͷଟ͍
t2ܥΠϯελϯεͷBurst • t2ܥͷΠϯελϯεੑೳ͕Burst͢Δ • Ұ࣌తʹೳྗ͕Ξοϓ • ͍ͬͯͳ͍ͱஷ͕ۚஷ·Δ • WebαʔϏεͷͱ͖ʹศརʢߏங࣌ͱ͔
GCE f1-micro είΞ:437.1 • ݸਓͰ͋·ΓΘͳ͍/͑ͳ͍αʔϏε • ϩʔυόϥϯαʔ • BigQuery͍͢͝Μ͚ͩΕͲ…… •
App EngineͷDockerରԠʹظ • 1ϲ݄͍ଓ͚Δͱ҆͘ͳΔγεςϜ
ීஈ͍ͰVULTR 768MB είΞ: 2328.2 • ͔ͳΓ͓ख͍ܰͩ҆͠ ͦͦ͜͜ૣ͍ • ࠷৽OS͕͍ͪૣ͘ࢼͤΔ •
Βͳ͍͏ͪʹػೳ͕Ճ͞Ε͍ͯΔ • CDΠϯετʔϧPXEϒʔτ͕Մೳ • ౦ژϦʔδϣϯ
Vagrant࿈ܞ͕Ͱ͖ΔDO είΞ: 1460.3 • Vagrantศར࠷ߴ • Ձ֨VULTRͱಉ͙͡Β͍ • ͨͩ͠Ұ൪͍ۙͷγϯΨϙʔϧϦʔδϣ ϯ
• ͍ͬͯΔਓଟ͍ͱࢥΘΕΔ
ٙ
ͱ͜ΖͰԶҰମ ͳΜͰ͜Μͳʹ αʔόΛཱͯͯΔΜͩ
ීஈͷ༻్ • ࡞ͬͯΈͨϛυϧΣΞͷϕϯν • ྲྀߦ͍ͬͯΔΒ͍͠ϛυϧΣΞΛͬͯΈΔ • खݩͷMac͕ͿΜͿΜ໐Δͷ͕ؾʹ৯Θͳ͍ • ࣮͋Μ·ΓαʔϏεͱ͔࡞ͬͯͳ͍
kuiperbelt ωοτϫʔΫଳҬͷ૿෯ϠόΠ
ωοτϫʔΫͷ՝ۚܗଶ ͚ͬͨͩ͏ ্ݶ·Ͱ0, ແ੍ݶ
సૹྔΛؾʹ͔͚Δ͖༻్ • ಈը৴ • ಈըऔΓࠐΈ • εΫϨΠϐϯάͯ͠σΧ͍XMLͱ͔Λఆظత ʹऔΓࠐΉͱ͔ • Ξοϓϩʔμʔ
ͦ͏͍͏࣌ʹ͘͞ΒͷVPS είΞ: 2080.1(2 cores) ͪΖΜۀͰAWS S3ͩͬͨΓ CloudFrontͩͬͨΓ͍͚ΔͩΖ͏͚ΕͲ AWS՝ֹ͕ۚݟ͑ͳ͍ͷ͕झຯͰΔʹ πϥΠ
͘͞ΒͷVPS • ཱͯΔͷ͕APIͰग़དྷͳ͍ • 1ϲ݄୯Ґͷ՝ۚ • ৗ࣌ىಈͰσʔλஔ͘ͱ͜Ζͱ͔ʹ͍͑ ͍ͷͰʁ • ssig33.com
- Docker ӡ༻͠·ͬͯ͘ಘΒΕͨ ͠ΐ΅͍ࣝ
VPSىಈ͕͍ • ͍͍ͩͨͦΕͧΕ1͔Β5͙Β͍͔͔Γ ·͢ • t2.mircoͱ͔gp2Λ͚ͭΔͱएׯૣ͍ • CoreOSͰ্ཱͪ͛Δͱૣ͍ͱ͔͋Δ • εφοϓγϣοτ
ఏҊ - ͻͱͭৗཱ͓࣌ͯͯ͘ • ϓϥΠϕʔτPaaSͷΑ͏ʹCoreOSΛཱͯ ͓ͯ͘ • ͦͷCoreOSʹରͯ͠σϓϩΠ͢Δ
ϝϦοτ • (طʹϏϧυࡁΈͷίϯςφͰ͋Ε)ૣ͍ • ͓͕ۚ༨ܭʹ͔͔Βͳ͍ • ϓϥΠϕʔτPaaS࣋ͬͯΔͬͯݴ͑Δ • ϓϥΠϕʔτϏʔνΈ͍ͨͳ
σϝϦοτ • ωοτϫʔΫੑೳΪϦΪϦ·Ͱ͏ϕϯν CPUΛ͍ͬͺ͍·Ͱ͏ϕϯνʹ͑ͳ͍ • kuiperbeltͦ͏͍͏͜ͱ͋ΔͷͰෳΠϯ ελϯε্ཱͪ͛ͯϕϯνऔΓ·ͨ͠
VULTRʹCoreOSΛࡌ͚ͬΔ https://coreos.com/docs/running-coreos/cloud-providers/vultr/
͏ҰͭͷఏҊ ϨγϐΛ࣋ͭ • ͍͍ͪͪyumͱ͔aptͱ͔ͬͯΒΕͳ͍ • chefͰansibleͰγΣϧεΫϦϓτͰ ͍͍͔Βࣗ༻ͷϨγϐΛ͓࣋ͬͯ͘ • ֤ʑͷελΠϧͰྑ͍
VULTRͰͷStartup Scripts • ެ։伴ͷྲྀ͠ࠐΈ(VULTR͚͔ͩ) • github͔Β • Α͘͏ܥͷϞδϡʔϧͷΠϯετʔϧͱ͔ • build-essential
/ mosh / tmux / vim • githubͷdotfiles͔Β*rcΛऔΓࠐΉ
ࠓͷ࣌ʹࣗαʔόͷҙຯ
ࣗαʔόͷσϝϦοτ • ిؾ • Πχγϟϧίετ • ੑೳΛ্͛Δʹ·ͨॳظࢿ͕ඞཁ • ॴ •
ਭΛ͛ΒΕΔ͜ͱ͕͋Δ
ී௨ʹԿ͔࣮ݧαʔϏεΛ ΔʹVPSͳͲʹ པͬͨ΄͏͕ྑ͍
ࣗʹαʔόΛஔ͘ͱ͜͏ͳ Δ • ཕ͕མͪͯΖΖඈͿ • Ҿͬӽ͠ͱ͔͠ʹ͘͘ͳΔ • ిؾɹόΧʹͳΒͳ͍
ͦΕͰ ·ͩࣗαʔό͕ඞཁͳ༻్
ྫ͑GPGPUͷ߹ • AWSͷGPUΠϯελϯε(g2.2xlarge)Ձ ͕֨$0.898ɻ1࣌ؒ90ԁෆ҆ײ͋Δ(※) • ੑೳ͕ݻఆͳͷͰͬͱεϖοΫ͕΄͍͠ ͱ͔ͩͱબࢶ͕ͳ͍
ྫ͑TV൪ըڥͱ͔ • ը(ࠓͷͱ͜Ζ)ࣗલͰΒͳ͍ͱ͍͚ ͳ͍ • WOLλΠϚʔͰը࣌ؒʹىಈͯ͠ը ͯ͠Τϯίͯ͠γϟοτμϯͱ͔ྦ͙· ͍͠ྗ͕ඞཁ
ετϨʔδ͕ΊͬͪΌཉ͍͠ • ςϥόΠτΫϥεͷετϨʔδΛΫϥυ ʹٻΊΔͱେมͳ͜ͱʹͳΔ • S3ͰԽͰ$24.6/month + α • ԽΛ͋·Γؾʹ͠ͳͯ͘ྑ͍ͳΒHDD
ങ͖ͬͯͯͦΕͬͨ΄͏͕ྑͦ͞͏
ࣗαʔόͱͯ͠ͷ Raspberry Pi
Raspberry Pi http://commons.wikimedia.org/wiki/File:Raspberry_Pi_Photo.jpg
ϝϦοτ • ফඅిྗ(ී௨ʹ͑࠷େ0.5Wఔ) • খ͍͞ • ඞཁ࠷ݶͷػೳඋ͍͑ͯΔ • ωοτϫʔΫ •
USB
ͬͯΈͨײ • ܥτϥϒϧ͕༗Δ • έʔεʹೖΕ͍ͯΔਓʹଟ͍ • ֎͚HDDʹΨϯΨϯॻ͖ࠐΉܥͩͱΊͬ ͪΌ͍ ଳҬ͕Γͳ͍ •
͍ܰΞϓϦέʔγϣϯͳΒOK t1.microఔ
Raspberry Pi Immutable Infrastracture(ཧ)
SDΧʔυ͕ΠϝʔδҠಈʂʂ • ͦΕͧΕͷڥҰॹͳͷͰSDΧʔυΛൈ͖ ࠩ͢͠Δ͚ͩͰڥΛม͑ΕΔ • ৽͍͠SDΧʔυʹΠϝʔδॻ͖ࠐΊ͙͢ʹ ·ͬ͞Βڥ • ͍҆ͷͰ͍ͬͺ͍ങ͑Δ =
ෳͷࢼݧͱ͔
·ͱΊ • ֤αʔϏεҰҰɻ͍͚Α͏ • ࣌ΫϥυɻͦΕͰࣗαʔό͕ඞཁ ʹͳΔ߹͕͋Δ͠ɺࣗαʔόϩϚϯ • αʔόཱࣺͯͯͯΔ࣌ͳͷͰօཱࣺͯͯ ͯ·ͬͯ͘ࢼͤྑ͍ͱࢥ͏ɻౖΒΕͳ͍ •
ࠓͷYAPCRasPi͕τϨϯυͰʂʁʂʁ