> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ağ Bağlantı Matrisi

> Inbound/Outbound/Internal trafik, Port 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

<CardGroup cols={3}>
  <Card title="Inbound Trafik" icon="arrow-down">
    **Dış Dünyadan Gelen**

    * Internet'ten Load Balancer'a
    * İstemcilerden API Gateway'e
  </Card>

  <Card title="Outbound Trafik" icon="arrow-up">
    **Dış Dünyaya Giden**

    * Backend API'lere
    * Dış servislere
    * Internet'e
  </Card>

  <Card title="Internal Trafik" icon="arrows-rotate">
    **Bileşenler Arası**

    * Manager ↔ Worker
    * Worker ↔ Database
    * Worker ↔ Cache
  </Card>
</CardGroup>

## 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

| Kaynak  | Hedef   | Port | Protokol | Açıklama             | Yön              |
| ------- | ------- | ---- | -------- | -------------------- | ---------------- |
| Manager | Worker  | 8080 | HTTP     | Deployment işlemleri | Manager → Worker |
| Manager | Worker  | 8080 | HTTP     | Health check         | Manager → Worker |
| Worker  | Manager | 8080 | HTTP     | Konfigürasyon alımı  | Worker → Manager |
| Worker  | Manager | 8080 | HTTP     | Status raporlama     | Worker → Manager |

#### 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      | Cache erişimi     | Worker → Cache  |
| Manager | Cache | 5701 | TCP      | Cache yönetimi    | 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:**

* **443/80**: İstemci erişimi (Load Balancer'dan)
* **8080**: Manager'dan deployment işlemleri
* **5701**: Cache cluster erişimi (LAN'dan)
* **25080**: MongoDB erişimi (LAN'dan)
* **9200**: Elasticsearch erişimi (LAN'dan)

**Load Balancer:**

* **443/80**: Internet erişimi
* **8080**: Worker'lara trafik 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**: Cache erişimi (Worker ve Manager'dan)

## Firewall Kuralları Özeti

### DMZ Firewall Kuralları

**Inbound:**

```
Internet → Load Balancer: 443, 80
VPN → Load Balancer: 22 (opsiyonel)
```

**Outbound:**

```
Load Balancer → Worker: 8080
Worker → Manager: 8080
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: 8080
Manager → MongoDB: 25080
Manager → Elasticsearch: 9200
Manager → Cache: 5701
Manager → External Services: 443, 25, 587
```

## Port Gereksinimleri - Bileşen Bazlı

### Worker Node Portları

<AccordionGroup>
  <Accordion title="Client-Facing Ports">
    * **443**: HTTPS API erişimi
    * **80**: HTTP API erişimi (redirect için)
    * **8080**: Management API (Manager'dan)
  </Accordion>

  <Accordion title="Backend Communication Ports">
    * **443/80**: Backend API çağrıları (outbound)
    * **25080**: MongoDB erişimi (outbound)
    * **9200**: Elasticsearch log gönderimi (outbound)
    * **5701**: Cache erişimi (outbound)
  </Accordion>

  <Accordion title="Internal Ports">
    * **8080**: Manager ile iletişim (bidirectional)
    * **Dynamic**: Kubernetes service discovery
  </Accordion>
</AccordionGroup>

### Manager Node Portları

<AccordionGroup>
  <Accordion title="Web Interface Ports">
    * **8080**: Web Manager UI
    * **8080**: Management API
  </Accordion>

  <Accordion title="Database Ports">
    * **25080**: MongoDB erişimi (outbound)
    * **9200**: Elasticsearch erişimi (outbound)
    * **5701**: Cache erişimi (outbound)
  </Accordion>

  <Accordion title="External Service Ports">
    * **443**: External API çağrıları (webhook, monitoring)
    * **25/587**: SMTP (e-posta gönderimi)
    * **53**: DNS sorguları
  </Accordion>
</AccordionGroup>

## Network Security Best Practices

<Warning>
  **Güvenlik Kuralları:**

  1. **Asla** MongoDB ve Elasticsearch portlarını Internet'e açmayın
  2. **Asla** Manager portunu (8080) Internet'e açmayın
  3. **Mutlaka** TLS/SSL kullanın (production'da)
  4. **Mutlaka** firewall kurallarını en az ayrıcalık prensibi ile yapılandırın
  5. **Mutlaka** network segmentation uygulayın (DMZ/LAN)
</Warning>

### 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 │
└──────┬───────┘
       │ (8080)
       ▼
┌──────────────┐
│ Worker Node  │
└──────┬───────┘
       │
       ├───► (25080) MongoDB
       ├───► (9200) Elasticsearch
       ├───► (5701) Cache
       ├───► (8080) Manager
       └───► (443) Backend API
```

<Note>
  **Ö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.
</Note>
