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
2019-04-25 CI/CD環境のデザインパターン/20190425-cicd-env-design-pattern
Search
opelab
April 25, 2019
Technology
3
730
2019-04-25 CI/CD環境のデザインパターン/20190425-cicd-env-design-pattern
JAWS-UGアーキテクチャ専門支部での議論資料です。
(運用設計ラボ合同会社 波田野裕一)
opelab
April 25, 2019
Tweet
Share
More Decks by opelab
See All by opelab
運用設計における設計項目の体系化 / 20240207-ssmjp-operation-design-items
opelab
17
4k
監視とオブザーバビリティ 〜 悩む前に確認しておくべきこと / 20230926-ssmjp-monitoring-and-observability
opelab
11
1.8k
AWSの勉強方法 〜 資格取得後からがスタート / 20230215-jawsug-asa-aws-study
opelab
0
930
私見「UNIXの考え方」/20230124-kameda-unix-phylosophy
opelab
1
310
利用するリージョンを限定しよう 〜 「おひとりさまOrganizationsのススメ」/20210826-jawsug-asa-organizations-region
opelab
3
1.1k
2021-08-25 運用管理は“なくなる仕事”? 〜 「存在価値」を発揮できる運用部門の作り方/20210825-itmedia-operation-dx-operation-no-noops
opelab
3
650
積年の課題を解決 「運用変革を阻むもの」の正体と「明日からどうするか」/20210810-ssmjp-operation-procedure
opelab
1
380
真夏の夜の手順書トーク/20210810-ssmjp-operation-procedure
opelab
3
580
CloudFormationの理想と現実 〜 冷静にCloudFormationを考える/20210722-jawsug-cli-cloudformation
opelab
6
2.1k
Other Decks in Technology
See All in Technology
AWS アーキテクチャクイズ
yuu26
2
700
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
11
3k
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
140
Kubeflow Pipelines v2 で変わる機械学習パイプライン開発
asei
4
340
沒想過的前端錯誤處理可能比你有做的還多
line_developers_tw
PRO
0
2k
.NETの非同期戦略とUnityとの相互運用
neuecc
2
2.4k
AMLD 2024 - Build Your Own GPT
donlelef
1
260
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
170
これまでのキャリアとこれからMLエンジニアとしてどう動くか
masatakashiwagi
0
320
Introduction to Jetpack Compose
pohjus
1
110
統計的学習理論読み Chapter 1
kmatsui
3
780
オブジェクト指向CSSが叶えたかったことと、CSSのいま / The aims of Object-oriented CSS and the current state of CSS usage
shinkufencer
11
3.6k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
76
4.5k
GitHub's CSS Performance
jonrohan
1023
450k
4 Signs Your Business is Dying
shpigford
174
21k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
The Brand Is Dead. Long Live the Brand.
mthomps
48
21k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
The Mythical Team-Month
searls
214
42k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
225
51k
Infographics Made Easy
chrislema
237
18k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Transcript
Operation Lab ӡ༻ઃܭϥϘ ӡ༻ઃܭϥϘ߹ಉձࣾ $*$%ڥͷσβΠϯύλʔϯ 1 Architecture 8BOUFE0VSPSJHJOBMMPHP JAWS-UG
ARCH ΞʔΩςΫνϟઐࢧ෦ γχΞΞʔΩςΫτా༟Ұ
ࡢࠓͷΤϯδχΞք۾ Operation Lab ӡ༻ઃܭϥϘ 2 $*$%ͬͯ͏ͨΓલͩΑͶ ύΠϓϥΠϯݟͯΔ͚ͩͰ൧Ϛʂ ͝൧ഋΠέΔʂ ͱ͍͏͕ͦ͜Β͡Ύ͏͔Βฉ͑͜Δͷय़Ͱ͕͢ɺ
ͱݴ͏ͷͷ Operation Lab ӡ༻ઃܭϥϘ 3 ʮ$*$%ͬͨํ͕͍͍ͷΘ͔Δ͚ͲɺͲ͜ ͔ΒखΛ͚͍͍ͯͷ͔Θ͔ΒΜʯ ʮ$*$%ɺͳʹͦΕඒຯ͍͠ͷʁʯ ʮϫλγɺ$*$%θϯθϯϫΧϥφʔΠʼʻʯ ͱ͍͏ͪΒ΄Βฉ͖͑ͯ͜·͢ɻ
Operation Lab ӡ༻ઃܭϥϘ "84$*$%ؔ࿈αʔϏεͷશମ૾ 4
Operation Lab ӡ༻ઃܭϥϘ "84$*$%ؔ࿈αʔϏεͷશମ૾ 5 CodePipeline CodeCommit ιʔείʔυ CodeBuild Ϗϧυςετ
CodeDeploy σϓϩΠ CodeStar ͜ΕΒΛΈ߹Θͤͯ$*$%ύΠϓϥΠϯΛΉ
Operation Lab ӡ༻ઃܭϥϘ "84$*$%ؔ࿈αʔϏεͷਖ਼͍͍͠ํ 6 ͜ΕΒΛΈ߹Θͤͯ$*$%ύΠϓϥΠϯΛΉ πʔϧʹࣗୡΛ߹ΘͤΔͷͰͳ͘ ࣗୡͷύΠϓϥΠϯʹπʔϧΛΈࠐΉ ΜͰ͢Α 4"େଜ͞Μ
ࣗୡͷ$*$%ύΠϓϥΠϯʹπʔϧΛΈࠐΉ
Operation Lab ӡ༻ઃܭϥϘ "84$*$%ؔ࿈αʔϏεͷਖ਼͍͠શମ૾ 7 CodePipeline CodeCommit ιʔείʔυ CodeBuild Ϗϧυςετ
CodeDeploy σϓϩΠ ࣗୡͷ$*$%ύΠϓϥΠϯʹπʔϧΛΈࠐΉ త खஈ ࣗͨͪͷύΠϓϥΠϯ
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓΛ࡞Ζ͏ 8 ࣗୡͷύΠϓϥΠϯΛ ͪΌΜͱཧతʹઆ໌Ͱ͖Δਓ গͳ͍ΜͰ͢Α 4"େଜ͞Μ ࣗୡͷ$*$%ύΠϓϥΠϯʹπʔϧΛΈࠐΉ
ࣗୡͷ$*$%ύΠϓϥΠϯ૾Λ٬؍ԽɾߏԽ͢Δ ͦͷલʹ
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓΛ࡞Ζ͏ 9 ιʔείʔυ ࣗୡͷ$*$%ύΠϓϥΠϯʹπʔϧΛΈࠐΉ ࣗͨͪͷύΠϓϥΠϯͷߦઌϢʔβ σϓϩΠઌ Ռ
Ϧιʔε Ϧιʔε Ϧιʔε Ϧιʔε Ռ ఏڙऀ Ϣʔβ Ϗϧυςετ σϓϩΠ Ռ Ռ
Operation Lab ӡ༻ઃܭϥϘ "84$*$%ؔ࿈αʔϏεͷհ 10
Operation Lab ӡ༻ઃܭϥϘ "84$*$%ؔ࿈αʔϏεͷશମ૾ 11 CodePipeline CodeCommit ιʔείʔυ CodeBuild Ϗϧυςετ
CodeDeploy σϓϩΠ CodeStar
Operation Lab ӡ༻ઃܭϥϘ $PEF$PNNJU 12
Operation Lab ӡ༻ઃܭϥϘ $PEF$PNNJUͷ֓ཁ 13 CodeCommit ιʔείʔυ • (JU)VC૬ͷαʔϏε •
*".ϢʔβຖʹΞΫηε੍ޚͰ͖Δɻ • JTTVFཧແ͍ɻ "84ͷ$*$%ܥαʔϏεͰҰ൪͓खܰ
Operation Lab ӡ༻ઃܭϥϘ $PEF$PNNJUͷڝ߹αʔϏε 14 CodeCommit ιʔείʔυ • 4 •
(JU)VC • #JUCVDLFU • (JU)VC&OUFSQSJTF
Operation Lab ӡ༻ઃܭϥϘ $PEF#VJME 15
Operation Lab ӡ༻ઃܭϥϘ $PEF#VJMEͷ֓ཁ 16 CodeBuild ιʔείʔυ Ϗϧυςετ ΞʔςΟϑΝΫτ Ռ
• ιʔείʔυʹಉࠝ͞ΕͨCVJMETQFDZNMʹैͬͯ ϏϧυςετΛ࣮ߦ͢Δɻ • Ϗϧυͨ͠Ռ ΞʔςΟϑΝΫτ ͕ग़ྗ͞ΕΔɻ ׂͱԿͰͰ͖Δɻ ൿͷλϨԽ
Operation Lab ӡ༻ઃܭϥϘ $PEF#VJMEͱ࿈ܞͰ͖ΔαʔϏε 17 CodeBuild ςετϏϧυ ΞʔςΟϑΝΫτ Ռ ιʔείʔυ
• $PEF1JQFMJOF • 4 • $PEF$PNNJU • (JU)VC • #JU#VDLFU • (JU)VC&OUFSQSJTF • /0@4063$& • $PEF1JQFMJOF • 4 • /0@4063$& • CVJMETQFDZNMʹهड़ͨ͠ॴ • ྫ &$3 https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/create-project.html ࣌
Operation Lab ӡ༻ઃܭϥϘ $PEF%FQMPZ 18
Operation Lab ӡ༻ઃܭϥϘ $PEF%FQMPZͷ֓ཁ 19 CodeDeploy σϓϩΠ • ιʔείʔυʹಉࠝ͞ΕͨBQQTQFDZNMʹैͬͯσϓϩΠ͢Δɻ •
4FSWFSEFQMPZΤʔδΣϯτͷೖ͍ͬͯΔ&$ΦϯϓϨʹσϓϩΠɻ • -BNCEBͱ&$4ͷσϓϩΠʹରԠɻ • #MVF(SFFOσϓϩΠʹରԠ ΦϯϓϨΛআ͘ ΞʔςΟϑΝΫτ Ռ • Server • Lambda • ECS ͦΕͧΕΞϓϦέʔγϣϯλΠϓ͕ҟͳΔͷͰɺޙ͔ΒมߋͰ͖ͳ͍ɻ
Operation Lab ӡ༻ઃܭϥϘ $PEF%FQMPZͱ࿈ܞͰ͖ΔαʔϏε 20 CodeDeploy σϓϩΠ ΞʔςΟϑΝΫτ Ռ •
Server • Lambda • ECS • 4 • 4FSWFS &$ • 4FSWFS ΦϯϓϨ • -BNCEB • &$4 https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/applications-create.html ࣌ ΦϯϓϨҎ֎#MVF(SFFOՄೳ
Operation Lab ӡ༻ઃܭϥϘ $PEF1JQFMJOF 21
Operation Lab ӡ༻ઃܭϥϘ $PEF1JQFMJOFͷ֓ཁ 22 CodePipeline • $*$%αʔϏεΛͭͳׂ͙ɻ • جຊతʹ+40/ͰߏΛॻ͘ɻ
• ϚϧνιʔεʹରԠ ݄ • $MPVE8BUDI&WFOUTʹରԠ ݄
Operation Lab ӡ༻ઃܭϥϘ • खಈ • S3 • CodeDeploy •
ECS • CloudFormation • ElasticBeanstalk • OpsWorks • ServiceCatalog • Alexa skiils kit • ֤छSaaS $PEF1JQFMJOFͱ࿈ܞͰ͖ΔαʔϏε 23 • CodeCommit • S3 • ECR • GitHub IUUQTEPDTBXTBNB[PODPNKB@KQDPEFQJQFMJOFMBUFTUVTFSHVJEFJOUFHSBUJPOTBDUJPOUZQFIUNMJOUFHSBUJPOTUFTU • CodeBuild • DeviceFirm • Jenkins • ֤छSaaS • CodeBuild • Jenkins • ֤छSaaS ঝೝ ιʔε Ϗϧυ ςετ ࣮ߦ CodePipeline σϓϩΠ • Lambda ࣌
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓ 24
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓ 25 ιʔείʔυ ࣗୡͷ$*$%ύΠϓϥΠϯʹπʔϧΛΈࠐΉ ࣗͨͪͷύΠϓϥΠϯͷߦઌϢʔβ σϓϩΠઌ Ռ
Ϧιʔε Ϧιʔε Ϧιʔε Ϧιʔε Ռ ఏڙऀ Ϣʔβ Ϗϧυςετ σϓϩΠ Ռ Ռ
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓͰେࣄͳࣄ 26 ιʔείʔυ Ϗϧυςετ σϓϩΠ ࣗͨͪͷύΠϓϥΠϯͷߦઌϢʔβ σϓϩΠઌ
Ռ Ռ Ռ Ռ ఏڙऀ Ϣʔβ ΞʔςΟϑΝΫτ ;JQ தؒՌ • $PEF$PNNJU • 4 • &$3 • (JU)VC • #JU#VDLFU • (JU)VC&OUFSQSJTF • /0@4063$& • $PEF%FQMPZ • TDQͳͲ • $BQJTUSBOPͳͲ • 4 • &$ • ΦϯϓϨ • &$4 #MVF(SFFO • 'BSHBUF • -BNCEB • &MBTUJD#FBOTUBML • 0QT8PSLT • $MPVE'PSNBUJPO • 4FSWJDF$BUBMPH • "MFYBTLJJMTLJU • $PEF#VJME • +FOLJOT • ֤छ4BB4 πʔϧԿͰྑ͍͠ɺ࣌ͰมΘΔ
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓͷ 27
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓͷ 28 ιʔείʔυ ςετ σϓϩΠ σϓϩΠઌ •
ιʔείʔυཧ • ϦϦʔεઌڥ • EFWTUH • ϦϦʔεํ๏ • ΠϯϓϨʔε • #MVF(SFFO Ϗϧυ • ঝೝͷ༗ແ • ΞʔςΟϑΝ Ϋτͷܗࣜ • ;*1 • ίϯςφΠ ϝʔδ • ".* • ܗଶ • ϓϧ • ϓογϡ • ՝ཧ • ΞΫηε੍ޚ • ϦϦʔεઌEFWTUH • ϒϥϯν • $* • ϦϦʔεઌQSE • Ϛελϒϥϯ ν • $% • &$ɻΦϯϓϨ • 4ɻ&$4 • 'BSHBUFɻ-BNCEB • $MPVE'PSNBUJPO • ϦϦʔεઌڥ • QSE
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓͷ େاۀ 29 ιʔείʔυ ςετ σϓϩΠ σϓϩΠઌ
• ιʔείʔυཧ • ϦϦʔεઌڥ • EFWTUH • ϦϦʔεํ๏ • ΠϯϓϨʔε • #MVF(SFFO Ϗϧυ • ঝೝͷ༗ແ • ΞʔςΟϑΝ Ϋτͷܗࣜ • ;*1 • ίϯςφΠ ϝʔδ • ".* • ܗଶ • ϓϧ • ϓογϡ • ՝ཧ • ΞΫηε੍ޚ • ϦϦʔεઌEFWTUH • ϒϥϯν • $* • ϦϦʔεઌQSE • Ϛελϒϥϯ ν • $% • &$ɻΦϯϓϨ • 4ɻ&$4 • 'BSHBUFɻ-BNCEB • $MPVE'PSNBUJPO • ϦϦʔεઌڥ • QSE ӡ༻ ։ൃ
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓ͔Βݟ͑ͯ͘Δܗ 30 ೖฤ
Operation Lab ӡ༻ઃܭϥϘ $PEF$PNNJU $PEF1JQFMJOF 4 31 ιʔείʔυ ςετϏϧυ σϓϩΠ
σϓϩΠઌ Ռ Ռ ఏڙऀ Ϣʔβ ΞʔςΟϑΝΫτ ;JQ தؒՌ 4 4 Tutorial: Create a Pipeline That Uses Amazon S3 as a Deployment Provider IUUQTEPDTBXTBNB[PODPNKB@KQDPEFQJQFMJOFMBUFTUVTFSHVJEFUVUPSJBMTTEFQMPZIUNM ୯७ͳ্ॻ͖ͳͷͰɺҠಈআʹਵͰ͖ͳ͍ɻ WebSite Hosting 4 CodePipeline
Operation Lab ӡ༻ઃܭϥϘ $PEF$PNNJU $PEF1JQFMJOF 4 32 ιʔείʔυ ςετ σϓϩΠ
σϓϩΠઌ • ϦϦʔεઌڥ • EFWTUHQSE • ϦϦʔεํ๏ • ΠϯϓϨʔε • #MVF(SFFO Ϗϧυ • Ϧιʔεཧ • ࣗલ • Ϛωʔδυ • Ϛωʔδυ த • ঝೝͷ༗ແ • ΞʔςΟϑΝ Ϋτͷܗࣜ • ;*1 • ίϯςφΠ ϝʔδ • ".* • ܗଶ • ϓϧ • ϓογϡ • ιʔείʔυཧ • ՝ཧ • ΞΫηε੍ޚ 4 4 4 CodePipeline Ռ Ռ தؒՌ
Operation Lab ӡ༻ઃܭϥϘ $*$%ͷσβΠϯϚοϓ͔Βݟ͑ͯ͘Δܗ 33 ॳڃฤ
Operation Lab ӡ༻ઃܭϥϘ Πϯελϯεܕͷ$*$% $PEF%FQMPZ 34 ιʔείʔυཧ • ϦϦʔεઌڥ •
EFWTUH • ϦϦʔεํ๏ • ΠϯϓϨʔε • #MVF(SFFO • εςʔτϑϧ 4PSSZϝϯςܕ • ঝೝͷ༗ແ • ΞʔςΟϑΝ Ϋτͷܗࣜ • ;*1 • ίϯςφΠ ϝʔδ • ".* • ܗଶ • ϓϧ • ϓογϡ • ՝ཧ • ΞΫηε੍ޚ • ϦϦʔεઌEFWTUH • ϒϥϯν • $* • ϦϦʔεઌQSE • Ϛελϒϥϯ ν • $% • &$ɻΦϯϓϨ • 4ɻ&$4 • 'BSHBUFɻ-BNCEB • $MPVE'PSNBUJPO • ϦϦʔεઌڥ • QSE
ࠓޙͷٞωλ Ұ෦ • ίϯύΠϧͱඇίϯύΠϧͰҧ͍͕͋Γͦ͏ • $44ϑϩϯτίϯύΠϧ͢ΔΑͶ • ".*Λར༻ͨ͠σϓϩΠͲ͏Δ Operation
Lab ӡ༻ઃܭϥϘ 35
Operation Lab ӡ༻ઃܭϥϘ 36 IUUQXXXPQFSBUJPOMBCDPKQ OperationLab ӡ༻ઃܭ