Ağ Bağlantı Matrisi
Bu sayfa, Apinizer platformunun bileşenleri arasındaki ağ bağlantılarını ve port gereksinimlerini detaylı bir şekilde açıklar. Inbound, Outbound ve Internal trafik akışları için port matrisi sağlanmıştır.
Ağ Trafik Kategorileri
Inbound Trafik
Dış Dünyadan Gelen
- Internet'ten Load Balancer'a
- İstemcilerden API Gateway'e
Outbound Trafik
Dış Dünyaya Giden
- Backend API'lere
- Dış servislere
- Internet'e
Internal Trafik
Bileşenler Arası
- Manager ↔ Worker
- Worker ↔ Database
- Worker ↔ Cache
Port Matrisi - Detaylı Tablo
Inbound Trafik (Internet → Apinizer)
| Kaynak | Hedef | Port | Protokol | Açıklama | Gerekli |
|---|---|---|---|---|---|
| Internet | Load Balancer | 443 | HTTPS | API erişimi (Production) | Gerekli |
| Internet | Load Balancer | 80 | HTTP | HTTP → HTTPS redirect | Gerekli |
| Internet | Load Balancer | 22 | SSH | Yönetim erişimi (VPN üzerinden önerilir) | Zorunlu Değil |
Outbound Trafik (Apinizer → Internet)
| Kaynak | Hedef | Port | Protokol | Açıklama | Gerekli |
|---|---|---|---|---|---|
| Worker | Backend API | 443 | HTTPS | Backend API çağrıları | Gerekli |
| Worker | Backend API | 80 | HTTP | HTTP Backend API çağrıları | Zorunlu Değil |
| Worker | External Services | 443 | HTTPS | Dış servis entegrasyonları | Zorunlu Değil |
| Manager | External Services | 443 | HTTPS | Monitoring, webhook'lar | Zorunlu Değil |
| Manager | SMTP Server | 25/587 | SMTP | E-posta gönderimi | Zorunlu Değil |
| Manager | DNS Server | 53 | UDP/TCP | DNS sorguları | Gerekli |
Internal Trafik (Bileşenler Arası)
Manager ↔ Worker (Gateway)
| Kaynak | Hedef | Port | Protokol | Açıklama | Yön |
|---|---|---|---|---|---|
| Manager | Worker (Gateway) | 8091 veya K8s NodePort 30080/30090 | HTTP | Deploy (/apinizer/deployment/*), yönetim ve health (/apinizer/management/*) | Manager → Worker |
| Manager | Worker (Gateway) | 8443 | HTTPS | Gateway HTTPS (Environment'ta açıksa) | Manager → Worker |
| Worker | Manager | 8080 veya K8s NodePort 32080 | HTTP | Manager UI / REST API | Worker → Manager |
| Operatör | Manager | 8080 veya K8s NodePort 32080 | HTTP | Yönetim konsolu | Inbound (LAN) |
Manager ↔ Integration (Quartz)
| Kaynak | Hedef | Port | Protokol | Açıklama | Yön |
|---|---|---|---|---|---|
| Manager | Integration | 8092 | HTTP | Task-flow scheduler REST, health (/apinizer/management/health) | Manager → Integration |
| Integration | MongoDB | 25080 | TCP | Quartz job store | Integration → MongoDB |
Worker ↔ Database (MongoDB)
| Kaynak | Hedef | Port | Protokol | Açıklama | Yön |
|---|---|---|---|---|---|
| Worker | MongoDB | 25080 | TCP | Veri okuma/yazma | Worker → MongoDB |
| Manager | MongoDB | 25080 | TCP | Konfigürasyon yönetimi | Manager → MongoDB |
| MongoDB | MongoDB | 25080 | TCP | Replica set iletişimi | MongoDB ↔ MongoDB |
Worker ↔ Elasticsearch
| Kaynak | Hedef | Port | Protokol | Açıklama | Yön |
|---|---|---|---|---|---|
| Worker | Elasticsearch | 9200 | HTTP | Log gönderimi | Worker → Elasticsearch |
| Manager | Elasticsearch | 9200 | HTTP | Analitik sorguları | Manager → Elasticsearch |
| Elasticsearch | Elasticsearch | 9300 | TCP | Cluster iletişimi | Elasticsearch ↔ Elasticsearch |
Worker ↔ Cache (Hazelcast)
| Kaynak | Hedef | Port | Protokol | Açıklama | Yön |
|---|---|---|---|---|---|
| Worker | Cache | 5701 | TCP | Hazelcast wire (quota/OIDC/CB) | Worker → Cache |
| Worker | Cache | 8090 | HTTP | Cache REST API | Worker → Cache |
| Manager | Cache | 5701 | TCP | Cache yönetimi | Manager → Cache |
| Manager | Cache | 8090 | HTTP | Cache REST / diagnostic | Manager → Cache |
| Cache | Cache | 5701 | TCP | Cluster iletişimi | Cache ↔ Cache |
Kubernetes İletişimi
| Kaynak | Hedef | Port | Protokol | Açıklama | Yön |
|---|---|---|---|---|---|
| Kubelet | API Server | 6443 | HTTPS | API erişimi | Kubelet → API Server |
| Kube-proxy | API Server | 6443 | HTTPS | API erişimi | Kube-proxy → API Server |
| Pod | Pod | Dynamic | TCP/UDP | Pod-to-Pod iletişim | Pod ↔ Pod |
Ağ Topolojisi Bazlı Port Gereksinimleri
DMZ Zone Portları
Worker Nodes (Gateway):
- 443/80: İstemci erişimi (Load Balancer'dan)
- 8091 / 8443 (container) veya 30080 / 30090 (K8s NodePort): API Gateway HTTP/HTTPS
- 5701 / 8090: Cache (Hazelcast + REST) erişimi (LAN'dan)
- 25080: MongoDB erişimi (LAN'dan)
- 9200: Elasticsearch erişimi (LAN'dan)
Load Balancer:
- 443/80: Internet erişimi
- 8091 / 8443 veya 30080 / 30090: Worker gateway backend'ine yönlendirme
LAN Zone Portları
Manager Module:
- 8080: Web Manager ve Management API
- 25080: MongoDB erişimi
- 9200: Elasticsearch erişimi
- 5701: Cache erişimi
MongoDB:
- 25080: Veritabanı erişimi (Worker ve Manager'dan)
Elasticsearch:
- 9200: HTTP API (Worker ve Manager'dan)
- 9300: Transport protocol (cluster içi)
Cache (Hazelcast):
- 5701: Hazelcast cluster (Worker ve Manager'dan)
- 8090: Cache REST / diagnostic HTTP
Integration (Quartz):
- 8092: Scheduler REST (Manager'dan)
Firewall Kuralları Özeti
DMZ Firewall Kuralları
Inbound:
Internet → Load Balancer: 443, 80
VPN → Load Balancer: 22 (opsiyonel)
Outbound:
Load Balancer → Worker: 8091 / 8443 (veya NodePort 30080 / 30090)
Worker → Manager: 8080 (veya NodePort 32080)
Worker → MongoDB: 25080
Worker → Elasticsearch: 9200
Worker → Cache: 5701
Worker → Backend API: 443, 80
LAN Firewall Kuralları
Inbound:
DMZ → Manager: 8080
DMZ → MongoDB: 25080
DMZ → Elasticsearch: 9200
DMZ → Cache: 5701
VPN → Manager: 22, 8080
Outbound:
Manager → Worker: 8091 / 8443 (veya NodePort 30080 / 30090)
Manager → Integration: 8092
Manager → MongoDB: 25080
Manager → Elasticsearch: 9200
Manager → Cache: 5701, 8090
Manager → External Services: 443, 25, 587
Port Gereksinimleri - Bileşen Bazlı
Worker Node Portları
Client-Facing Ports
- 443: HTTPS API erişimi (LB sonlandırması)
- 80: HTTP API erişimi (redirect için)
- 8091 / 8443: Gateway HTTP/HTTPS (container varsayılanları)
- 30080 / 30090: Kubernetes NodePort (ortama göre)
Backend Communication Ports
- 443/80: Backend API çağrıları (outbound)
- 25080: MongoDB erişimi (outbound)
- 9200: Elasticsearch log gönderimi (outbound)
- 5701 / 8090: Cache erişimi (outbound)
Internal Ports
- 8080: Manager REST (Worker → Manager)
- 8091: Manager deploy/yönetim (Manager → Worker gateway)
- Dynamic: Kubernetes service discovery
Manager Node Portları
Web Interface Ports
- 8080: Web Manager UI
- 8080: Management API
Database Ports
- 25080: MongoDB erişimi (outbound)
- 9200: Elasticsearch erişimi (outbound)
- 5701: Cache erişimi (outbound)
External Service Ports
- 443: External API çağrıları (webhook, monitoring)
- 25/587: SMTP (e-posta gönderimi)
- 53: DNS sorguları
Network Security Best Practices
uyarı
Güvenlik Kuralları:
- Asla MongoDB ve Elasticsearch portlarını Internet'e açmayın
- Asla Manager portunu (8080) Internet'e açmayın
- Mutlaka TLS/SSL kullanın (production'da)
- Mutlaka firewall kurallarını en az ayrıcalık prensibi ile yapılandırın
- Mutlaka network segmentation uygulayın (DMZ/LAN)
Port Açma Checklist
- Sadece gerekli portlar açıldı
- DMZ ve LAN ayrımı yapıldı
- Firewall kuralları en az ayrıcalık prensibi ile yapılandırıldı
- TLS/SSL sertifikaları yapılandırıldı
- Network segmentation uygulandı
- Port tarama testleri yapıldı
- Monitoring ve alerting yapılandırıldı
Trafik Akış Diyagramı
Internet
│
▼ (443/80)
┌──────────────┐
│Load Balancer │
└──────┬───────┘
│ (8091 veya 30080)
▼
┌──────────────┐
│ Worker Node │
└──────┬───────┘
│
├───► (25080) MongoDB
├───► (9200) Elasticsearch
├───► (5701/8090) Cache
├───► (8080) Manager
└───► (443) Backend API
not
Önemli: Bu port matrisi standart kurulumlar için geçerlidir. Özel konfigürasyonlar ve custom port kullanımları için port numaraları değişebilir. Production ortamları için mutlaka network security audit yapılmalıdır.