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
630
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.3k
Other Decks in Technology
See All in Technology
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
240
強すぎるIAMをCloudTrailを使って適正化した話
yjszk
0
200
今日から始める技術的負債の解消
leveragestech
3
460
Publication dès la conception : restitution et perspectives - MENJ / Code Lutin
bluehats
0
170
Reality is not an End-to-End Prediction Problem: Applied NLP in the Age of Generative AI
inesmontani
PRO
0
230
複数の外部サービスデータの統合と変換を実現する Railsのインポートアーキテクチャ / Rails import architecture for integration and transformation of multiple external service data
aiandrox
0
390
Why and Why not of enabling swap in Kubernetes
hwchiu
0
340
生成AI、LLMの いまさら聞けないキホンのキ!/ Generative AI and LLM 101
gakumura
1
170
本番のトラフィック量でHudiを検証して見えてきた課題
joker1007
2
290
ZOZOのデータマネジメントの取り組み:これまでとこれから / ZOZO's Data Management Initiatives
takagiyudai
0
170
KaigiOnRails2024
igaiga
6
520
AWS CDKで大量のパラメータストアを作りたい
haku__hime
1
120
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Language of Interfaces
destraynor
154
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
A Tale of Four Properties
chriscoyier
156
22k
Music & Morning Musume
bryan
46
6.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
23k
Thoughts on Productivity
jonyablonski
67
4.3k
Making the Leap to Tech Lead
cromwellryan
131
8.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
4.9k
Code Review Best Practice
trishagee
64
17k
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!