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
33
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
280
採用は全員で | Chuo TECH #1
serima
4
1.2k
高専 5 年時に 7 泊 8 日の合宿型ビジコンに参加したら人生が変わった
serima
0
360
カジュアル面談を通して “自社”のことを知る
serima
0
220
倒れても進捗 / Progress even if I fall
serima
0
130
CircleCI 導入への入門 / Introduction to CircleCI
serima
0
73
GameWithを支えるインフラ基盤 - スケールイン・アウト戦略編 / GameWith infrastructure - Scale in and out strategy
serima
0
41
エンジニア採用と PHP / Engineer Recruitment and PHP
serima
0
65
できることから始める OSS Contribution / Start OSS Contribution With What You Know
serima
1
160
Other Decks in Technology
See All in Technology
エンジニア向け会社紹介資料
caddi_eng
15
250k
難しいから面白い!医薬品×在庫管理ドメインの複雑性と向き合い、プロダクトの成長を支えるための取り組み / Initiatives to Support Product Growth
kakehashi
2
190
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
100
Segment Anything Model 2
tenten0727
3
620
四国クラウドお遍路 2024 in 高知 エンディング
yukataoka
0
190
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
230
OCI で始める!! Red Hat OpenShift / Get Started OpenShift on OCI
oracle4engineer
PRO
1
130
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
200
Agile in Automotive Industry, puzzles and lights.
hiranabe
2
580
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
310
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
1
230
SAVEPOINT α版
savepoint
0
640
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
Mobile First: as difficult as doing things right
swwweet
221
8.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
What's new in Ruby 2.0
geeforr
340
31k
Agile that works and the tools we love
rasmusluckow
327
20k
Testing 201, or: Great Expectations
jmmastey
36
7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
GitHub's CSS Performance
jonrohan
1029
450k
Embracing the Ebb and Flow
colly
83
4.4k
Into the Great Unknown - MozCon
thekraken
29
1.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ