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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
320
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
820
パリの街をUnityで駆ける
yandod
1
3.5k
Other Decks in Programming
See All in Programming
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
はじめてのPLATEAU
nokonoko1203
1
580
Event is what happens
moro
2
3.8k
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
LLM 101
dalinaum
0
470
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
310
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
110
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
410
Seven New Principles of Software Engineering
yegor256
0
460
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
GraphQL の onError と Nullability のこれから
quramy
0
210
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
560
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
650
First, design no harm
axbom
PRO
2
1.4k
Unsuck your backbone
ammeep
672
58k
Being A Developer After 40
akosma
PRO
92
590k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
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 • ΧελϜϨγϐ࠶ߏங࣌ʹࣗಈ࣮ߦ • ఀࢭɾ࠶։ͰࣦΘΕͳ͍ߏมߋશͯϨγϐͰߦ͏