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
CodeDeployを使ったアプリケーションデプロイを考える
Search
toshihirock
September 16, 2015
Technology
0
670
CodeDeployを使ったアプリケーションデプロイを考える
toshihirock
September 16, 2015
Tweet
Share
More Decks by toshihirock
See All by toshihirock
Lambdaを使ってJawsDaysをHackしてみよう!
toshihirock
2
1.8k
保守、運用で使ってみようLambda!
toshihirock
4
1.8k
Jenkinsおじさんと楽しい連携ツールたち
toshihirock
1
2.4k
Other Decks in Technology
See All in Technology
AI関数が早くなったので試してみよう
kumakura
0
320
リモートワークで心掛けていること 〜AI活用編〜
naoki85
0
180
UDDのススメ - 拡張版 -
maguroalternative
1
590
Eval-Centric AI: Agent 開発におけるベストプラクティスの探求
asei
0
130
開発 × 生成AI × コミュニケーション:GENDAの開発現場で感じたコミュニケーションの変化 / GENDA Tech Talk #1
genda
0
260
AWS DDoS攻撃防御の最前線
ryutakondo
1
170
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
420
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
230
Kiro と Q Dev で 同じゲームを作らせてみた
r3_yamauchi
PRO
1
100
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
630
OPENLOGI Company Profile for engineer
hr01
1
38k
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
2
2.1k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
KATA
mclloyd
32
14k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
YesSQL, Process and Tooling at Scale
rocio
173
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Writing Fast Ruby
sferik
628
62k
Site-Speed That Sticks
csswizardry
10
770
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Bash Introduction
62gerente
614
210k
Transcript
CodeDeployΛͬͨΞϓϦ έʔγϣϯσϓϩΠΛߟ͑Δ +"846(ΞʔΩςΫνϟઐࢧ෦ $%1ٞձ !UPTIJIJSPDL
ࣗݾհ ɾ@toshihirock ɾAWSۀ͙Β͍ ɾ͖ - CodeDeploy - Podcast - ϫʔϧυτϦΨʔ
ࠓ͞ͳ͍͜ͱ ɾElasticBeanstalk ɾOpsWorks ɾͦͦEC2Θͳ͍ͱ͔ͷ(ECS Lambdaͷஔ͖͑)
͍ٞͨ͜͠ͱ
ΦʔτεέʔϧͷΞϓϦέʔ γϣϯͷσϓϩΠͲ͏ͯ͠·͔͢
ΦʔτεέʔϧͰͷΞϓϦσϓϩΠ ɾҎԼͷ̎ͭʹ͍ͭͯݕ౼͢Δඞཁ͕͋Δ - ࣗಈͰىಈ͢ΔEC2ͷσϓϩΠ - طʹىಈ͍ͯ͠ΔEC2ͷσϓϩΠ
σϓϩΠํ๏ ɾىಈ͢ΔAMIʹσϓϩΠ͓ͯ͘͠ ɾΦʔτεέʔϧ࣌ʹσϓϩΠ ɹ- UserData(shellscript || cloud-init) - AutoScaing LifeCycleHook
- σϓϩΠπʔϧ(Fabric || Capistrano) - Chef || Puppet || Ansible ɹ- ԹΓͷ͋ΔΦϨΦϨεΫϦϓτ - CodeDeploy New!
None
CodeDeploy ɾAWSۘͷσϓϩΠπʔϧɻσϓϩΠ͢Δϓϩάϥϛϯά ݴޠʹ੍ݶͳ͍ ɾ࠷ۙTokyoϦʔδϣϯͰ͑Α͏ʹ ɾಛఆͷλά͘͠ࢦఆͨ͠ΦʔτεέʔϧʹΞϓϦΛσϓ ϩΠͰ͖ΔɻΦʔτεέʔϧͰͷEC2૿Ճ࣌ͷࣗಈద༻Մೳ ɾιʔεS3͘͠GitHub ɾҰͭͷΞϓϦέʔγϣϯʹର͠ɺෳͷڥΛઃఆͰ͖Δ (Production,Dev etc)
ɾಛఆͷϦϏδϣϯʹΕΔ ɾappspec.ymlͱ͍͏ϑΝΠϧʹͲͷλΠϛϯά (CodeDeployಠࣗͷϥΠϑαΠΫϧ)ͰԿΛ͢Δ͔ࢦఆ(࣍ทࢀ র)
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress
hooks: ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh timeout: 300 runas: root
FabricCapistranoͱͷҧ͍ ɾϝϦοτ - σϓϩΠ༻αʔόʔ͕ෆཁ - Φʔτεέʔϧ࣌ͷࣗಈద༻ - GUIͰͷૢ࡞͕Ͱ͖Δ ɾσϝϦοτ -
AgentΛEC2ʹΠϯετʔϧ͢Δඞཁ͋Γ - InternetͷΞΫηε͕ඞཁ(VPCΤϯυϙ Πϯτཉ͍͠ʣ
ϘΫϊΧϯΨΤλσϓϩΠ
BlueGreenDeployment
ҰͭͷΦʔτεέʔϧͰͷӡ༻ CodeDeployࣗମʹσϓϩΠதࣦഊ࣌ʹΦʔτεέʔϧ͔Βग़Δػೳͳ͍ͷͰҙɻҎԼࢀরɻ CodeDeployͰͷσϓϩΠࣦഊ࣌σϓϩΠதʹELB͔ΒτϥϑΟοΫ͕ྲྀΕΔͷΛ͙ํ๏ (http://qiita.com/toshihirock/items/b23f44dcd9f07f36bcfc)
·ͱΊ ɾCodeDeployσϓϩΠʹϑΥʔΧεͨ͠ πʔϧͰطଘڥద༻͍͢͠ ɾσϓϩΠࣦഊ࣌ͷڍಈʹ͍ͭͯ༧Ί֬ೝ ͓ͯ͘͠ ɾͬͱྑ͍ํ๏͋ΔΑʂͳͲ͋Εڭ͑ͯ Լ͍͞ɻ
Appendix1 ɾCodeDeployΦʔτεέʔϧద༻࣌ɺ UserData(shell script || cloud-init)ΑΓޙͰ࣮ ߦ͞ΕΔ ɾσϓϩΠΛOneAtTimeͰ࣮ߦ͠ɺࣦഊͨ͠ ߹ʹҎ߱ͷσϓϩΠ࣮ࢪ͠ͳ͍ ɾ࠷৽ͷσϓϩΠ͕ࣦഊͨ͠λΠϛϯάͰΦʔ
τεέʔϧ͕࣮ߦ͞ΕΔͱ࠷৽ͷޭόʔδϣ ϯ͕σϓϩΠ͞ΕΔ
Appendix2 SlackΛͬͯCodeDeploy Heroku+HubotͰCodeDeployͷσϓϩΠΛSlack͔Β࣮ߦ͢Δ (http://qiita.com/toshihirock/items/7598ab59b2c687b77cb6)
Thanks!