Files
obsidian/infra/apisix.md
kappa b19186d17a APISIX 아키텍처 문서 업데이트: 오사카/서울 2인스턴스 구조 반영
- 오사카(apisix-osaka) / 서울(incus-hp2) 독립 인스턴스 구조 문서화
- BunnyCDN pull zone 매핑 (inouter→오사카, actions→서울)
- 서울 트래픽 흐름: BunnyCDN → OpenWrt → APISIX → 백엔드
- nocodb.inouter.com 서울 이전 반영
2026-03-14 14:49:18 +09:00

70 lines
2.7 KiB
Markdown

---
title: APISIX 설정 및 운영
updated: 2026-03-14
---
## 아키텍처
2개의 독립 APISIX 인스턴스, BunnyCDN pull zone으로 분리.
### 오사카 (apisix-osaka)
```
BunnyCDN(inouter, ID 5316471) → apisix-osaka(172.233.93.180) → 백엔드
```
- 용도: Ironclad 인프라 서비스 (ironclad.it.com, hcv, gitea, n8n, twilio 등)
- 보안: SafeLine WAF + CrowdSec 연동
- upstream: incus-jp1 내부(10.253.x), K3s Traefik
### 서울 (incus-hp2)
```
BunnyCDN(actions, ID 5330178) → OpenWrt(220.120.65.245) → incus-hp2 APISIX(10.179.99.126) → 백엔드
```
- 용도: 고객 웹사이트 리버스 프록시 + 일부 인프라 서비스
- upstream: incus-kr2 내부(10.179.99.x), K3s Traefik
- 고객 도메인: fkwm.kr, igv.kr, inbest.kim, ntf.kr, sarm.kim, tonghakbus.com, yonghak.com, cando.kr, iksung.kim, leewell.com 등
### BunnyCDN Pull Zone 매핑
| Zone | Origin | 방향 | 주요 Hostnames |
|---|---|---|---|
| inouter (5316471) | 172.233.93.180 | → 오사카 | anvil.it.com, hcv.inouter.com, gitea, n8n, kroki |
| actions (5330178) | 220.120.65.245 | → 서울 | actions.it.com, nocodb.inouter.com, nas.inouter.com |
## ironclad.it.com 라우트
ironclad.it.com Cloudflare DNS origin: 172.233.93.180 (osaka), zone ID: bc8761b398cc52cf731f804bd3cbf388. APISIX 라우트 ironclad-it-com → web 컨테이너 10.253.100.159:80. SSL: Google Trust Services wildcard cert (*.ironclad.it.com) in APISIX. → [[cert-manager]]
## SSL ID 규칙
APISIX SSL ID는 도메인 MD5 해시 앞 16자리
## 플러그인
APISIX 연동: ip-restriction + geoip-restriction 플러그인
## Twilio 라우트
APISIX 라우트 ID: twilio-jp-inouter-com → [[twilio]]
## Gitea POST 변환
[[gitea]]가 POST 미지원(AuthenticateNotImplemented, 404)하므로 APISIX에서 POST body 파라미터를 GET query string으로 변환
## hcv.inouter.com 라우트
APISIX 라우트 hcv-inouter-com → K3s Traefik (192.168.9.134/214/135:443, roundrobin, scheme https). upstream ID: hcv-inouter-com. [[vault]] UI/API 서빙. BunnyCDN pull zone inouter (ID 5316471)에 hostname 추가 완료 (2026-03-12). K3s 노드 IP 변경 반영 (2026-03-14).
## nocodb.inouter.com 라우트 (서울 이전 완료)
트래픽 흐름: Cloudflare DNS → BunnyCDN (pull zone **actions**, ID 5330178) → OpenWrt(220.120.65.245) → incus-hp2 APISIX(10.179.99.126, 라우트 nocodb) → K3s Traefik (192.168.9.134/214/135:443, roundrobin, scheme https) → nocodb svc:8080 (namespace tools).
## CrowdSec 로그 연동
APISIX(osaka) CrowdSec 로그 연동 현황 (2026-03-01)
인증: Authorization: apisix-crowdsec-log-2024
커스텀 파서: custom/apisix-json-logs (403 응답만 필터)
osaka APISIX에서 40K줄 수신, 403만 파싱 (커스텀 파서), 시나리오 매칭