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-d...
Search
opelab
April 25, 2019
Technology
810
3
Share
2019-04-25 CI/CD環境のデザインパターン/20190425-cicd-env-design-pattern
JAWS-UGアーキテクチャ専門支部での議論資料です。
(運用設計ラボ合同会社 波田野裕一)
opelab
April 25, 2019
More Decks by opelab
See All by opelab
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
3
380
なぜ、IAMロールのプリンシパルに*による部分マッチングが使えないのか? / 20260518-ssmjp-iam-role-principal
opelab
3
170
JAWS Days 2026 楽しく学ぼう! 認証認可 入門/20260307-jaws-days-novice-lane-auth
opelab
14
3k
アーキテクチャ専門支部 presents 帰ってきた!CDP道場 (解説編)/ 20260307-jaws-days-architecture-dojo-secure
opelab
0
37
レジリエントな運用を実現する 「運用エンジニアリング」/20250904-itmedia-operation-resilience
opelab
0
73
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
15
2.8k
スモールスタート、不都合な真実 〜 耳当たりの良い言葉に現場が振り回されないために/20240930-ssmjp-small-start
opelab
14
2.7k
20分で分かるIAM全機能 (拡大版) / 20240903-jawsug-yokohama-iam
opelab
3
550
AWS IAM Identity Center議論会 〜 認証認可結合モデルと認証認可分離モデル / 20240827-jawsug-arch-iam_identity_center
opelab
5
770
Other Decks in Technology
See All in Technology
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
3
560
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
180
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
120
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
36
38k
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1k
long-running-tasks
cipepser
3
470
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
350
GoとSIMDとWasmの今。
askua
3
480
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
730
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
190
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
430
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
370
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
830
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Six Lessons from altMBA
skipperchong
29
4.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Site-Speed That Sticks
csswizardry
13
1.2k
Context Engineering - Making Every Token Count
addyosmani
9
930
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Visualization
eitanlees
152
17k
Unsuck your backbone
ammeep
672
58k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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 ӡ༻ઃܭ