GCP Cloud Interconnect Yapılandırması: Adım Adım Rehber

Şirketin kritik iş yüklerini Google Cloud’a taşımaya karar verdiniz ve artık internet üzerinden giden trafiğin getirdiği gecikme, güvenlik açıkları ve bant genişliği tutarsızlıklarından bıktınız. İşte tam bu noktada Cloud Interconnect devreye giriyor. Veri merkeziniz ile GCP arasında özel, yüksek bant genişlikli ve düşük gecikmeli bir bağlantı kurmanın en sağlam yolu bu. Bu yazıda, Cloud Interconnect’i sıfırdan yapılandırmayı, tuzaklardan kaçınmayı ve production ortamında güvenli bir şekilde çalıştırmayı ele alacağız.

Cloud Interconnect Nedir ve Ne Zaman Kullanmalısınız?

Cloud Interconnect, on-premise altyapınızı Google’ın ağ omurgasına doğrudan bağlamanın yoludur. İki ana türü var:

  • Dedicated Interconnect: Doğrudan Google kolokasyon tesislerine fiziksel bağlantı. 10 Gbps veya 100 Gbps devreler şeklinde gelir.
  • Partner Interconnect: Servis sağlayıcı üzerinden bağlantı. 50 Mbps ile 50 Gbps arasında esnek seçenekler sunar. Doğrudan Google kolokasyonuna erişiminiz yoksa bu tercih edilir.

Hangi senaryolarda kesinlikle kullanmalısınız?

  • Veritabanı replikasyonu, büyük veri transferleri veya gerçek zamanlı analitik gibi yüksek hacimli işlemler yapıyorsanız
  • Finansal, sağlık veya savunma gibi sektörlerde compliance gereksinimleri internet trafiğini kısıtlıyorsa
  • 5ms altı gecikme gerektiren uygulamalar çalıştırıyorsanız
  • Aylık veri transferiniz terabaytları buluyorsa ve egress maliyetleri bütçenizi yakıyorsa

Dedicated Interconnect kullanırken Google’ın kolokasyon tesislerinden birine fiziksel olarak bağlanmanız gerekiyor. Partner Interconnect’te ise AT&T, Equinix, Tata Communications gibi onaylı iş ortakları üzerinden gidiyorsunuz.

Ön Hazırlık ve Gereksinimler

Başlamadan önce birkaç şeyi netleştirmeniz gerekiyor. Öncelikle GCP projenizde doğru izinlere sahip olduğunuzdan emin olun:

# Gerekli rolleri kontrol et
gcloud projects get-iam-policy YOUR_PROJECT_ID 
  --flatten="bindings[].members" 
  --format="table(bindings.role)" 
  --filter="bindings.members:user:[email protected]"

# Compute Network Admin rolü ekle
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID 
  --member="user:[email protected]" 
  --role="roles/compute.networkAdmin"

Network topology planlaması kritik öneme sahip. RFC 1918 adres uzayınızı GCP VPC subnet’lerinizle çakıştırmamak için önce mevcut IP planınızı gözden geçirin. On-premise tarafında BGP konuşacak bir router’ınız olması şart. Cisco, Juniper veya Arista ekipmanlarının hepsi destekleniyor, ancak BGP AS numaranızı önceden belirlemeniz gerekiyor.

Dedicated Interconnect Yapılandırması

Adım 1: VLAN Attachment Oluşturma

İlk olarak bir Cloud Router oluşturmanız gerekiyor. Bu router, BGP oturumunu yönetecek.

# Cloud Router oluştur
gcloud compute routers create corp-interconnect-router 
  --network=production-vpc 
  --region=europe-west1 
  --asn=65001 
  --advertisement-mode=custom 
  --set-advertisement-groups=ALL_SUBNETS

# Router'ı doğrula
gcloud compute routers describe corp-interconnect-router 
  --region=europe-west1

Şimdi Interconnect bağlantısını oluşturalım. Bu adımda Google, size bir LOA-CFA (Letter of Authorization and Connecting Facility Assignment) belgesi verecek. Bu belgeyi kolokasyon tesisine göndererek fiziksel kablolamayı başlatırsınız.

# Dedicated Interconnect bağlantısı oluştur
gcloud compute interconnects create corp-dedicated-ic-1 
  --location=ams-port4 
  --link-type=LINK_TYPE_ETHERNET_10G_LR 
  --requested-link-count=2 
  [email protected] 
  --description="Production Interconnect - Amsterdam"

# LOA belgesini indir
gcloud compute interconnects get-diagnostics corp-dedicated-ic-1

Adım 2: VLAN Attachment Yapılandırması

Fiziksel bağlantı kurulduktan sonra VLAN attachment oluşturmanız gerekiyor. Bu, mantıksal bağlantı noktanız.

# VLAN attachment oluştur
gcloud compute interconnects attachments dedicated create 
  corp-vlan-attachment-1 
  --region=europe-west1 
  --router=corp-interconnect-router 
  --interconnect=corp-dedicated-ic-1 
  --vlan=100 
  --bandwidth=BPS_10G 
  --description="Primary VLAN Attachment"

# İkinci attachment (redundancy için)
gcloud compute interconnects attachments dedicated create 
  corp-vlan-attachment-2 
  --region=europe-west1 
  --router=corp-interconnect-router 
  --interconnect=corp-dedicated-ic-2 
  --vlan=200 
  --bandwidth=BPS_10G 
  --description="Secondary VLAN Attachment"

# Attachment durumunu kontrol et
gcloud compute interconnects attachments describe 
  corp-vlan-attachment-1 
  --region=europe-west1

Adım 3: BGP Oturumu Yapılandırması

VLAN attachment oluşturduktan sonra GCP size bir BGP peer IP adresi ve bir interface IP adresi atayacak. Bunları Cloud Router’a eklemeniz gerekiyor:

# BGP interface ekle
gcloud compute routers add-interface corp-interconnect-router 
  --interface-name=corp-ic-interface-1 
  --ip-address=169.254.0.1 
  --mask-length=29 
  --interconnect-attachment=corp-vlan-attachment-1 
  --region=europe-west1

# BGP peer ekle
gcloud compute routers add-bgp-peer corp-interconnect-router 
  --peer-name=corp-ic-bgp-peer-1 
  --interface=corp-ic-interface-1 
  --peer-ip-address=169.254.0.2 
  --peer-asn=65002 
  --region=europe-west1 
  --advertised-route-priority=100

On-premise router tarafında ise Cisco IOS örneği şöyle görünür:

# On-premise Cisco router BGP yapılandırması (referans)
# interface GigabitEthernet0/1.100
#   encapsulation dot1Q 100
#   ip address 169.254.0.2 255.255.255.248
# !
# router bgp 65002
#   neighbor 169.254.0.1 remote-as 65001
#   neighbor 169.254.0.1 description GCP-Cloud-Router
#   neighbor 169.254.0.1 soft-reconfiguration inbound
#   address-family ipv4
#     neighbor 169.254.0.1 activate
#     network 10.0.0.0 mask 255.255.0.0

Partner Interconnect Yapılandırması

Partner Interconnect biraz farklı çalışıyor. İş ortağınız (örneğin Equinix) önce kendi tarafında yapılandırma yapıyor, size bir pairing key veriyor, sonra siz GCP tarafında bunu kullanıyorsunuz.

# Partner VLAN attachment oluştur (pairing key alınmadan önce)
gcloud compute interconnects attachments partner create 
  corp-partner-attachment-1 
  --region=europe-west1 
  --router=corp-interconnect-router 
  --description="Equinix Partner Interconnect"

# Pairing key'i al
gcloud compute interconnects attachments describe 
  corp-partner-attachment-1 
  --region=europe-west1 
  --format="get(pairingKey)"

İş ortağınız bu pairing key’i kullanarak kendi tarafında yapılandırmayı tamamladıktan sonra attachment’ı aktive etmeniz gerekiyor:

# Partner tarafı hazır olduktan sonra aktive et
gcloud compute interconnects attachments partner update 
  corp-partner-attachment-1 
  --region=europe-west1 
  --admin-enabled

# Durumu izle
watch -n 10 'gcloud compute interconnects attachments describe 
  corp-partner-attachment-1 
  --region=europe-west1 
  --format="get(state,operationalStatus)"'

Güvenlik Yapılandırması ve MACsec

Production ortamında güvenliği ciddiye almanız gerekiyor. Dedicated Interconnect, 100G devrelerde MACsec (Media Access Control Security) desteği sunuyor. Bu, Layer 2 seviyesinde şifreleme demek.

# MACsec özellikli interconnect oluştur
gcloud compute interconnects create corp-macsec-ic-1 
  --location=ams-port4 
  --link-type=LINK_TYPE_ETHERNET_100G_LR 
  --requested-link-count=2 
  [email protected] 
  --macsec-enabled

# MACsec pre-shared key oluştur
gcloud compute interconnects macsec add-key corp-macsec-ic-1 
  --key-name=primary-key 
  --start-time="2024-01-01T00:00:00Z"

Firewall kurallarını da doğru yapılandırın. Interconnect trafiği VPC’nizden geçeceği için firewall policy’lerinizi güncellemeniz şart:

# On-premise subnet'lerinden gelen trafiğe izin ver
gcloud compute firewall-rules create allow-onprem-to-gcp 
  --network=production-vpc 
  --action=ALLOW 
  --direction=INGRESS 
  --source-ranges=10.0.0.0/16 
  --rules=tcp:0-65535,udp:0-65535,icmp 
  --priority=1000 
  --description="Allow traffic from on-premise via Interconnect"

# GCP'den on-premise'e egress kuralı
gcloud compute firewall-rules create allow-gcp-to-onprem 
  --network=production-vpc 
  --action=ALLOW 
  --direction=EGRESS 
  --destination-ranges=10.0.0.0/16 
  --rules=tcp:0-65535,udp:0-65535,icmp 
  --priority=1000

Yüksek Erişilebilirlik ve Redundancy

Production ortamında tek devre kullanmak intihar. Google’ın SLA garantisi alabilmek için minimum iki farklı fiziksel devreye ihtiyacınız var. Gerçek enterprise senaryolarında ise iki farklı metro’dan (şehir) bağlantı kurulur.

99.9% SLA için gereken konfigürasyon:

  • İki VLAN attachment, aynı metro
  • İki farklı fiziksel cihaz

99.99% SLA için gereken konfigürasyon:

  • Dört VLAN attachment
  • İki farklı metro
  • Her metrodan iki ayrı devre
# İkinci bölge için Cloud Router
gcloud compute routers create corp-interconnect-router-secondary 
  --network=production-vpc 
  --region=europe-west4 
  --asn=65001

# İkinci lokasyon için interconnect
gcloud compute interconnects create corp-dedicated-ic-secondary 
  --location=equ-lon2 
  --link-type=LINK_TYPE_ETHERNET_10G_LR 
  --requested-link-count=2 
  [email protected] 
  --description="Secondary Interconnect - London"

# Failover için BGP priority ayarla (daha yüksek = daha az tercih edilir)
gcloud compute routers add-bgp-peer corp-interconnect-router-secondary 
  --peer-name=corp-ic-bgp-peer-secondary 
  --interface=corp-ic-interface-secondary 
  --peer-ip-address=169.254.1.2 
  --peer-asn=65002 
  --region=europe-west4 
  --advertised-route-priority=200

Monitoring ve Alerting

Bağlantıyı kurduktan sonra onu izlemek en az kurmak kadar önemli. Cloud Monitoring ile kapsamlı alert’ler oluşturun:

# Interconnect utilization alert politikası oluştur
gcloud alpha monitoring policies create 
  --notification-channels="projects/YOUR_PROJECT/notificationChannels/CHANNEL_ID" 
  --display-name="Interconnect High Utilization" 
  --condition-display-name="Utilization > 80%" 
  --condition-filter='resource.type="interconnect" AND metric.type="interconnect.googleapis.com/network/attachment/sent_bytes_count"' 
  --condition-threshold-value=8000000000 
  --condition-threshold-duration=300s 
  --condition-comparison=COMPARISON_GT

# BGP session durumunu kontrol et
gcloud compute routers get-status corp-interconnect-router 
  --region=europe-west1 
  --format="json" | jq '.result.bgpPeerStatus[] | {name: .name, status: .status, ipAddress: .ipAddress}'

Gerçek zamanlı bant genişliği kullanımını izlemek için şu scripti bir cron job olarak çalıştırabilirsiniz:

#!/bin/bash
# interconnect-monitor.sh

PROJECT_ID="your-project-id"
ATTACHMENT="corp-vlan-attachment-1"
REGION="europe-west1"
THRESHOLD_PERCENT=80
SLACK_WEBHOOK="https://hooks.slack.com/services/xxx/yyy/zzz"

# Anlık kullanım verisini çek
UTILIZATION=$(gcloud monitoring read 
  'metric.type="interconnect.googleapis.com/network/attachment/sent_bytes_count" AND resource.labels.attachment="'$ATTACHMENT'"' 
  --project=$PROJECT_ID 
  --format="value(points[0].value.int64Value)" 2>/dev/null)

# 10G devre için max = 10,000,000,000 bytes/sec
MAX_BPS=10000000000
CURRENT_PERCENT=$(echo "scale=2; $UTILIZATION * 100 / $MAX_BPS" | bc)

echo "$(date): Interconnect utilization: $CURRENT_PERCENT%"

if (( $(echo "$CURRENT_PERCENT > $THRESHOLD_PERCENT" | bc -l) )); then
  curl -s -X POST -H 'Content-type: application/json' 
    --data "{"text":"UYARI: Interconnect kullanimi %$CURRENT_PERCENT - Esik deger: %$THRESHOLD_PERCENT"}" 
    $SLACK_WEBHOOK
fi

Yaygın Sorunlar ve Troubleshooting

BGP Oturumu Kurulmuyor

En sık karşılaşılan sorun BGP oturumunun kurulamamasıdır. Kontrol listesi:

  • VLAN ID’lerin her iki tarafta eşleşip eşleşmediğini doğrulayın
  • 169.254.x.x link-local adreslerinin doğru yapılandırıldığını kontrol edin
  • On-premise router’da AS numarasının doğru girildiğinden emin olun
  • MTU değerlerini kontrol edin. GCP tarafı 1440 byte MTU kullanır
# BGP oturum detaylarını gör
gcloud compute routers get-status corp-interconnect-router 
  --region=europe-west1 
  --format="json" | jq '.result.bgpPeerStatus'

# Attachment operasyonel durumunu kontrol et
gcloud compute interconnects attachments describe 
  corp-vlan-attachment-1 
  --region=europe-west1 
  --format="table(name,state,operationalStatus,bandwidth)"

Asimetrik Rota Sorunları

Bazen trafik bir yoldan gidip başka bir yoldan dönebilir. Bu, stateful firewall’larda ciddi sorunlara yol açar. BGP route advertisement’larınızı her iki tarafta da simetrik tutun:

# Custom route advertisement ekle
gcloud compute routers update-bgp-peer corp-interconnect-router 
  --peer-name=corp-ic-bgp-peer-1 
  --region=europe-west1 
  --advertisement-mode=custom 
  --set-advertisement-ranges=10.100.0.0/16,10.200.0.0/16

# Mevcut advertised route'ları listele
gcloud compute routers describe corp-interconnect-router 
  --region=europe-west1 
  --format="json" | jq '.bgpPeers[].advertisedIpRanges'

Maliyet Optimizasyonu

Cloud Interconnect ucuz değil. Dedicated 10G devre aylık birkaç bin dolar civarında. Ama egress maliyetleriyle kıyasladığınızda büyük hacimli işler için genellikle karlı çıkıyor.

Maliyet optimizasyonu için şunlara dikkat edin:

  • Kapasite planlaması: Gerçekten 10G mı lazım yoksa Partner Interconnect ile 1G yeterli mi olur? Önce trafik profilinizi analiz edin.
  • VLAN multiplexing: Tek bir fiziksel devre üzerinde birden fazla VLAN attachment çalıştırabilirsiniz. Farklı departmanlar veya projeleri mantıksal olarak ayırabilirsiniz.
  • Bölge seçimi: Interconnect devrenizin GCP region’ınıza yakın olduğundan emin olun. Cross-region trafik ek maliyet yaratır.
  • Committed use: Uzun vadeli kullanım için Google ile fiyat görüşmesi yapın. Büyük commitmentlarda önemli indirimler mümkün.
# Mevcut interconnect maliyetlerini raporla
gcloud billing budgets create 
  --billing-account=BILLING_ACCOUNT_ID 
  --display-name="Interconnect Monthly Budget" 
  --budget-amount=5000USD 
  --threshold-rule=percent=90 
  --threshold-rule=percent=100 
  --filter-services=services/interconnect

Terraform ile Infrastructure as Code

Production ortamında gcloud komutlarıyla manuel yapılandırma yapmak sürdürülebilir değil. Tüm bu yapıyı Terraform ile kodlayın:

# main.tf - Temel yapı
# terraform init ve apply öncesi provider yapılandırması

cat << 'EOF' > interconnect.tf
resource "google_compute_router" "interconnect_router" {
  name    = "corp-interconnect-router"
  network = google_compute_network.production_vpc.id
  region  = "europe-west1"

  bgp {
    asn               = 65001
    advertise_mode    = "CUSTOM"
    advertised_groups = ["ALL_SUBNETS"]
  }
}

resource "google_compute_interconnect_attachment" "primary" {
  name                     = "corp-vlan-attachment-primary"
  region                   = "europe-west1"
  type                     = "DEDICATED"
  interconnect             = google_compute_interconnect.primary.id
  router                   = google_compute_router.interconnect_router.id
  bandwidth                = "BPS_10G"
  vlan_tag8021q            = 100
  admin_enabled            = true
  
  timeouts {
    create = "30m"
    update = "30m"
    delete = "30m"
  }
}
EOF

terraform init
terraform plan -out=interconnect.plan
terraform apply interconnect.plan

Sonuç

Cloud Interconnect yapılandırması, dikkat gerektiren bir süreç. Fiziksel bağlantıdan BGP oturumuna, güvenlikten monitoring’e kadar her katmanı doğru yapılandırmanız gerekiyor. Ancak bir kez doğru kurulduğunda, on-premise ile GCP arasında son derece güvenilir, hızlı ve ölçeklenebilir bir bağlantı elde ediyorsunuz.

Özetlemek gerekirse en kritik noktalara tekrar değinelim: Mutlaka redundant devre kurun, BGP oturumlarınızı monitoring ile izleyin, MACsec’i değerlendirin ve tüm yapıyı Terraform ile kodlayın. Manuel yapılandırma sadece ilk kurulum için kabul edilebilir.

Partner Interconnect ile başlayıp ihtiyaç artıkça Dedicated’a geçmek de geçerli bir strateji. Her iki durumda da Cloud Router ve BGP konfigürasyonu temelde aynı, sadece fiziksel katman değişiyor.

Son olarak, bu yapıyı production’a almadan önce mutlaka bir test ortamında deneyin. Birkaç saat harcayıp konfigürasyonu doğrulamak, üretim ortamında saatler süren kesintilerden çok daha değerli.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir