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
ElasticBeanstalk で新規事業を爆速ローンチする / Launch new b...
Search
Ryo Shibayama
December 09, 2016
Technology
0
41
ElasticBeanstalk で新規事業を爆速ローンチする / Launch new business with ElasticBeanstalk
Ryo Shibayama
December 09, 2016
Tweet
Share
More Decks by Ryo Shibayama
See All by Ryo Shibayama
技術広報の集い #3 Lightning Talk - LayerX
serima
0
360
採用は全員で | Chuo TECH #1
serima
4
1.4k
高専 5 年時に 7 泊 8 日の合宿型ビジコンに参加したら人生が変わった
serima
0
410
カジュアル面談を通して “自社”のことを知る
serima
0
250
倒れても進捗 / Progress even if I fall
serima
1
740
CircleCI 導入への入門 / Introduction to CircleCI
serima
0
84
GameWithを支えるインフラ基盤 - スケールイン・アウト戦略編 / GameWith infrastructure - Scale in and out strategy
serima
0
49
エンジニア採用と PHP / Engineer Recruitment and PHP
serima
0
78
できることから始める OSS Contribution / Start OSS Contribution With What You Know
serima
1
200
Other Decks in Technology
See All in Technology
Рекомендации с нуля: как мы в Lamoda превратили главную страницу в ключевую точку входа для персонализированного шоппинга. Данил Комаров, Data Scientist, Lamoda Tech
lamodatech
0
770
SDカードフォレンジック
su3158
1
630
Aspire をカスタマイズしよう & Aspire 9.2
nenonaninu
0
100
QA/SDETの現在と、これからの挑戦
imtnd
0
140
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
230
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
270
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
650
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
150
AWSで作るセキュアな認証基盤with OAuth mTLS / Secure Authentication Infrastructure with OAuth mTLS on AWS
kaminashi
0
180
4/17/25 - CIJUG - Java Meets AI: Build LLM-Powered Apps with LangChain4j (part 2)
edeandrea
PRO
0
120
React ABC Questions
hirotomoyamada
0
520
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
500
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
680
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
The Cost Of JavaScript in 2023
addyosmani
49
7.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Facilitating Awesome Meetings
lara
54
6.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Scaling GitHub
holman
459
140k
Being A Developer After 40
akosma
91
590k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Language of Interfaces
destraynor
157
25k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
ElasticBeanstalk Ͱ ৽نࣄۀΛരϩʔϯν͢Δ גࣜձࣾβούϥε ࣲࢁ ྮ / @serima Minami Aoyama
Night#1
About me
@serima • Ψϥέʔ࣌ʹ GPS ܥͷϞόΠϧίϯςϯπͰىۀ • ͦͷޙɺWeb ܥاۀͰΞϓϦέʔγϣϯΤϯδχΞͱ͠ ͯԿ͔ࣾΓา͘ •
ҐஔใܥΞϓϦɾϝʔϧϚΨδϯɾιʔγϟϧήʔ Ϝɾϗςϧ༧ΞϓϦ • ࡢɺβούϥεʹೖࣾ͠ɺ৽نࣄۀطଘΞʔΩςΫ τݟ͠ͳͲ
ಥવͰ͕͢ ࠓ͓͠ͳ͍͜ͱ
ϚϧνΫϥυ!
1. βούϥεͱβούϥεʹ͓͚Δ৽نࣄۀ 2. ৽نࣄۀʹٻΊΒΕΔཁ݅ͱ 3. Ϧιʔε͔Βٯࢉ͢ΔΠϯϑϥετϥΫνϟ 4. ElasticBeanstalk ͷӡ༻Ͱಘͨݟ ΞδΣϯμ
1. βούϥεͱβούϥεʹ͓͚Δ৽نࣄۀ 2. ৽نࣄۀʹٻΊΒΕΔཁ݅ͱ 3. Ϧιʔε͔Βٯࢉ͢ΔΠϯϑϥετϥΫνϟ 4. ElasticBeanstalk ͷӡ༻Ͱಘͨݟ ΞδΣϯμ
None
ͻͱ͜ͱͰݴ͏ͱ ʮ͍ʯͷձࣾ
ओཁαʔϏε
2000ʹۀ • ϝΠϯࣄۀɺ͍Λத৺ͱͨ͠σδλϧί ϯςϯπ৴ • ΩϟϦΞܦ༝Ͱͷࠂू٬Ϟσϧ͕ޭ
ݱঢ়ͱ՝ • طଘओྗࣄۀͷചΓ্͕͛ݮগ • ݮগཁҼɺސ٬֫ಘڥͷมԽ • αʔϏεʹର͢ΔΩϟϦΞಋઢɾࠂग़ߘத ৺͔ΒɺϒϥϯυʢձࣾɺαʔϏεɺ͍ࢣʣ ʹର͢ΔϩΠϠϦςΟৢ
͍·ٻΊΒΕ͍ͯΔ͜ͱ • Ϣʔβʹఏڙ͢ΔՁԾઆΛݕূ͠ɺχʔζ Λ୳ΓͯΔ • ͦΕΛϕʔεͱͯ͠ϏδωεϞσϧԾઆΛఆٛ ͠ɺԾઆݕূΛ܁Γฦ͠ɺαʔϏεͷάϩʔ εʹྗ͢Δ
Action (WIP) • طଘϢʔβʔʹରͯ͠ఏڙ͢ΔαʔϏεͷ "UX"Λ࠶ఆٛ͠ͳ͓͠ɺαʔϏεΛ࠶ߏங • ৽نϢʔβʔͷ"UX"ʹଈͨ͠αʔϏεΛ৽ن ্ཱͪ͛
ͪͳΈʹ։ൃతͳଆ໘Ͱ • Perl PHP • ΦϯϓϨ ΫϥυʢҰ෦αʔϏεʣ • ΥʔλʔϑΥʔϧ ΞδϟΠϧ
1. βούϥεͱβούϥεʹ͓͚Δ৽نࣄۀ 2. ৽نࣄۀʹٻΊΒΕΔཁ݅ͱ 3. Ϧιʔε͔Βٯࢉ͢ΔΠϯϑϥετϥΫνϟ 4. ElasticBeanstalk ͷӡ༻Ͱಘͨݟ ΞδΣϯμ
None
ϑΟʔυόοΫɾϧʔϓ (Ҿ༻:Lean Startup Japan) • খ͘͞ɺૉૣ͘ࢼ͠ɺԿճࣦഊ͠يಓमਖ਼ Λ܁Γฦ͢
MVP • Minimum Viable Product • ݕূʹඞཁͳ࠷ݶͷػೳΛͬͨ
ͱʹ͔͘Ծઆݕূ • αʔϏεͷଟ͘ Logic ΑΓ্ҐͷϨϕϧͰ Ծઆݕূ͍ͨ͜͠ͱ͕΄ͱΜͲ
͚ͩͲ
ΠϯϑϥΛͳ͍͕͠Ζʹͯ͠ ͍͍ͱݴͬͯͳ͍
͚ΕͲ
ͦ͜ʹίετΛ͔͚͗͢ͳ͍
1. βούϥεͱβούϥεʹ͓͚Δ৽نࣄۀ 2. ৽نࣄۀʹٻΊΒΕΔཁ݅ͱ 3. Ϧιʔε͔Βٯࢉ͢ΔΠϯϑϥετϥΫνϟ 4. ElasticBeanstalk ͷӡ༻Ͱಘͨݟ ΞδΣϯμ
νʔϜͱͯ͠ͷϦιʔε • ࠷খߏͷϝϯόʔ • σβΠφʔ • σΟϨΫλʔ • αʔόαΠυΤϯδχΞ •
iOS / Android ΤϯδχΞ
ձࣾͱͯ͠ͷϦιʔε • Perl / PHP ͷݟ • ʢྑ͍ҙຯͰʣރΕͨΦϯϓϨڥͰͷܦݧ
ސ٬ʢզʑʣ͕ཉ͍͠ͷ • ΞϓϦέʔγϣϯ։ൃʹूதͰ͖ΔΑ͏ʹɺΠ ϯϑϥʹ͍ͭͯۃྗ໘Λݟͨ͘ͳ͍ • ͦΕͳΓͷෛՙΛਓతίετͳ͘ɺదʹࡹ͍ ͯཉ͍͠ • ݟͷ͋Δ LAMP
ڥʹԊͬͯ։ൃ͍ͨ͠ • ҆৺ɾ҆શͳσϓϩΠΛ͍ͨ͠
ElasticBeanstalk
None
(Ҿ༻: http://www.slideshare.net/AmazonWebServicesJapan/aws-aws-elastic-beanstalk)
͔͍ͭ·ΜͰݴ͏ͱ • Α͋͘Δ ELB + EC2 (+ RDS) ͷߏΛૉૣ͘ɺ؆ ୯ʹ࡞ΕΔʢίϯιʔϧ͚ͩͰ͍͚ΔΑʣ
• EC2 AutoScaling Group ͕σϑΥϧτͰઃఆ͞ Ε͍ͯΔͷͰɺΦʔτεέʔϦϯά OK • ఏڙ͞Ε͍ͯΔ eb ίϚϯυͰ cli ্͔Β҆৺ɾ҆ શʹσϓϩΠ͕Մೳ
AWS αʔϏε܈ͷ PaaS
৽نࣄۀͷΠϯϑϥʹ͓͚Δ ɾ͏·͍ ɾ͍͢ ɾ͍ ͳͷͰʁ
αϙʔτ͞Ε͍ͯΔϓϥοτϑΥʔϜ • Apache Tomcat for Java • Apache HTTP Server
for PHP • Apache HTTP Server for Python • Nginx or Apache HTTP Server for Node.js • Passenger or Puma for Ruby • Microsoft IIS 7.5, 8.0, and 8.5 for .NET • Java SE • Docker • Go
ḿΔػೳ • ඪ४ͰɺϒϧʔɾάϦʔϯɾσϓϩΠϝϯτʹରԠ • ඪ४ͰɺΠϯελϯεͷ૿ݮΛεέδϡʔϦϯά Ͱ͖Δ • ΧελϚΠζίϯϑΟΪϡϨʔγϣϯϑΝΠϧͰ Մೳ •
Docker αϙʔτ
Ϧιʔε؍Ͱɺ ͱͯϚον͍ͯ͠Δͱ͍͏ அ
1. βούϥεͱβούϥεʹ͓͚Δ৽نࣄۀ 2. ৽نࣄۀʹٻΊΒΕΔཁ݅ͱ 3. Ϧιʔε͔Βٯࢉ͢ΔΠϯϑϥετϥΫνϟ 4. ElasticBeanstalk ͷӡ༻Ͱಘͨݟ ΞδΣϯμ
ڥߏஙͷํ • RDS eb ڥʹ࡞Βͳ͍ɺڥࣗମεςʔτϨεΛࢦ͢ • Docker ΘͣɺϓϨϏϧτ͞ΕͨϓϥοτϑΥʔϜΛར༻ •
ࠓͩͱɺPHP 7.0 on Amazon Linux • ΧελϚΠζίϯϑΟΪϡϨʔγϣϯϑΝΠϧʹدͤΔ • ڥɺAPI / Web / ཧը໘ͱͰ͚Δ • ϩάपΓ td-agent Λͬͯ s3
ʑͲΜͳӡ༻Λ͍ͯ͠Δ͔ • Pull-Request ϕʔεͷ git-flow • ػೳϦϦʔε͝ͱʹ։ൃڥʹσϓϩΠ (eb deploy) •
ಈ࡞νΣοΫΛͯ͠ɺ͕ͳ͚Εຊ൪ ڥʹಉόʔδϣϯΛσϓϩΠ
ී௨ʹ͏ʹ ಛʹࠔΔ͜ͱ͕ͳ͍
ͪΐͬͱࠔͬͨ͜ͱ - Part 1 • ͱ͋Δ֎෦αʔϏεͷ API Λୟ͘ඞཁ͕͋ͬͨ ͕ɺIP Λݻఆ͍ͯͩ͘͠͞ͱͷґཔ
• default VPC ʹ eb ڥΛ࡞ͬͯ͠·͍ͬͯͨͷ ͰɺNAT Gateway ͷద༻͕ޙ͔ΒͰ͖ͳ͔ͬͨ • Ͳ͏͔ͨ͠ʁڥ࡞Γ͠
ͪΐͬͱࠔͬͨ͜ͱ - Part 2 • ࣗಈੜ͞ΕΔηΩϡϦςΟάϧʔϓɺAuto Scaling άϧʔϓɺͲΕ͕ԿΛࢦ͍ͯ͠Δ͔Ѳ ͮ͠Β͍ •
Կҙࣝ͠ͳ͍ͳΒಛʹʹͳΒͳ͍ͷ͔͠ Εͳ͍͕ɺͪΐͬͱͨ͠ΧελϚΠζ࣌ʹࠔͬͨ • ஞҰશ෦ݟͯɺϦωʔϜͨ͠
݁ہɺԿ͕ݴ͍͔ͨͬͨͷ͔ • ࣄۀϑΣʔζʹΑͬͯٻΊΒΕΔΠϯϑϥͷϨϕ ϧײ͕ҧ͏ͷͰɺݟޡΒͳ͍Α͏ʹ͢Δͷେࣄ • ͷαʔόϨεΞʔΩςΫνϟͱ͔ʹνϟϨϯ δ͢Δ͜ͱେࣄ • طଘϦιʔεΛ׆༻ͭͭ͠ɺखܰʹαʔϏε͢Δ खࡳ͋Δ
ͷৎʹ߹ͬͨΠϯϑϥߏஙΛ ߟ͑ͨΒɺElasticBeanstalk Ͱ ৽نࣄۀΛരϩʔϯν͢Δ ͕ΧνοͱϋϚͬͨ
͓ͼͯ͠గਖ਼͠·͢
༨ஊ
@i2key ͞Μ͕ϒϩάॻ͍ͯͨ • ʮ৽نࣄۀͷάϩʔεظΛࢧ͑ΔΤϯδχΞϦϯάʹ ͍ͭͯʯͱ͍͏λΠτϧ • σϓϩΠճ/ΛνʔϜͷඪʹ͢Δ • ҰํͰߴʹΰϛΛ࢈·ͳ͍ͨΊͷੳج൫ͷॏཁੑ •
ͱͯྑ͍ϙετͳͷͰੋඇʂ • http://i2key.hateblo.jp/entry/2016/12/07/153146
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ