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
630
CircleCI 導入への入門 / Introduction to CircleCI
serima
0
82
GameWithを支えるインフラ基盤 - スケールイン・アウト戦略編 / GameWith infrastructure - Scale in and out strategy
serima
0
49
エンジニア採用と PHP / Engineer Recruitment and PHP
serima
0
76
できることから始める OSS Contribution / Start OSS Contribution With What You Know
serima
1
200
Other Decks in Technology
See All in Technology
小さく始めるDevOps 内製化支援から見えたDevOpsの始め方 / 20250317 Ken Takayanagi
shift_evolve
1
120
お問い合わせ対応の改善取り組みとその進め方
masartz
1
560
Restarting_SRE_Road_to_SRENext_.pdf
_awache
1
210
Zabbixチョットデキルとは!?
kujiraitakahiro
0
120
React Server Componentは 何を解決し何を解決しないのか / What do React Server Components solve, and what do they not solve?
kaminashi
6
1.3k
大規模サービスにおける カスケード障害
takumiogawa
3
760
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
1
1.2k
アプリケーション固有の「ロジックの脆弱性」を防ぐ開発者のためのセキュリティ観点
flatt_security
38
15k
TopAppBar Composableをカスタムする
hunachi
0
170
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
1.1k
ソフトウェアプロジェクトの成功率が上がらない原因-「社会価値を考える」ということ-
ytanaka5569
0
140
問題解決に役立つ数理工学
recruitengineers
PRO
8
2.4k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Music & Morning Musume
bryan
46
6.4k
Docker and Python
trallard
44
3.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
GitHub's CSS Performance
jonrohan
1030
460k
Six Lessons from altMBA
skipperchong
27
3.7k
Designing Experiences People Love
moore
141
23k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ