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.9k
保守、運用で使ってみようLambda!
toshihirock
4
1.8k
Jenkinsおじさんと楽しい連携ツールたち
toshihirock
1
2.5k
Other Decks in Technology
See All in Technology
ローカルVLM OCRモデル + Gemini 3.0 Proで日本語性能を試す
gotalab555
1
190
都市スケールAR制作で気をつけること
segur
0
200
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
450
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
130
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
250
AI エージェントを評価するための温故知新と Spec Driven Evaluation
icoxfog417
PRO
2
810
命名から始めるSpec Driven
kuruwic
0
130
AWS re:Invent 2025 で頻出の 生成 AI サービスをおさらい
komakichi
3
240
自然言語でAPI作業を片付ける!「Postman Agent Mode」
nagix
0
140
今すぐGoogle Antigravityを触りましょう
rfdnxbro
0
210
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
380
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
45k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Automating Front-end Workflow
addyosmani
1371
200k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Why Our Code Smells
bkeepers
PRO
340
57k
Designing for Performance
lara
610
69k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
RailsConf 2023
tenderlove
30
1.3k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
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!