Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
趣味開発のためのVPS/クラウド活用術
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
590
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
5.1k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
6.5k
ワンバイナリWebサービスのススメ
mackee
10
8.5k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
440
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.1k
perl for shell, awk and sed programmers
mackee
3
2.7k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1.1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
960
Other Decks in Programming
See All in Programming
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.1k
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
790
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
170
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
120
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
350
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.4k
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
360
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
460
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
490
20260315 AWSなんもわからん🥲
chiilog
2
160
OTP を自動で入力する裏技
megabitsenmzq
0
120
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
410
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
130
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
85
Building an army of robots
kneath
306
46k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
The untapped power of vector embeddings
frankvandijk
2
1.6k
Design in an AI World
tapps
0
170
Building Adaptive Systems
keathley
44
3k
Exploring anti-patterns in Rails
aemeredith
2
290
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
150
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͕τϨϯυͰʂʁʂʁ