Skip to content
Smarter by Design.Simpler for Business

Traffic Mirroring ​

Traffic Mirroring Aksiyonu Nedir? ​

Traffic Mirroring aksiyonu, bir vService'e gelen ve koşullara uyan HTTP isteklerinin bir kopyasını, seçilen ikinci bir Kurum Servisine (ayna hedefi) bant-dışı (out-of-band) gönderir. Asıl istek her zamanki gibi canlı Kurum Servisine iletilirken, aynı isteğin bir kopyası eş zamanlı olarak ayna hedefine ulaştırılır.

Ayna hedefinden dönen yanıt yok sayılır; istemciye geri gönderilmez ve asıl trafiği hiçbir şekilde etkilemez. Böylece gerçek üretim trafiği, kullanıcı deneyimini bozmadan ikinci bir ortamda (yeni sürüm, test altyapısı, güvenlik analizi servisi vb.) incelenebilir.

Bu aksiyon yalnızca istek (request) aşamasında ve yalnızca HTTP (L7) vService'lerde çalışır.

İstemci → TR7 (vService)
Canlı Yol
Asıl istek → Kurum Servisi
Yanıt → İstemci
Trafik normal şekilde akmaya devam eder.
Ayna Yolu
İstek kopyası ⇢ Ayna Hedefi
Yanıt (yok sayılır)
Bant-dışı kopya; canlı trafiği geciktirmez.

Traffic Mirroring Neden Gereklidir? ​

Yeni bir uygulama sürümünü, altyapıyı veya güvenlik aracını devreye almadan önce onu gerçek trafikle denemek gerekir. Sentetik (yapay) test trafiği çoğu zaman üretim ortamının karmaşıklığını, uç durumlarını ve gerçek istek dağılımını yansıtmaz.

Traffic Mirroring, üretim trafiğinin birebir kopyasını ikinci bir ortama taşıyarak bu sorunu çözer. Asıl kullanıcılar etkilenmeden, gerçek istekler üzerinde test, doğrulama ve analiz yapılabilir:

İhtiyaçAynalama ile karşılığı
Yeni sürümü gerçek trafikle sınamakİstek kopyaları yeni sürüme gönderilir; kullanıcı hiç etkilenmez
Güvenlik/analiz aracını beslemekTrafik kopyası bir inceleme servisine akıtılır
Yeni altyapıyı kapasite için ölçmekTrafiğin bir yüzdesi yeni ortama örneklenerek yük altında gözlemlenir
Sorun ayıklamakBelirli koşula uyan istekler bir hata-ayıklama ortamına kopyalanır

Traffic Mirroring Aksiyonunun Önemi ​

Traffic Mirroring, risksiz doğrulama ve gözlemlenebilirlik açısından kritik bir araçtır.

Traffic Mirroring aksiyonu;

  • Üretim trafiğini kullanıcıya dokunmadan ikinci bir ortamda kullanılabilir kılar,
  • Yeni sürüm ve altyapıların gerçek trafikle test edilmesini sağlar (shadow testing),
  • Güvenlik analizi ve denetim araçlarına canlı trafik kopyası sunar,
  • Örnekleme (sampling) ile yalnızca trafiğin bir kısmının kopyalanmasına imkân verir,
  • Canlı trafiği ayna hedefinin sağlığından ve yavaşlığından yalıtır.

Bu nedenle Traffic Mirroring aksiyonu, üretim ortamını riske atmadan yenilikleri gerçek koşullarda doğrulamak için güçlü bir yöntemdir.

Kullanılabildiği vService Tipleri ​

HTTP
L7 TCP
Network

Çalışma Anı ​

İstek Anı (On Request)
Cevap Anı (On Response)

Traffic Mirroring yalnızca istek anında çalışır; kopya, istek Kurum Servisine iletilirken oluşturulur. Bu nedenle aksiyonda ayrıca bir Execution Level seçimi bulunmaz.

Nasıl Eklenir? ​

Yeni bir Traffic Mirroring Aksiyonu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:

  1. Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
  2. Load Balancer → Actions → Add adımları takip edilir.
  3. Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
  4. Action Type olarak Traffic Mirroring seçilir.
  5. Ayna hedefi ve ilgili konfigürasyonlar yapılandırılır.
  6. Conditions sekmesinden aksiyonun hangi koşul/koşullarda devreye gireceği belirlenir.
  7. Add butonuna tıklanarak aksiyon eklenir.

Ön koşul: Ayna hedefi

Ayna hedefi olarak seçilecek Kurum Servisinin (Backend Service) önceden tanımlanmış olması gerekir. Ayna hedefine ait SSL, SNI ve bağlantı ayarları, o Kurum Servisinin kendi yapılandırmasından alınır; aksiyonda ayrıca tanımlanmaz.

Traffic Mirroring Aksiyonu Ekleme Formu ​

Traffic Mirroring Aksiyonu Ekleme FormuTraffic Mirroring Aksiyonu Ekleme Formu

INFO

Action Name ​

Oluşturulacak olan aksiyona benzersiz ve açıklayıcı bir isim girilir.

INFO

Action Type ​

Aksiyon tipi olarak Traffic Mirroring seçilir.

INFO

Mirror Target Service Zorunlu ​

Aynalanan istek kopyalarının gönderileceği hedef Kurum Servisini belirler. Önceden tanımlanmış Backend Service listesinden seçilir ve bu alan zorunludur.

Seçilen Kurum Servisinin adres, port, SSL ve SNI ayarları doğrudan devralınır; ayna trafiği bu hedefin kendi yapılandırmasıyla iletilir.

WARNING

Ayna hedefi, canlı trafiği taşıyan Kurum Servisinden ayrı bir ortam olmalıdır. Aynalanan istekler gerçek isteklerdir; aynı üretim veritabanına yazan bir hedefe kopya gönderilmesi çift işlem (mükerrer kayıt, çift e-posta vb.) oluşturabilir.

INFO

Maximum Body Size (KB) Varsayılan: 256 ​

Aynalanacak isteğin en büyük gövde (body) boyutunu KB cinsinden belirler. Tam sayı olarak 1–32768 aralığında girilir (varsayılan 256).

Bu boyuttan daha büyük gövdeye sahip istekler aynalanmaz; yalnızca sınır içindeki istekler kopyalanır. Büyük yüklemelerin ayna hedefini ve ağı gereksiz yormasını önler.

INFO

Shadow Response Timeout Varsayılan: 2 saniye ​

Ayna hedefinin yanıtı için beklenecek süreyi belirler. 1s–1m aralığında girilir (varsayılan 2s).

Ayna yanıtı yok sayıldığından bu süre, kopyanın kaynakları serbest bırakmadan önce ne kadar bekleyeceğini sınırlar; ayna hedefinin yavaşlığının kaynak biriktirmesini önler.

INFO

Concurrent Copy Limit Varsayılan: 500 ​

Aynı anda işlenebilecek en fazla ayna kopyası sayısını belirler. Tam sayı olarak 1–65535 aralığında girilir (varsayılan 500).

Bu sınır, ayna hedefi yavaşladığında veya ani trafik yükseldiğinde açık kopya sayısını sınırlayarak canlı trafiğin yalıtımını korur.

INFO

Add X-Forwarded-For Header Varsayılan: Kapalı ​

Etkinleştirildiğinde, aynalanan kopyaya X-Forwarded-For başlığı eklenir; böylece ayna hedefi, isteğin gerçek istemci IP adresini görebilir (varsayılan kapalı).

INFO

Headers Removed from the Copy ​

Aynalanan kopyadan çıkarılacak HTTP başlıklarını belirler. Güvenlik ve gizlilik amacıyla hassas başlıkların ayna hedefine gönderilmesini önler.

Varsayılan olarak Authorization, Cookie ve Set-Cookie başlıkları çıkarılır. En fazla 16 başlık tanımlanabilir.

INFO

Sampling ​

Aynalamanın örnekleme ile mi yoksa tam kapsamlı mı yapılacağını belirler.

  • Kapalı (varsayılan) → Koşula uyan her istek aynalanır.
  • Açık → Koşula uyan isteklerin yalnızca belirlenen yüzdesi aynalanır.

Yüksek trafikli ortamlarda ayna hedefini ve ağ kaynaklarını korumak için örnekleme açılabilir. Örnekleme açıldığında aşağıdaki iki alt alan görünür hâle gelir.

Sampling Percentage (%) ​

Kopyalanacak istek yüzdesini belirler. Tam sayı olarak 0–100 aralığında girilir (varsayılan 10).

  • 10 → Koşula uyan isteklerin yaklaşık %10'u aynalanır.
  • 100 → Koşula uyan tüm istekler aynalanır (örneklemesiz ile aynı etki).
  • 0 → Aynalama duraklatılır; aksiyon ve yapılandırması silinmeden geçici olarak devre dışı kalır.
Sampling Key ​

Örnekleme kararının nasıl verileceğini belirler.

  • Random (varsayılan / boş) → Her istek için karar bağımsız verilir; kopyalanacak istekler rastgele seçilir.
  • Keyed (anahtar seçildiğinde) → Seçilen anahtar değerinin (ör. istemci IP adresi) aynısı her zaman aynı kararı alır. Böylece belirli bir istemci alt kümesinin tüm oturumları bütün olarak aynalanır veya hiç aynalanmaz.

Bu alan bir akıllı değişken (Smart Variable) ile doldurulabilir.

Smart Variables

Alanın solundaki buton Random ve Keyed konumları arasında geçiş yapar. Keyed konumuna alındığında alan otomatik olarak İstemci IP adresi değişkeniyle dolar; değişken çipine tıklandığında akıllı değişken seçim penceresi açılır; anahtar, istemci IP adresi gibi isteğe ait dinamik bir değerden türetilebilir. Detaylı bilgi Variables sayfasında yer alır.

INFO

Tek bir kaynaktan test yapılırken keyed örnekleme ya hep ya hiç davranır: aynı anahtar değeri sabit olduğundan ya tüm istekler aynalanır ya da hiçbiri.

INFO

Conditions ​

Bu alanda, ilgili aksiyonun hangi koşul veya koşullar sağlandığında devreye gireceği tanımlanır.

Bir veya birden fazla koşul eklenerek, and/or yapısı ile davranışın hedefli ve kontrollü şekilde uygulanması sağlanabilir.

Koşullar hakkında detaylı bilgi Conditions sayfasında yer alır.

WARNING

Bu alanda herhangi bir koşul tanımlanmazsa, ilgili aksiyon koşulsuz (Always) olarak çalışır. Bu durumda aynalama, ilgili vService'e gelen tüm trafiğe uygulanır ve her isteğin bir kopyası üretilir.

INFO

Form Butonları ​

Add ​

Add butonuna tıklanarak aksiyon ekleme işlemi tamamlanır.

Add & Repeat ​

Add & Repeat butonu ile aksiyon ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir aksiyon daha eklenebilir.

Aksiyon EklendiAksiyon Eklendi

Aynı vService'te en fazla 8 aynalama

Bir vService'e en fazla 8 adet Traffic Mirroring aksiyonu eklenebilir. Böylece aynı trafik, farklı koşullarla birden çok ayna hedefine kopyalanabilir.

Kopyalanan gövde temizlenmez

Headers removed from the copy alanı yalnızca başlıkları kopyadan çıkarır. İstek gövdesi olduğu gibi ayna hedefine gönderilir; form alanlarındaki veya JSON içeriğindeki kimlik bilgileri, kişisel veriler ve ödeme bilgileri kopyada yer alır.

Ayna hedefi bu nedenle güvenilir bir ortamda konumlandırılmalı ve erişimi kısıtlanmalıdır. Set-Cookie bir yanıt başlığı olduğundan varsayılan listedeki bu girdi istek kopyasında karşılık bulmaz.

Koşul her zaman uygulanamayabilir

Aksiyona tanımlanan koşul, aynalama hedefinin bağlamında değerlendirilemiyorsa yapılandırmaya yazılamaz ve aksiyon tüm trafiği aynalamaya başlar. Aynalama devreye alındıktan sonra, yalnızca hedeflenen isteklerin kopyalandığı Traffic Mirroring istatistik ekranından doğrulanmalıdır.

INFO

Aynalamanın İzlenmesi ​

vService panosundaki Traffic Mirroring sekmesinde kopya akışı, düşürülen kopyalar ve uçuştaki kopya sayısı izlenir. Canlı istatistik ekranında her aynalama tanımı için örnekleme yüzdesi, uçuştaki kopya sayısı ve saniyelik aynalanan/atlanan/düşürülen kopya değerleri görüntülenir.

Ayna hedefi yavaşladığında veya erişilemez olduğunda kopyalar düşürülür; canlı trafik etkilenmez ancak düşen kopya sayısı bu ekranlardan takip edilmelidir.

Hedef servis somut adres taşımalıdır

Ayna hedefi olarak seçilen Kurum Servisi kendi IP ve port bilgisine sahip olmalıdır. Karşılama portunu kullanacak biçimde tanımlanmış bir servis seçilirse aksiyon hiç devreye alınmaz ve uyarı verilmez.

Operasyonel ve Güvenli Kullanım Önerileri ​

  • Ayrı bir ayna hedefi kullanılır. Ayna hedefi, canlı üretim verisine yazan bir ortam olmamalıdır; aksi hâlde kopyalanan istekler mükerrer işlem (çift kayıt, çift ödeme/e-posta) oluşturur.
  • Hassas başlıklar çıkarılır. Kimlik ve oturum bilgisi taşıyan Authorization, Cookie, Set-Cookie gibi başlıklar varsayılan olarak çıkarılır; ayna hedefinin güvenilirliği tam değilse liste genişletilir.
  • Yüksek trafikte örnekleme açılır. Tüm trafiğin aynalanması ayna hedefini ve ağı yorar; gerçek dağılımın korunması için önce düşük bir yüzdeyle (ör. %5–%10) başlanır.
  • Oturum tutarlılığı için keyed örnekleme seçilir. Bir kullanıcının tüm oturumunun ya tamamen aynalanması ya da hiç aynalanmaması gerekiyorsa örnekleme anahtarı istemci IP adresine bağlanır.
  • Koşullarla hedeflenir. Yalnızca ilgilenilen trafik (belirli path, yöntem ya da istemci grubu) aynalanarak kopya sayısı ve ayna hedefi yükü azaltılır.
  • Gövde boyutu sınırlı tutulur. Büyük dosya yüklemelerinin aynalanması gerekmiyorsa Maximum Body Size değeri düşük tutularak ağ ve hedef yükü azaltılır.

Canlı Ortamlarda Yaygın Kullanım Senaryoları ​

Aşağıdaki örnekler, ilgili aksiyonun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.

Senaryo 1: Yeni Sürümü Gerçek Trafikle Test Etme (Shadow Testing) ​

Problem: Bir web uygulamasının yeni sürümü yayına alınmadan önce gerçek trafik altında doğrulanmak isteniyor. Sentetik test istekleri, üretimdeki gerçek istek çeşitliliğini ve uç durumları yakalayamıyor; sürümü doğrudan canlıya almak ise risk taşıyor.

Çözüm: Üretim trafiğinin kopyası, yeni sürümün çalıştığı ayrı bir Kurum Servisine aynalanır. Kullanıcılar hâlâ mevcut sürümden yanıt alırken, yeni sürüm aynı gerçek isteklerle sessizce sınanır.

Konfigürasyon:

  • Mirror Target Service: yeni-surum-backend (staging)
  • Sampling: Kapalı (tüm trafik)
  • Conditions:
    • Koşulsuz (uygulamanın tüm trafiği aynalanır)

Sonuç:

  • ✅ Risksiz doğrulama → Yeni sürüm gerçek trafikle test edilir, kullanıcı etkilenmez.
  • ✅ Gerçek istek dağılımı → Sentetik testte kaçan uç durumlar yakalanır.
  • ✅ Yalıtım → Yeni sürüm yavaşlasa veya hata verse bile canlı yanıtlar etkilenmez.
  • ✅ Erken tespit → Sürüm hataları yayına almadan önce görülür.

Senaryo 2: Güvenlik Analiz Servisine Trafik Kopyası ​

Problem: Gelen trafiğin, üretim akışını yavaşlatmadan bir güvenlik analiz/denetim servisi (IDS, sandbox, log analizi) tarafından incelenmesi gerekiyor. Analiz aracını canlı yola eklemek gecikme ve tek hata noktası riski oluşturuyor.

Çözüm: Belirli API yollarına gelen isteklerin kopyası güvenlik analiz servisine aynalanır. Kimlik ve oturum başlıkları kopyadan çıkarılarak hassas veri analiz ortamına taşınmaz.

Konfigürasyon:

  • Mirror Target Service: guvenlik-analiz-servisi
  • Headers Removed from the Copy: Authorization, Cookie, Set-Cookie
  • Conditions:
    • Path /api/ ile başlar

Sonuç:

  • ✅ Bant-dışı analiz → Güvenlik incelemesi canlı yanıtı geciktirmez.
  • ✅ Gizlilik → Hassas başlıklar analiz ortamına gönderilmez.
  • ✅ Hedefli inceleme → Yalnızca ilgili API trafiği kopyalanır.
  • ✅ Risk yalıtımı → Analiz servisi çökse dahi üretim etkilenmez.

Senaryo 3: Yeni Altyapıyı Örnekleme ile Kapasite Ölçme ​

Problem: Yeni bir altyapı/veri merkezi devreye alınmadan önce gerçek trafik altında kapasitesi ölçülmek isteniyor. Tüm trafiği aynalamak yeni ortamı gereksiz yorabileceği gibi, tutarlı sonuç için aynı kullanıcıların oturumları bütün hâlde gözlemlenmelidir.

Çözüm: Trafiğin %20'si, istemci IP adresine göre anahtarlanarak yeni altyapıya aynalanır. Böylece seçilen istemcilerin tüm oturumları tutarlı biçimde yeni ortama düşer.

Konfigürasyon:

  • Mirror Target Service: yeni-altyapi-backend
  • Sampling: Açık
  • Sampling Percentage (%): 20
  • Sampling Key: Keyed konumu: İstemci IP adresi değişkeni
  • Conditions:
    • Koşulsuz

Sonuç:

  • ✅ Kontrollü yük → Trafiğin yalnızca %20'si yeni ortama düşer.
  • ✅ Tutarlı oturumlar → Aynı istemci hep aynı kararı alır, oturum bütünlüğü korunur.
  • ✅ Gerçekçi ölçüm → Kapasite, gerçek trafik dağılımıyla değerlendirilir.
  • ✅ Güvenli geçiş → Yeni altyapı, canlıya alınmadan önce doğrulanır.