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
240
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
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
380
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
690
Renovate ではじめる運用レスなライブラリ更新 / 令和最新版 他人に自慢したいヤバいCI/CD LT会 @ yabaibuki.dev #2
ponkio_o
PRO
1
290
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
960
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
42
20k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
3
1.3k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
600
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.7k
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
ponkio_o
PRO
0
570
Other Decks in Technology
See All in Technology
Windows で省エネ
murachiakira
0
150
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
120
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
140
いまさら聞けない ABテスト入門
skmr2348
1
180
“2件同時配達”の開発舞台裏 〜出前館PMが挑んだダブルピック実現に向けた体験設計〜
demaecan
0
180
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
1.1k
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.7k
インサイト情報からどこまで自動化できるか試してみた
takas0522
0
130
Pure Goで体験するWasmの未来
askua
1
170
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.7k
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
130
GopherCon Tour 概略
logica0419
2
160
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Side Projects
sachag
455
43k
Fireside Chat
paigeccino
40
3.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Statistics for Hackers
jakevdp
799
220k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Embracing the Ebb and Flow
colly
88
4.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
570
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
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ͦͷͷͷֶशίετ͔͔Δ
ืूϙδγϣϯ • ϑϩϯτΤϯυΤϯδχΞ • όοΫΤϯυΤϯδχΞ • ΞϓϦΤϯδχΞ • ΤϯδχΞϦϯάϚωʔδϟʔ •
σʔλΞφϦετ • σʔλαΠΤϯςΟετ • σʔλΤϯδχΞ • ΠϯϑϥΤϯδχΞ ৄࡉͪ͜Β