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
35
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
300
採用は全員で | Chuo TECH #1
serima
4
1.2k
高専 5 年時に 7 泊 8 日の合宿型ビジコンに参加したら人生が変わった
serima
0
370
カジュアル面談を通して “自社”のことを知る
serima
0
230
倒れても進捗 / Progress even if I fall
serima
0
160
CircleCI 導入への入門 / Introduction to CircleCI
serima
0
76
GameWithを支えるインフラ基盤 - スケールイン・アウト戦略編 / GameWith infrastructure - Scale in and out strategy
serima
0
43
エンジニア採用と PHP / Engineer Recruitment and PHP
serima
0
66
できることから始める OSS Contribution / Start OSS Contribution With What You Know
serima
1
170
Other Decks in Technology
See All in Technology
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
330
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
4
4.3k
Automated Promptingを目指すその前に / Before we can aim for Automated Prompting
rkaga
0
110
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
49k
バクラクにおける可観測性向上の取り組み
yuu26
3
400
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
15
3.9k
とあるユーザー企業におけるリスクベースで考えるセキュリティ業務のお話し
4su_para
3
320
プロダクトエンジニアが活躍する環境を作りたくて 事業責任者になった話 ~プロダクトエンジニアの行き着く先~
gimupop
1
460
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
フルカイテン株式会社 採用資料
fullkaiten
0
36k
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
1
140
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Being A Developer After 40
akosma
86
590k
Facilitating Awesome Meetings
lara
49
6k
Music & Morning Musume
bryan
46
6.1k
The Invisible Side of Design
smashingmag
297
50k
Practical Orchestrator
shlominoach
186
10k
Visualization
eitanlees
144
15k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Cult of Friendly URLs
andyhume
78
6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
BBQ
matthewcrist
85
9.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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ