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
NGINX Ingress Controller を活用した Retty のサービス開発とモニ...
Search
YuyaKoda
PRO
April 15, 2022
Technology
0
230
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
https://f5-nginx.connpass.com/event/240414/
YuyaKoda
PRO
April 15, 2022
Tweet
Share
More Decks by YuyaKoda
See All by YuyaKoda
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
640
Renovate ではじめる運用レスなライブラリ更新 / 令和最新版 他人に自慢したいヤバいCI/CD LT会 @ yabaibuki.dev #2
ponkio_o
PRO
1
260
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
870
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
42
20k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
3
1.2k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
580
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.6k
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
ponkio_o
PRO
0
560
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
400
Other Decks in Technology
See All in Technology
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
270
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
10
2.9k
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
1
280
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
0
150
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
240
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.1k
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
150
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
1.1k
IIWレポートからみるID業界で話題のMCP
fujie
0
720
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
6
1.4k
ローカルLLMでファインチューニング
knishioka
0
120
ObsidianをMCP連携させてみる
ttnyt8701
2
140
Featured
See All Featured
A designer walks into a library…
pauljervisheath
206
24k
Designing for humans not robots
tammielis
253
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Code Review Best Practice
trishagee
68
18k
Embracing the Ebb and Flow
colly
86
4.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
Building Applications with DynamoDB
mza
95
6.5k
Agile that works and the tools we love
rasmusluckow
329
21k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Transcript
NGINX Ingress Controller Λ׆༻ͨ͠ Retty ͷαʔϏε։ൃͱϞχλϦϯά Yuya Koda 2022/04/15 NGINX
Ϣʔβʔձ 2022 य़
ࣗݾհ ໊લ ా༏࠸ ͜͏ͩΏ͏ ͓ࣄ ΠϯϑϥΤϯδχΞ ͖ͳ͓ళ 4"70:ຑे൪ళ ΧϨʔͷళΨϯδʔ
͖ͳͷ ւྉཧίʔώʔࣗಈԽLT 5XJUUFS !QPOLJP@P IUUQTVTFSSFUUZNF
͋ͳͨʹ#&45ͳ ͓ళ͕ݟ͔ͭΔ ໊࣮ܕάϧϝαʔϏε Retty
ΞδΣϯμ ։ൃڥͷ֓ཁ B ։ൃڥͷͳΓͨͪ C ։ൃڥͷߏ ϩʔυόϥϯαʔͷߏݕ౼
ϞχλϦϯάͷӡ༻ࣄྫͱϋϚͬͨͱ͜Ζ ·ͱΊ
ࣾ։ൃڥͷͳΓͨͪ • ϩʔΧϧ։ൃ࣌ʹ։ൃஈ֊ͷͷ͕ϨϏϡʔͰ͖ͳ͍ ◦ OHSPLΛ͍ͬͯͨ ▪ ্ཱ͍ͪ͛ͯΔ͔ؒ͠ݟΕͳ͍ͷͰෆศ • ։ൃ%#"1*ͱͷ࿈ܞ ◦
खݩͷEPDLFSDPNQPTFͰ্ཱͪ͛ͨ.Z42-Ͱͳ͘։ൃ༻ͷ %#Λࢀর͍ͨ͠ ◦ ผγεςϜͷ"1*Λࢀরͯ͠࿈ܞ෦ͷಈ࡞֬ೝΛߦ͍͍ͨ ▪ ˠϙʔτϑΥϫʔσΟϯάͳͲ͕ඞཁ ։ൃ͢Δʹ͍͔͋ͨͬͯͭ͘ͷ՝͕͋ͬͨ
։ൃͷྲྀΕ ϩʔΧϧڥͰ։ൃमਖ਼ मਖ਼ͨ͠ΠϝʔδΛ&$3ʹΞοϓϩʔυ εΫϦϓτΛ༻ͯࣗ͠ͷ%FQMPZNFOUͷΠϝʔδΛͰΞοϓϩʔυ ͨ͠ͷʹมߋ ө֬ೝ
ԼهͷΑ͏ͳྲྀΕͰ։ൃʙ֬ೝΛߦ͏
ࣾ։ൃڥͷߏ ˞ϗετ໊ͳͲͯ͢Սۭͷͷ IUUQT\VTFS^\TFSWJDF@OBNF^EFWSFUUZNF ʹΞΫηεͯ͠දࣔ֬ೝ εΫϦϓτͰ%FQMPZNFOUͷΠϝʔδΛมߋ͢Δ ։ൃऀYαʔϏεຖʹ*OHSFTT4FSWJDF%FQMPZNFOU͕ଘࡏ͢Δ มߋΛDPNNJU CVJMEQVTI
ϩʔυόϥϯαʔͷߏʹ͍ͭͯ
ϩʔυόϥϯαʔͷߏҊ ։ൃڥߏஙॳ ݄ࠒ ҎԼͷΑ͏ͳબࢶ͕͋ΓɺͦΕͧΕΛൺֱݕ౼ ͠·ͨ͠ɻ • "-#*OHSFTT • $-# /-#
/(*/9*OHSFTT$POUSPMMFS • "-#*OHSFTT /(*/9*OHSFTT$POUSPMMFS
A) ALB Ingress "84"-#Λ*OHSFTTͱͯ͠༻͢Δ&,4ͩͱఆ൪ ͷߏ • ϝϦοτ ◦ ߏ͕ඇৗʹγϯϓϧ ◦
"-#ͷػೳ͕͑Δ • σϝϦοτ ◦ "-#Λ*OHSFTTͱͯ͠ར༻͢ΔͷͰ"-#ͷ੍Λͦͷ··ड͚Δ ▪ ਖ਼نදݱ͕͑ͳ͍😭 ▪ 4FSWJDF2VPUB • λʔήοτͷొσϑΥϧτͰ Ҿ্͖͛Մೳ • λʔήοτͷొ૿͑ΔՄೳੑ͕͋ͬͨ
B) CLB / (NLB) + NGINX Ingress /(*/9*OHSFTTΛUZQF-PBE#BMBODFSͰެ։ͯ͠ɺશͯͷϧʔςΟϯάΛ/(*/9 ʹͤΔํࣜ •
ϝϦοτ ◦ /(*/9ͰϧʔςΟϯάͰ͖Δ ▪ ਖ਼نදݱ͑Δ͠ϔομʔ৮ΕΔ • σϝϦοτ ◦ $-#Λ͏ඞཁ͕͋ͬͨ ݱࡏ/-#͕ར༻Մೳ ▪ ॳUZQF-PBE#BMBODFSͳ4FSWJDFͰ༻Ͱ͖Δ&-#͕ $-#ͷΈͩͬͨ
C) ALB Ingress + NGINX Ingress "-#*OHSFTTΛϑϩϯτʹஔͭͭ͠ɺͦͷޙΖͰ/(*/9*OHSFTTΛಈ͔ͯ͠ͲͪΒ ͏ํࣜɻ"ͱ#ͷ͍͍ͱ͜औΓߏ • ϝϦοτ
◦ /(*/9ͰϧʔςΟϯάͰ͖Δ ▪ "-#ͰͰ͖Δ͠"-#ͷػೳ͑Δ ◦ ࣌ͱͯ͠ $-#ΛΘͳ͍͍ͯ͘ • σϝϦοτ ◦ *OHSFTT$POUSPMMFSΛෳཧ͢Δඞཁ͕͋Δ ▪ ͱ͍͑ӡ༻͍ͯͯ͠େมͩͳͱײͨ͜͡ͱ͕ͳ͍
ύλʔϯ C Λ࠾༻ͨ͠ཧ༝ ओʹ$-#Λ͍ͨ͘ͳ͍ͱ͍͏ͷ͕େ͖ͳཧ༝ "84-PBE#BMBODFS$POUSPMMFSͷొʹΑΓݱࡏղফ͍ͯ͠Δଟ͍ • ࣌ $-#ΛΘͳ͍બࢶ͕͜Ε͔͠ͳ͔ͬͨ ◦ ྩʹ$-#Λ৽ن࡞͢Δͷͪΐͬͱʜ
• &,4PO'BSHBUFͷΓ͑ͷՄೳੑ͕͋ͬͨ ◦ ίετ؍͔Β'BSHBUFͷҠߦ݁ՌతʹߦΘͣ ◦ ࣌ PO'BSHBUFͷ߹"-#*OHSFTTΛ͏͔͠ͳ͔ͬͨ • "-#୯ମͩͱػೳෆΛײͨ͡ ◦ ϧʔςΟϯάͷઃఆ ◦ Ϧεφʔϧʔϧͷ্ݶ͕σϑΥϧτͩͱ Ҿ্͖͛Մೳ
࠷ऴతͳߏ ˞ϗετ໊ͳͲͯ͢Սۭͷͷ
ӡ༻ࣄྫ
Prometheus + Grafana ʹΑΔϞχλϦϯά ϞχλϦϯάڥͷߏஙʹQSPNFUIFVTPQFSBUPSLVCFQSPNFUIFVTΛ༻ 1SPNFUIFVT(SBGBOB"MFSUNBOBHFSͳͲΛΠΠײ͡ʹηοτΞοϓͰ͖Δ IUUQTHJUIVCDPNQSPNFUIFVTPQFSBUPSLVCFQSPNFUIFVT
kube-prometheus vs prometheus-operator QSPNFUIFVTPQFSBUPSʮ1SPNFUIFVTͷ0QFSBUPS ୯ମ ʯͰ(SBGBOB֤छ FYQPSUFSผ్Πϯετʔϧ͢Δඞཁ͕͋Δɻ QSPNFUIFVTPQFSBUPSΛแ͠ɺ(SBGBOB"MFSUNBOBHFS&YQPSUFSΛೖΕͯ͘ ΕΔͷ͕LVCFQSPNFUIFVT
nginx-prometheus-exporter ඞཁʁ OHJOYJODLVCFSOFUFTJOHSFTTΛ͏߹ʹಉࠝ͞Ε͓ͯΓɺϑϥάͰ༗ޮԽ͢Δ ͚ͩͳͷͰผ్FYQPSUFSΛೖΕͳͯ͘ྑ͍ IUUQTHJUIVCDPNOHJOYJODOHJOYQSPNFUIFVTFYQPSUFS
exporter ͷઃఆ OHJOYJOHSFTTͷҾͱͯ͠FOBCMFQSPNFUIFVTNFUSJDTΛͯ͠ɺεΫϨΠϓ Ͱ͖ΔΑ͏ʹ֘ͷϙʔτ ࠓճ Λެ։͢Δ
औಘͰ͖ΔϝτϦΫεʹ͍ͭͯ 044൛ͩͱऔಘͰ͖ΔϝτϦΫεׂ͕ͱݶΒΕΔͨΊɺΑΓৄࡉʹϞχλϦϯά͢Δ ߹/(*/91MVT͕ྑͦ͞͏ ։ൃڥͩͱࢮ׆ࢹͰ͖ΕेͳͷͰࠓͷͱ͜Ζͳ͠ • $PNNPO ◦ OHJOYFYQPSUFS@CVJME@JOGP ◦ OJHOY@VQ
• 4UBUVT ◦ OHJOY@DPOOFDUJPOT@BDDFQUFE ◦ OHJOY@DPOOFDUJPOT@BDUJWF ◦ OHJOY@DPOOFDUJPOT@IBOEMFE ◦ OHJOY@DPOOFDUJPOT@SFBEJOH ◦ OHJOY@DPOOFDUJPOT@XBJUJOH ◦ OHJOY@DPOOFDUJPOT@XSJUJOH ◦ OHJOY@IUUQ@SFRVFTUT@UPUBM 044/(*/9ͰऔಘͰ͖ΔϝτϦΫεҰཡ
·ͱΊ
·ͱΊ • &,4ͷ߹"-#*OHSFTT SEQBSUZ*OHSFTTͷΈ߹ΘͤΞϦ ◦ "-#ͷػೳΛ͍ͭͭΓͳ͍ՕॴΛิ͑Δ ▪ "$.8"'0*%$"VUI • ϞχλϦϯάڥͷߏஙʹLVCFQSPNFUIFVT͕ศར
◦ 2VJDLTUBSUͷ௨ΓʹΕҰ௨ΓΠΠײ͡ʹଗ͏ ◦ LVCFQSPNFUIFVTʹݶΒͣ 0QFSBUPSͦͷͷͷֶशίετ͔͔Δ
ืूϙδγϣϯ • ϑϩϯτΤϯυΤϯδχΞ • όοΫΤϯυΤϯδχΞ • ΞϓϦΤϯδχΞ • ΤϯδχΞϦϯάϚωʔδϟʔ •
σʔλΞφϦετ • σʔλαΠΤϯςΟετ • σʔλΤϯδχΞ • ΠϯϑϥΤϯδχΞ ৄࡉͪ͜Β