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
36
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
340
採用は全員で | Chuo TECH #1
serima
4
1.3k
高専 5 年時に 7 泊 8 日の合宿型ビジコンに参加したら人生が変わった
serima
0
390
カジュアル面談を通して “自社”のことを知る
serima
0
240
倒れても進捗 / Progress even if I fall
serima
0
170
CircleCI 導入への入門 / Introduction to CircleCI
serima
0
78
GameWithを支えるインフラ基盤 - スケールイン・アウト戦略編 / GameWith infrastructure - Scale in and out strategy
serima
0
44
エンジニア採用と PHP / Engineer Recruitment and PHP
serima
0
68
できることから始める OSS Contribution / Start OSS Contribution With What You Know
serima
1
190
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
2024AWSで個人的にアツかったアップデート
nagisa53
1
100
Copilotの力を実感!3ヶ月間の生成AI研修の試行錯誤&成功事例をご紹介。果たして得たものとは・・?
ktc_shiori
0
340
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
170
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
460
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
120
2025年に挑戦したいこと
molmolken
0
150
信頼されるためにやったこと、 やらなかったこと。/What we did to be trusted, What we did not do.
bitkey
PRO
0
2.1k
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
240
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
210
技術に触れたり、顔を出そう
maruto
1
150
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.6k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
89
5.8k
Building an army of robots
kneath
302
45k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Faster Mobile Websites
deanohume
305
30k
The Invisible Side of Design
smashingmag
299
50k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Thoughts on Productivity
jonyablonski
68
4.4k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ