# Gyro Kapsayıcı: ortamı özel ağa (VPC) bağlama

https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-ozel-aga-vpc-baglama

- **Bu rehberde ne öğreneceksiniz**: Kapsayıcı ortamınızı Gyro Bulut İstanbul özel ağınıza (VPC) bağlamayı; kapsayıcıların VPC'deki sunuculara (veritabanı, önbellek, iç API) özel IP ile ulaşmasını ve VPC sunucularının seçtiğiniz servislere özel bir uç noktadan erişmesini.
- **Süre**: 5 dakika
- **Kimin için**: Uygulaması Gyro Kapsayıcı'da, veritabanı ya da başka servisleri Gyro Bulut İstanbul sunucularında olan geliştiriciler.
- **Gerekenler**: Düğümlü bir Gyro Kapsayıcı ortamı (Mini, Küçük, Başlangıç, Standart ya da Pro) ve en az /26 boyutunda subneti olan bir VPC ([Özel ağ (VPC) nedir?](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-bulut-istanbul-ozel-ag-vpc)).

## 1. Nasıl çalışır

- Ortamınıza seçtiğiniz subnet içinde **VPC kaynak aralığı** ayrılır: 16 adreslik sabit bir blok (/28). Kapsayıcılarınızdan VPC'deki sunuculara giden bağlantılar bu aralıktan gelir.
- Bu aralık **değişmez**: düğüm yenilense, ölçeklense ya da paket değişse bile aynı kalır. Sunucunuzun güvenlik duvarında bir kez izin vermeniz yeter.
- Aralığın ilk adresi **VPC uç noktasıdır**. Bir servisi "yayınladığınızda" VPC'deki sunucular ona `uç_nokta:port` ile ulaşır. Uç nokta internete açılmaz.
- Bağlantı ve VPC içi trafik **ücretsizdir**; VPC kapısı (NAT) gerekmez. Kapsayıcıların internete çıkışı bugünkü gibi düğümlerin genel adresinden olur.
- Servisleriniz yeniden kurulmaz; bağlantı yaklaşık bir dakikada hazır olur.

|  |  |
| --- | --- |
| Bir ortamın bağlanabileceği subnet | Aynı anda bir tane (en az /26) |
| Yayınlanabilen servis | En çok 20, her port bir kez |
| Kullanılamayan portlar | 22, 2200, 6443, 9100, 9750, 10250-10256, 30000-32767, 51820-51821 |
| Ücret | Yok |
| Sunucusuz ortamlar | Yakında |

## 2. Panelden bağlamak

1. Kapsayıcı hizmetinizde **Yönetim** sekmesinde **Özel ağ (VPC)** aracını açın.
2. **VPC** ve **Subnet**'i seçin. Henüz VPC'niz yoksa Gyro Konsol > **Özel ağlar (VPC)** bölümünden oluşturun.
3. VPC sunucularının erişmesini istediğiniz servisleri **Servis ekle** ile seçin ve her birine bir **VPC portu** verin (ör. `api` → 8080). Yalnız dışarı bağlanmak istiyorsanız servis eklemeniz gerekmez.
4. **VPC'ye bağla**'ya basın. Durum *Bağlanıyor → Bağlı* olur; **VPC kaynak aralığı** ve **VPC uç noktası** ekranda görünür.
5. VPC sunucunuzun güvenlik duvarında kaynak aralığına izin verin. Örneğin PostgreSQL için `pg_hba.conf`'a `host all all 10.10.1.16/28 scram-sha-256` ekleyin.
6. Kapsayıcıdan VPC sunucusuna sunucunun **özel IP**'siyle bağlanın: `DATABASE_URL=postgres://uygulama:parola@10.10.1.10:5432/gyroproje`.

Yayınlanan servisleri sonradan değiştirmek için listeyi düzenleyip **Kaydet**'e basın; kaynak aralığı ve uç nokta aynı kalır. **Bağlantıyı kaldır** blok adreslerini serbest bırakır: yeniden bağladığınızda farklı bir aralık gelebilir.

Gyro Konsol'da VPC'nin ayrıntı sayfası, **Bağlı Kapsayıcı ortamları** bölümünde her ortamın kaynak aralığını ve uç noktasını gösterir.

## 3. CLI, API, Terraform ve yapay zeka asistanı ile

```
gyro vpc list                                            # VPC ve subnet kimlikleri
gyro container vpc attach 12345 --vpc p0ab12cd --subnet sb34ef56 --expose api:8080 --wait
gyro container vpc get 12345                             # source_range, endpoint_ip, yayınlar
gyro container vpc expose 12345 --expose api:8080 --expose web:80   # listeyi değiştirir (--clear = boşalt)
gyro container vpc detach 12345 --wait
```

```
resource "gyro_container_vpc_attachment" "app" {
  environment_id = gyro_container_environment.gyro_proje.id
  vpc_id         = gyro_vpc.uretim.id
  subnet_id      = gyro_vpc.uretim.default_subnet_id
  expose {
    service = "api"
    port    = 8080
  }
}

output "kaynak_araligi" { value = gyro_container_vpc_attachment.app.source_range }
```

API: `PUT /cloud/containers/{id}/vpc` gövdesi `{"vpc_id": "...", "subnet_id": "...", "expose": [{"service": "api", "port": 8080}]}`; durum `GET /cloud/containers/{id}/vpc` (`state`: `attaching` → `ready`); yayın listesi `PATCH` ile, kaldırma `DELETE` gövdesi `{"confirm": true}`. Gyro MCP araçları: `container_vpc_get`, `container_vpc_attach`, `container_vpc_expose`, `container_vpc_detach`. Ayrıntı: [geliştirici belgeleri](https://www.gyrohosting.com/developers/tr/howto/container-vpc.html).

## 4. VPC sunucusundan servise ulaşmak

Uç nokta `10.10.1.16` ve `api` servisi 8080 portunda yayınlıysa VPC'deki bir sunucudan:

```
curl http://10.10.1.16:8080/saglik
```

İstek servisin iç adresine (`api.<ortam-ad-alanı>.svc.cluster.local:80`) gider ve kopyalar arasında dağıtılır. Uç nokta adresi bir düğüm değişince kendiliğinden diğer düğüme taşınır.

## 5. Güvenlik

- VPC kaynak aralığı yalnız sizin ortamınıza aittir; başka müşterinin ortamı aynı bloğu kullanamaz. Yine de sunucu güvenlik duvarınızda yalnız bu aralığa ve gereken porta izin verin.
- Uç nokta yalnız VPC içinden erişilebilir; internete açmak için VPC kapısında port yönlendirme kullanmayın, servisin kendi HTTPS adresini kullanın.
- VPC kapısındaki port yönlendirmelerini **Kaynak IP'ler** listesiyle kısıtlayabilirsiniz ([VPC kapısı](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-bulut-istanbul-vpc-kapisi-nat)).

## 6. Sık sorulanlar

**Kaynak aralığı neden önemli?** Kapsayıcıların düğümleri değişebilir; tek tek düğüm IP'lerine izin vermek yerine sabit /28'e izin verirsiniz, aralık hiç değişmez.

**Ortamı başka bir subnete taşıyabilir miyim?** Önce bağlantıyı kaldırın, sonra yeni subnete bağlayın. Yeni bağlantı yeni bir aralık alır.

**Subnetim /26'dan küçük, ne yapmalıyım?** VPC'ye en az /26 boyutunda yeni bir subnet ekleyin ve ortamı oraya bağlayın.

**Ücreti var mı?** Hayır. Bağlantı ve VPC içi trafik ücretsizdir; VPC kapısı gerekmez.

**Sunucusuz ortamımı bağlayabilir miyim?** Sunucusuz ortamlar için VPC bağlantısı yakında. Bu sürüm düğümlü ortamlarda çalışır.
