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
開発エンジニアが実践するDevSecOps
Search
Kaz Watanabe
April 17, 2025
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開発エンジニアが実践するDevSecOps
https://offers.cyleague.jp/202504cstf
Kaz Watanabe
April 17, 2025
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
37
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
490
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
380
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
201909-PHPCon北海道-PHPでCI_CD.pdf
kaz29
0
4.2k
Other Decks in Technology
See All in Technology
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
12
8.7k
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.6k
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
410
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
980
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
1
420
Kaggleで成長するために意識したこと
prgckwb
2
420
カードゲーム作りが教えてくれた プロダクトオーナーシップ
moritamasami
0
110
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
420
Network Firewallやっていき!
news_it_enj
0
170
シンガポールで登壇してきます
yama3133
0
250
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
480
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
420
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
170
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Designing Powerful Visuals for Engaging Learning
tmiket
1
450
Are puppies a ranking factor?
jonoalderson
1
3.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
470
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
180
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The SEO identity crisis: Don't let AI make you average
varn
0
510
The Language of Interfaces
destraynor
162
27k
エンジニアに許された特別な時間の終わり
watany
108
250k
Transcript
։ൃΤϯδχΞ͕࣮ફ͢ΔDevSecOps ηΩϡϦςΟΛҙࣝͨࣗ͠ಈԽͷऔΓΈͷհ ࣍ظϑϩϯτγεςϜ։ൃ෦ ݄!%FW4FD0QT࠷લઢϑϩϯτϥϯφʔ͔ΒֶͿ࠷৽τϨϯυͱޭࣄྫ
2 WHO!? ลҰ JCOMגࣜձࣾ ࣍ظϑϩϯτγεςϜ։ൃ෦ WebΞϓϦέʔγϣϯͷ։ൃ DevOpsڥͷߏஙɾӡ༻ ΫϥυΠϯϑϥͷߏஙɾӡ༻
3 ݱߦγεςϜͷ՝ ৽ج൫ͷతɾίϯηϓτ w ηΩϡϦςΟɾ࣭ͷ୲อ w EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ w పఈతͳࣗಈԽ w
ܧଓతσϦόϦʔ$% w *OGSBTUSVDUVSFBT$PEF*B$ w ܧଓతΠϯςάϨʔγϣϯ$* "HFOEB
4 ԿΛ͍ͯ͠Δ෦ॺ͔ʁ
ݱߦγεςϜͷ՝
6 ͷͷݹ͍γεςϜ w ओʹ1)1ɺ$ ࣗಈςετ͕ͳ͍ σϓϩΠ࣌ʹਓखͰͷ࡞ۀ͕ඞཁ ӡ༻্ͷ w ຊ൪ڥͷϩάӾཡ ݱߦγεςϜͷ՝
৽ج൫ͷతɾίϯηϓτ
8 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
9 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
10 ίʔυͷηΩϡϦςΟରࡦ ੬ऑੑΛຒΊࠐ·ͳ͍ͨΊʹɺ੩తղੳෳࡶੑνΣοΫΛ׆༻͢Δ ར༻͍ͯ͠ΔϥΠϒϥϦ܈ͷηΩϡϦςΟରࡦ ߋ৽ͷݕΛࣗಈԽ͢ΔͨΊɺEFQFOEBCPUͰ13࡞ΛࣗಈԽ ࣮ߦڥͷηΩϡϦςΟ USJWZ (JUIVC"EWBODFE4FDVSJUZͰ੬ऑੑΛҰݩཧ αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
ଞʹΕΔ͜ͱ͕͋Γͦ͏ɺࠓޙͷ՝ ηΩϡϦςΟɾ࣭ͷ୲อ EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ
11 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
పఈతͳࣗಈԽ
13 w ܧଓతσϦόϦʔ$% w ֤ڥͷσϓϩΠΛࣗಈԽ w *OGSBTUSVDUVSF"T$PEF*B$ w ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ w
ͦͷଞఆظλεΫͷࣗಈԽ w HJUIVCͷϝτϦοΫͷࢹ ۭ͖γʔτɺ()"ͷ࣮ߦ࣌ؒʜ ओͳࣗಈԽͷॲཧ $%ɾ*B$ɾͦͷଞ
ܧଓతσϦόϦʔ$%
15 ओͳࣗಈԽͷॲཧ ֤ڥͷσϓϩΠͷࣗಈԽ ί υ ͷ ν Ϋ Ξ
τ ί ϯ ς φ Ϩ δ ε τ Ϧ ʹ ϩ ά Π ϯ λ ά ໊ Λ औ ಘ ί ϯ ς φ Λ build & push λ ά ໊ ͔ Β Ϧ Ϗ δ ϯ ໊ Λ ࡞ Azure ϩ ά Π ϯ ࣮ ߦ த ͷ Ϧ Ϗ δ ϯ Λ औ ಘ ৽ ͠ ͍ Ϧ Ϗ δ ϯ Λ σ ϓ ϩ Π (traf c: 0%) Azure ϩ ά Π ϯ ৽ چ ͷ Ϧ Ϗ δ ϯ ͷ traf c Λ ೖ ସ ͑ Azure ϩ ά Π ϯ چ Ϧ Ϗ δ ϯ Λ আ Build Deploy Flip Deactivate ঝೝ ঝೝ ϦϦʔελάΛ࡞ Ұ୴͜͜Ͱఀࢭ
*OGSBTUSVDUVSF"T$PEF*B$
17 ओͳࣗಈԽͷॲཧ ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ IaC ί υ ͷ จ ๏ ν
Ϋ STG ֤ ڥ ͱ ͷ ࠩ Λ औ ಘ ࠩ Λ PR ί ϝ ϯ τ ʹ ߘ IaC ί υ ͷ จ ๏ ν Ϋ ϓ ϩ Ϗ δ χ ϯ ά ࣮ ߦ PR࡞ ঝೝ UAT PROD Bicepίʔυͱ ࠩΛൺֱ ͕ͳ͚Ε Ϛʔδ ϨϏϡʔ ϦϦʔε ߏมߋ Ұ୴͜͜Ͱఀࢭ
ܧଓతΠϯςάϨʔγϣϯ$*
19 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
20 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
21 ओͳࣗಈԽͷॲཧ 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ ί ϯ ς φ ͷ Ϗ ϧ
υ ί σ ϯ ά ε λ Π ϧ ν Ϋ phpstan ʹ Α Δ ੩ త ղ ੳ UnitTest ɾ Feature Test ͷ ࣮ ߦ SonarQube ʹ Α Δ ੩ త ղ ੳ ࣮ ߦ ݁ Ռ Λ Teams ʹ ௨ SonaeQube Badge Λ PR ί ϝ ϯ τ ʹ ߘ ίʔυͷ৴པੑɾอकੑ ্ͷࢪࡦ w ݕ༰ͷྫ w ܕͷෆҰகͷݕ w ଘࡏ͠ͳ͍Ϋϥεϝ ιουͷݺͼग़͠ w ྻΩʔϓϩύςΟͷ ະఆٛΞΫηε w ౸ୡෆೳͳίʔυ 4"45ʢ੩తΞϓϦέʔγϣϯη ΩϡϦςΟςετʣ w ݕ༰ w όάηΩϡϦςΟͷ੬ऑੑ w ίʔυͷॏෳɺෳࡶੑɺίʔ σΟϯάنҧ w ςετΧόϨοδͷଌఆ w ٕज़తෛ࠴ͷఆྔԽ
22 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
23 ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ IUUQTEPDTHJUIVCDPNKBDPEFTFDVSJUZHFUUJOHTUBSUFEEFQFOEBCPURVJDLTUBSUHVJEF
24 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
25 NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ
26 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
27 %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ
28 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
29 NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ
ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
31 αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛू ӬଓԽ ϑϩϯτΞϓϦϩά ෆมϙϦγʔͷద༻ ϩάͷϥΠϑαΠΫϧઃఆ ϩάɾϝτϦοΫΞϥʔτ Ξϥʔτ௨ υΩϡϝϯτࢀর
ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
32 4POBS2VCF
33 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
ࠓޙ༷ʑͳվળΛਐΊΔՌͯ͠ͳ͍ಓͷΓΛొΓଓ͚·͢
None