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
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
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
290
Cosmos World Foundation Model Platform for Physical AI
takmin
0
890
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
OpenShiftでllm-dを動かそう!
jpishikawa
0
110
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
140
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
200
Greatest Disaster Hits in Web Performance
guaca
0
250
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
770
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
180
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Music & Morning Musume
bryan
47
7.1k
Building AI with AI
inesmontani
PRO
1
690
Designing for Performance
lara
610
70k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
120
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Balancing Empowerment & Direction
lara
5
890
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
340
Abbi's Birthday
coloredviolet
1
4.7k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
86
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 ӡ༻ઃܭ