Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Engine Yard Cloud 入門
Search
Yusuke Ando
April 08, 2013
Programming
330
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Engine Yard Cloud 入門
Yusuke Ando
April 08, 2013
More Decks by Yusuke Ando
See All by Yusuke Ando
CakePHP3でアプリ開発
yandod
1
440
Shimokita.Unity パーティクルでエフェクト
yandod
0
900
CakePHP3の明るい未来
yandod
1
310
Testing your app with Selenium on Travis CI
yandod
8
3.3k
Testing your app with Selenium on Travis CI
yandod
0
200
Inputで入力を扱う
yandod
0
750
Detonatorで爆発させる勉強会をした報告
yandod
0
2.6k
Mecanimでアニメーション - Shimokita.Unity
yandod
0
810
パリの街をUnityで駆ける
yandod
1
3.5k
Other Decks in Programming
See All in Programming
ActionController meets Protocol Buffers
sorah
0
520
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
APNsからLive Activityを開始する話
yumnumm
0
170
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
410
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
Event is what happens
moro
2
770
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
180
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.9k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Building Applications with DynamoDB
mza
96
7.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Transcript
&OHJOF:BSE$MPVEೖ
Agenda • αϯϓϧͷσϓϩΠ • &OHJOF:BSE$MPVEͷ֓ཁ • σϓϩΠͱϚΠάϨʔγϣϯ • ֤छϩάใͷ֬ೝ •
όοΫΞοϓͱεφοϓγϣοτ • εέʔϧΞτ • Πϯελϯεͷ44) • &OHJOF:BSE$-* • $IFGΛར༻ͨ͠ڥͷΧελϚΠζ
αϯϓϧͷσϓϩΠ
αϯϓϧͷσϓϩΠ • օ͞ΜͷΞΧϯτͰσϓϩΠ͠·͢ • ·ͣઌʹྲྀΕΛͻͱ௨Γ͓ݟ͔ͤͯ͠Βɺ֤ࣗʹͬͯ ͖·͢ • Ϋϥυ্ʹαʔόΛߏங͢Δͷʹ10ఔͷͪ࣌ؒ ͕ൃੜ͠·͢
Engine Yard Cloudͱ 5
Copyright © 2013 Engine Yard. All Rights Reserved. 6 2006ɿ
Engine Yard ઃཱ (Ruby࣮ߦڥͷఏڙ։࢝) 2008ɿ Amazon༷͕Engine Yardʹग़ࢿΛൃද 2009ɿ AWSج൫ͷϓϥοτϑΥʔϜΛఏڙ։࢝ ࠷େڃͷAWSϦηʔϥʔʹ 2011ɿ PHP࣮ߦڥͷఏڙ։࢝ 2012ɿ Engine Yard ຊ๏ਓઃཱ Node.js࣮ߦڥͷఏڙ։࢝ എܠ: Engine Yard, Inc.ͷϏϧ(ӈख)͕ݐͭ1929ͷαϯϑϥϯγεί Engine YardͷาΈ
PaaS IaaS SaaS ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ
ετϨʔδ ωοτϫʔΫ ΞϓϦέʔγϣϯ σʔλ ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ ετϨʔδ ωοτϫʔΫ ΦϯϓϨϛε ΞϓϦέʔγϣϯ σʔλ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ ετϨʔδ ωοτϫʔΫ ϋʔυΣΞɺϛυϧ ΣΞɺΞϓϦέʔ γϣϯͷͯ͢Λॴ༗ ͢Δܗଶ ωοτϫʔΫαʔ όʔϚγϯͳͲͷΠϯ ϑϥΛαʔϏεͱͯ͠ ఏڙ͢Δܗଶ ΞϓϦέʔγϣϯͷ ػೳΛαʔϏεͱ͠ ͯఏڙ͢Δܗଶ ϥϯλΠϜ ϛυϧΣΞ OS ԾԽ αʔόʔ ετϨʔδ ωοτϫʔΫ ΞϓϦέʔγϣϯ࣮ߦ ڥɾ։ൃڥΛαʔ Ϗεͱͯ͠ఏڙ͢Δܗ ଶ PaaS Πϊϕʔτ Ξτιʔε • ࣗ༝ʹબʗ։ൃΛ ͢Δ͜ͱ͕Մೳɻ • બʗઃఆʗ։ൃ ͕͔͔Δɻ • Πϊϕʔτ͕૿͑ Δ΄Ͳ૿Ճɻ • ॴ༗ʗ։ൃίετ͕ ͔͔ΒͣʹࡁΉɻ • Πϊϕʔτʹूத Ͱ͖Δɻ • Ξτιʔεຖʹ બ෯͕ݶఆ͞Εͯ ͍Δɻ
Engine Yard ͷఏҊ͢Δ PaaS ΞϓϦέʔγϣϯͱσʔλͷ Πϊϕʔγϣϯʹूத ʹ PaaS ͷڧΈ
ͳΜ͔ͩΑ͘Θ͔Γ·ͤΜͶ ͏͢͜͠۩ମతʹ ߟ͑ͯΈ·͠ΐ͏
Ұൠతͳ2Ϋϥελߏ Application Server Application Server Application Server Master Database Slave
Database LB
વग़དྷ·͢ΑͶʁ Application Server Application Server Application Server Master Database Slave
Database LB •Ϋϥελߏͷڍಈͷཧղ •͜ͷߏͷγεςϜηοτΞοϓ •͜ͷߏͷγεςϜͷӡ༻
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ ͲΕ͘Β͍ͷ࣌ؒ ͰߏஙͰ͖·͔͢ʁ
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ 10ηοτΛ ͲΕ͘Β͍ͷ࣌ؒ ͰߏஙͰ͖·͔͢ʁ
ؤுΓ·ͨ͠
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ ࠷৽൛ͷߋ৽Λ ͲΕ͘Β͍ͷ࣌ؒ ͰྃͰ͖·͔͢ʁ
Ͱ࣭Ͱ͢ ઌ΄ͲͷߏͷγεςϜΛ Քಇঢ়گͷࢹମ੍ ༻ҙͰ͖·͔͢ʁ
Ͱ࣭Ͱ͢ Πϯϑϥʹڧ͍ ΤϯδχΞ͕ܧଓతʹ ྗ͢Εग़དྷΔ
͔͠͠ɺΠϯϑϥ࡞ۀ͕Λѹഭ 18 Πϯϑϥཁһ ։ൃཁһ
Engine Yard Cloud ͋ͳͨͷҝͷ ੌΠϯϑϥΤϯδχΞ
࠷ઌͷࣗಈԽɾٕज़ελοΫ
μογϡϘʔυCLI͔Βͷߴͳӡ༻ σϓϩΠ όοΫΞοϓ ΫϥελϦϯάߏ NoSQL εϨʔϒDB Ϋϩʔϯ ϦόʔεϓϩΩγ Cron δϣϒ
৽نߏங ύοέʔδಋೖ ΞϓϦέʔγϣϯӡ༻ γεςϜཧ μογϡϘʔυ͔Β ༷ʑͳγεςϜΛਝʹߏ
σϓϩΠ
VNOCͰࢹߦ͍·͢ 23 Virtual Network Operation Center ্ͰαϙʔτνʔϜ͕ 24/365 ࢹ
શͯͷϦιʔεΛ։ൃʹೖʂ ։ൃཁһʂ ʢ50%૿ʣ Πϯϑϥ ͓·͔ͤ
25 PaaSΛར༻͢ΔࣄͰ ͋ͳͨํͷϦιʔεͰͷ ։ൃΛ࠷େݶʹ
σϓϩΠͱϚΠάϨʔγϣϯ 26
σϓϩΠͱϚΠάϨʔγϣϯ • ϫϯΫϦοΫσϓϩΠ ඪ४తͳΞϓϦέʔγϣϯΛϫϯΫϦοΫͰσϓϩΠ • ϚΠάϨʔγϣϯ σʔλϕʔεͷεΩʔϚใͷߋ৽ΛࣗಈԽ
σϓϩΠ Gentoo Linux (EC2 Instance) ιʔείʔυ Gemfile rake db:migrate ઃఆϑΝΠϧੜ
/data/{appname}/ releases/{datetime} ಛఆͷύεʹରͯ͠ ࣗಈσϓϩΠ
֤छϩάͷऔಘ 29
౷ܭ߲ cpuσΟεΫͳͲͷ ΦʔιυοΫεͳࢹ
όοΫΞοϓͱεφοϓγϣοτ 31
εέʔϧΞτ • όοΫΞοϓ σʔλϕʔεͷσʔλͷμϯϓ • εφοϓγϣοτ σΟεΫͷ༰ͷશͯͷίϐʔ
εφοϓγϣοτɾόοΫΞοϓ Gentoo Linux (EC2 Instance) EBS αʔόΛఀࢭ͢Δͱ ফ͑ΔྖҬ ҙʗࣗಈͰόοΫΞοϓ࡞ /data
/db ӬଓԽ͞ΕͨྖҬ (όοΫΞοϓͳͲ)
Ϋϩʔϯ 34 ຊ൪ڥͷෳΛ ඞཁͳ͚࣌ͩ࡞ʂ
εέʔϧΞτ 35
εέʔϧΞτ • ֤छαʔόʔΛՃՄೳ • ϩʔυόϥϯαʔͷొͳͲࣗಈతʹߦΘΕΔ • ࣌ؒΛܾΊͯαʔόͷ૿ݮΛ͢ΔͳͲͷࣗಈԽαϙʔ τ༧ఆ
Ճ͞ΕͨΠϯελϯεΛࣗಈͰෛՙࢄ 37 ϩʔυόϥϯα HA Proxy ϩʔυόϥϯα Elastic Load Balancing Availability
Zone A Availability Zone B EC2 EC2 EC2
ΠϯελϯεͷSSH 38
ެ։伴ͷొ 39
deploy ϢʔβͰͷSSH 40 sudo Ͱ͖·͢ʂ
SSH ଓͷҙ • ΠϯελϯεΛఀࢭɾىಈ͢Δͱϗετ伴͕มΘΔ • sudo ͯ͠ڥʹมߋΛՃ͑ͯఀࢭɾىಈͰফࣦ • Root ͕औΕΔͱ͍͏ҙຯͰIaaSͱಉ༷ͷࣗ༝
ҙ IaaSͱͯ͠͏ͱ ࣗಈԽͷԸܙ͕ແ͘ͳΔ
CLI 42
CLI ΫϥΠΞϯτ • ίϚϯυϥΠϯ͔ΒEngine Yard Cloud ʹΞΫηε • gem install
engineyard • ey deploy σϓϩΠΛ࣮ߦ • ey rebuild ڥͷ࠶ߏங • ey web disable / enable WebΞΫηεͷແޮԽɾ༗ޮԽ • ey recipes ΧελϜ Chef Ϩγϐͷ࣮ߦ ΞϓϦέʔγϣϯͷ ϧʔτͰ࣮ߦ͢Δ
ChefʹΑΔڥͷΧελϚΠζ 44
ύοέʔδߋ৽ • શͯͷߏஙChefͷϨγϐ • ԿͰ࠶ߏஙͳͷͰ࠷৽ͷϛ υϧΣΞΛਵ࣌ಋೖՄೳ • ΧελϚΠζͰ͖Δ • Engine
YardϛυϧΣΞͷ ݕূΛਵ࣌ߦͳ͍ͬͯ·͢ Amazon EC2 Cloud cookbook ΧελϜϨγϐ Your App ΞυΦϯ
ChefͷΫοΫϒοΫͷྫ 46
Chef Ϩγϐͷ࣮ߦ • https://github.com/engineyard/ey-cloud-recipes • ϑΥʔΫͨ͠ϧʔτɾσΟϨΫτϦͰίϚϯυ࣮ߦ ey recipies upload -e
ENV ey recipes apply -e ENV • ΧελϜϨγϐ࠶ߏங࣌ʹࣗಈ࣮ߦ • ఀࢭɾ࠶։ͰࣦΘΕͳ͍ߏมߋશͯϨγϐͰߦ͏