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
170
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
460
Renovate ではじめる運用レスなライブラリ更新 / 令和最新版 他人に自慢したいヤバいCI/CD LT会 @ yabaibuki.dev #2
ponkio_o
PRO
1
210
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
720
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
43
17k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
2
1k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
480
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.3k
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
ponkio_o
PRO
0
500
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
350
Other Decks in Technology
See All in Technology
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
14
12k
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
460
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
非機能品質を作り込むための実践アーキテクチャ
knih
5
1.4k
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
540
ハイテク休憩
sat
PRO
2
150
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
220
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
250
C++26 エラー性動作
faithandbrave
2
740
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Mobile First: as difficult as doing things right
swwweet
222
9k
Adopting Sorbet at Scale
ufuk
73
9.1k
A Philosophy of Restraint
colly
203
16k
Music & Morning Musume
bryan
46
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
How GitHub (no longer) Works
holman
311
140k
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ͦͷͷͷֶशίετ͔͔Δ
ืूϙδγϣϯ • ϑϩϯτΤϯυΤϯδχΞ • όοΫΤϯυΤϯδχΞ • ΞϓϦΤϯδχΞ • ΤϯδχΞϦϯάϚωʔδϟʔ •
σʔλΞφϦετ • σʔλαΠΤϯςΟετ • σʔλΤϯδχΞ • ΠϯϑϥΤϯδχΞ ৄࡉͪ͜Β