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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
opelab
April 25, 2019
Technology
3
800
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
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
15
2.7k
スモールスタート、不都合な真実 〜 耳当たりの良い言葉に現場が振り回されないために/20240930-ssmjp-small-start
opelab
14
2.6k
20分で分かるIAM全機能 (拡大版) / 20240903-jawsug-yokohama-iam
opelab
3
480
AWS IAM Identity Center議論会 〜 認証認可結合モデルと認証認可分離モデル / 20240827-jawsug-arch-iam_identity_center
opelab
5
720
運用エンジニアのための AWSドキュメントの歩き方・まとめ方 / 20240822-jawsug-tokyo-aws-documents
opelab
7
2.6k
AWS CloudShell全機能 〜 CLI活用のススメ / 20240821-nri-aws-cloudshell
opelab
3
860
AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege
opelab
11
6.2k
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
33
19k
20分で分かるIAM全機能 /20240621-aws-summit-iam
opelab
44
16k
Other Decks in Technology
See All in Technology
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
140
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
150
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
Cosmos World Foundation Model Platform for Physical AI
takmin
0
900
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
配列に見る bash と zsh の違い
kazzpapa3
1
150
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
5.6k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
62
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
53
Prompt Engineering for Job Search
mfonobong
0
160
How to Talk to Developers About Accessibility
jct
2
130
Making the Leap to Tech Lead
cromwellryan
135
9.7k
GitHub's CSS Performance
jonrohan
1032
470k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
How to build a perfect <img>
jonoalderson
1
4.9k
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 ӡ༻ઃܭ