{"id":43130,"date":"2026-07-06T21:04:56","date_gmt":"2026-07-06T18:04:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/"},"modified":"2026-07-06T21:05:32","modified_gmt":"2026-07-06T18:05:32","slug":"kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/","title":{"rendered":"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim"},"content":{"rendered":"<h2>Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim<\/h2>\n<p>Modern da\u011f\u0131t\u0131k sistemlerde veri ak\u0131\u015f\u0131, operasyonlar\u0131n kalbinde yer al\u0131r. Peki, farkl\u0131 bulut a\u011flar\u0131 aras\u0131nda yer alan Kafka k\u00fcmenize g\u00fcvenli, d\u00fc\u015f\u00fck gecikmeli ve y\u00fcksek performansl\u0131 bir \u015fekilde nas\u0131l eri\u015firsiniz? Bu makale, Apache Kafka&#8217;n\u0131n karma\u015f\u0131k adresleme mekanizmalar\u0131n\u0131 ve Amazon VPC Peering&#8217;in g\u00fcc\u00fcn\u00fc birle\u015ftirerek, \u00e7oklu bulut a\u011flar\u0131 aras\u0131nda sorunsuz ve g\u00fcvenli ileti\u015fim kurman\u0131n inceliklerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Amac\u0131m\u0131z, ister yeni ba\u015flayan ister deneyimli bir m\u00fchendis olun, bu kritik entegrasyonu ba\u015far\u0131yla hayata ge\u00e7irmek i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm teknik bilgiye ve pratik \u00f6rneklere ula\u015fman\u0131z\u0131 sa\u011flamakt\u0131r.<\/p>\n<h2>Apache Kafka ve VPC Peering: Temel Kavramlara Derin Bir Bak\u0131\u015f<\/h2>\n<p>Da\u011f\u0131t\u0131k sistemlerin karma\u015f\u0131k d\u00fcnyas\u0131nda, g\u00fcvenilir ve verimli veri ak\u0131\u015f\u0131 sa\u011flamak, her organizasyonun \u00f6nceliklerinden biridir. Bu hedefe ula\u015fmada Apache Kafka ve bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n sundu\u011fu sanal a\u011f \u00e7\u00f6z\u00fcmleri, \u00f6zellikle de VPC Peering, kritik bir rol oynar. Bu b\u00f6l\u00fcmde, konuya yabanc\u0131 olan okuyucular\u0131m\u0131z i\u00e7in bu iki temel teknolojinin ne anlama geldi\u011fini, neden bu kadar \u00f6nemli olduklar\u0131n\u0131 ve birbirleriyle nas\u0131l bir ili\u015fki i\u00e7inde olduklar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Bu temel bilgileri edinmek, ilerleyen b\u00f6l\u00fcmlerdeki daha karma\u015f\u0131k entegrasyon senaryolar\u0131n\u0131 anlamak i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<h3>Apache Kafka Nedir ve Neden Da\u011f\u0131t\u0131k Sistemlerin Kalbindedir?<\/h3>\n<p>Apache Kafka, LinkedIn taraf\u0131ndan geli\u015ftirilen ve daha sonra a\u00e7\u0131k kaynak haline getirilen, da\u011f\u0131t\u0131k bir olay ak\u0131\u015f\u0131 platformudur (distributed event streaming platform). Temel olarak, ger\u00e7ek zamanl\u0131 veri ak\u0131\u015flar\u0131n\u0131 y\u00f6netmek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Geleneksel mesaj kuyruklar\u0131ndan farkl\u0131 olarak, Kafka, y\u00fcksek verim (throughput), d\u00fc\u015f\u00fck gecikme (low latency), y\u00fcksek \u00f6l\u00e7eklenebilirlik (scalability) ve kal\u0131c\u0131l\u0131k (durability) \u00f6zellikleriyle \u00f6ne \u00e7\u0131kar. Bu \u00f6zellikleri sayesinde, modern mikroservis mimarileri, ger\u00e7ek zamanl\u0131 analiz sistemleri, olay kaynakl\u0131 mimariler (event sourcing) ve veri entegrasyonu gibi bir\u00e7ok senaryoda vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir.<\/p>\n<p>Kafka&#8217;n\u0131n mimarisi birka\u00e7 temel bile\u015fenden olu\u015fur:<\/p>\n<ul>\n<li><strong>Producers (\u00dcreticiler):<\/strong> Veri (olaylar) \u00fcreten uygulamalard\u0131r. Bu verileri belirli konulara (topics) g\u00f6nderirler. \u00d6rne\u011fin, bir web sitesindeki kullan\u0131c\u0131 etkile\u015fimleri veya IoT cihazlar\u0131ndan gelen sens\u00f6r verileri birer olay olabilir.<\/li>\n<li><strong>Consumers (T\u00fcketiciler):<\/strong> Konulardaki verileri okuyan uygulamalard\u0131r. T\u00fcketiciler, kendilerine atanan b\u00f6l\u00fcmlerden (partitions) veri \u00e7ekerler ve bu verileri i\u015flerler. Bir konunun birden fazla t\u00fcketici grubu taraf\u0131ndan farkl\u0131 ama\u00e7larla i\u015flenmesi m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<li><strong>Brokers (Arac\u0131lar):<\/strong> Kafka k\u00fcmesini olu\u015fturan sunuculard\u0131r. Her broker, belirlenmi\u015f konular\u0131n belirli b\u00f6l\u00fcmlerini (partitions) bar\u0131nd\u0131r\u0131r ve gelen verileri depolar. Broker&#8217;lar, veri kal\u0131c\u0131l\u0131\u011f\u0131 ve hata tolerans\u0131 i\u00e7in verileri disk \u00fczerinde tutar ve replikasyon (replication) mekanizmalar\u0131n\u0131 kullan\u0131r. Bir k\u00fcmede genellikle birden fazla broker bulunur.<\/li>\n<li><strong>Topics (Konular):<\/strong> Verilerin organize edildi\u011fi kategorilerdir. Her konu, mant\u0131ksal olarak ilgili olay ak\u0131\u015flar\u0131n\u0131 temsil eder. Konular, daha fazla \u00f6l\u00e7eklenebilirlik ve paralel i\u015fleme i\u00e7in b\u00f6l\u00fcmlere (partitions) ayr\u0131l\u0131r.<\/li>\n<li><strong>Partitions (B\u00f6l\u00fcmler):<\/strong> Bir konunun fiziksel olarak depoland\u0131\u011f\u0131 ve da\u011f\u0131t\u0131ld\u0131\u011f\u0131 birimlerdir. Her b\u00f6l\u00fcm, s\u0131ral\u0131, de\u011fi\u015ftirilemez bir kay\u0131t dizisidir. B\u00f6l\u00fcmler, Kafka&#8217;n\u0131n y\u00fcksek verimini ve \u00f6l\u00e7eklenebilirli\u011fini sa\u011flayan temel unsurlardan biridir.<\/li>\n<li><strong>ZooKeeper \/ Kraft:<\/strong> Kafka k\u00fcmesinin meta verilerini y\u00f6neten, broker&#8217;lar aras\u0131ndaki koordinasyonu sa\u011flayan ve lider se\u00e7imi gibi g\u00f6revleri \u00fcstlenen bir servistir. Kafka&#8217;n\u0131n yeni s\u00fcr\u00fcmlerinde (2.8 ve sonras\u0131), ZooKeeper ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 ortadan kald\u0131r\u0131larak Kafka Raft (Kraft) protokol\u00fc kullan\u0131lmaya ba\u015flanm\u0131\u015ft\u0131r, bu da Kafka&#8217;n\u0131n kendi i\u00e7inde koordinasyonu sa\u011flamas\u0131na olanak tan\u0131r.<\/li>\n<\/ul>\n<p>Kafka&#8217;n\u0131n bu da\u011f\u0131t\u0131k yap\u0131s\u0131, onu hem g\u00fc\u00e7l\u00fc hem de karma\u015f\u0131k hale getirir. \u00d6zellikle, \u00fcreticilerin ve t\u00fcketicilerin broker&#8217;lara nas\u0131l ba\u011flanaca\u011f\u0131 ve veri ak\u0131\u015f\u0131n\u0131n g\u00fcvenli bir \u015fekilde nas\u0131l sa\u011flanaca\u011f\u0131, sistemin do\u011fru \u00e7al\u0131\u015fmas\u0131 i\u00e7in kritik \u00f6neme sahiptir. \u0130\u015fte bu noktada a\u011f yap\u0131land\u0131rmalar\u0131 ve VPC Peering devreye girer.<\/p>\n<h3>VPC Peering&#8217;i Anlamak: Bulut A\u011flar\u0131n\u0131n G\u00fcvenli Bulu\u015fma Noktas\u0131<\/h3>\n<p>Bulut bili\u015fim ortamlar\u0131nda, \u00f6zellikle Amazon Web Services (AWS) gibi platformlarda, Sanal \u00d6zel Bulut (Virtual Private Cloud &#8211; VPC), kullan\u0131c\u0131lar\u0131n kendi izole edilmi\u015f sanal a\u011flar\u0131n\u0131 olu\u015fturmalar\u0131na olanak tan\u0131yan temel bir servistir. Bir VPC, kendi IP adres aral\u0131\u011f\u0131na, alt a\u011flar\u0131na (subnets), y\u00f6nlendirme tablolar\u0131na (route tables) ve a\u011f ge\u00e7itlerine (internet gateway, NAT gateway) sahip, mant\u0131ksal olarak izole edilmi\u015f bir a\u011f ortam\u0131d\u0131r. Bu izolasyon, kullan\u0131c\u0131lar\u0131n bulut kaynaklar\u0131n\u0131 g\u00fcvenli ve kontrol edilebilir bir \u015fekilde da\u011f\u0131tmalar\u0131n\u0131 sa\u011flar.<\/p>\n<p>Ancak, bir organizasyonun farkl\u0131 departmanlar\u0131, farkl\u0131 projeleri veya hatta farkl\u0131 co\u011frafi b\u00f6lgelerdeki uygulamalar\u0131 genellikle ayr\u0131 VPC&#8217;lerde bar\u0131nd\u0131r\u0131l\u0131r. Bu senaryolarda, bu izole VPC&#8217;ler aras\u0131nda g\u00fcvenli ve d\u00fc\u015f\u00fck gecikmeli bir \u015fekilde ileti\u015fim kurma ihtiyac\u0131 do\u011far. \u0130\u015fte tam bu noktada VPC Peering devreye girer.<\/p>\n<p><strong>VPC Peering Nedir?<\/strong><\/p>\n<p>VPC Peering (VPC E\u015fle\u015ftirme), iki farkl\u0131 VPC aras\u0131nda \u00f6zel bir a\u011f ba\u011flant\u0131s\u0131 kurman\u0131z\u0131 sa\u011flayan bir AWS servisidir. Bu ba\u011flant\u0131 sayesinde, her iki VPC&#8217;deki kaynaklar (\u00f6rne\u011fin, EC2 \u00f6rnekleri, veritabanlar\u0131, Kafka broker&#8217;lar\u0131) birbirleriyle \u00f6zel IP adresleri \u00fczerinden do\u011frudan ileti\u015fim kurabilirler. Bu, trafi\u011fin internet \u00fczerinden ge\u00e7mek zorunda kalmadan, AWS&#8217;nin kendi omurga a\u011f\u0131 (backbone network) \u00fczerinden y\u00f6nlendirildi\u011fi anlam\u0131na gelir. Bu durumun bir\u00e7ok \u00f6nemli avantaj\u0131 vard\u0131r:<\/p>\n<ul>\n<li><strong>G\u00fcvenlik:<\/strong> Trafik internet \u00fczerinden ge\u00e7medi\u011fi i\u00e7in, sald\u0131r\u0131 y\u00fczeyi (attack surface) azal\u0131r ve ileti\u015fim daha g\u00fcvenli hale gelir. G\u00fcvenlik gruplar\u0131 (security groups) ve a\u011f eri\u015fim kontrol listeleri (Network ACLs) ile ileti\u015fim \u00fczerinde detayl\u0131 kontrol sa\u011flanabilir.<\/li>\n<li><strong>D\u00fc\u015f\u00fck Gecikme (Low Latency):<\/strong> Trafik do\u011frudan AWS&#8217;nin i\u00e7 a\u011f\u0131 \u00fczerinden y\u00f6nlendirildi\u011fi i\u00e7in, gecikme s\u00fcreleri minimuma iner. Bu, \u00f6zellikle ger\u00e7ek zamanl\u0131 veri i\u015fleme gerektiren Kafka gibi uygulamalar i\u00e7in hayati \u00f6neme sahiptir.<\/li>\n<li><strong>Y\u00fcksek Bant Geni\u015fli\u011fi (High Bandwidth):<\/strong> AWS&#8217;nin y\u00fcksek kapasiteli a\u011f\u0131 sayesinde, e\u015fle\u015ftirilmi\u015f VPC&#8217;ler aras\u0131nda y\u00fcksek bant geni\u015fli\u011finde veri transferi yap\u0131labilir.<\/li>\n<li><strong>Basitlik ve Y\u00f6netim Kolayl\u0131\u011f\u0131:<\/strong> Karma\u015f\u0131k VPN \u00e7\u00f6z\u00fcmleri veya ek a\u011f cihazlar\u0131 kurmaya gerek kalmadan, birka\u00e7 t\u0131klama ile veya API \u00e7a\u011fr\u0131lar\u0131yla ba\u011flant\u0131 kurulabilir.<\/li>\n<li><strong>Maliyet Etkinli\u011fi:<\/strong> Genellikle internet \u00fczerinden veri transferine k\u0131yasla daha uygun maliyetlidir.<\/li>\n<\/ul>\n<p>VPC Peering ba\u011flant\u0131s\u0131 kurmak i\u00e7in, iki VPC&#8217;nin IP adres aral\u0131klar\u0131n\u0131n \u00e7ak\u0131\u015fmamas\u0131 (overlapping CIDR blocks) gerekir. E\u011fer \u00e7ak\u0131\u015fma varsa, peering ba\u011flant\u0131s\u0131 kurulamaz. Ba\u011flant\u0131 kurulduktan sonra, her iki VPC&#8217;nin y\u00f6nlendirme tablolar\u0131na (route tables), di\u011fer VPC&#8217;nin IP aral\u0131\u011f\u0131na giden trafi\u011fi peering ba\u011flant\u0131s\u0131 \u00fczerinden y\u00f6nlendirecek rotalar eklenmelidir. Ayr\u0131ca, g\u00fcvenlik gruplar\u0131 ve a\u011f ACL&#8217;leri de bu ileti\u015fime izin verecek \u015fekilde yap\u0131land\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<p>\u00d6zetle, Kafka da\u011f\u0131t\u0131k bir veri ak\u0131\u015f\u0131 platformu olarak y\u00fcksek performansl\u0131 ileti\u015fime ihtiya\u00e7 duyarken, VPC Peering bu ileti\u015fimi farkl\u0131 a\u011flar aras\u0131nda g\u00fcvenli ve verimli bir \u015fekilde sa\u011flaman\u0131n anahtar\u0131d\u0131r. Bu iki teknolojinin do\u011fru entegrasyonu, modern bulut mimarilerinde veri ak\u0131\u015f\u0131n\u0131n omurgas\u0131n\u0131 olu\u015fturur.<\/p>\n<h2>Kafka Mimarilerinde Adresleme Zorluklar\u0131 ve \u00c7\u00f6z\u00fcmleri Nelerdir?<\/h2>\n<p>Kafka, da\u011f\u0131t\u0131k bir sistem oldu\u011fu i\u00e7in, \u00fcreticilerin ve t\u00fcketicilerin k\u00fcmedeki broker&#8217;lara do\u011fru bir \u015fekilde ula\u015fabilmesi kritik \u00f6neme sahiptir. Bu &#8220;adresleme&#8221; s\u00fcreci, Kafka&#8217;n\u0131n sa\u011fl\u0131kl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131n temelini olu\u015fturur. Ancak, bulut ortamlar\u0131nda, \u00f6zellikle farkl\u0131 VPC&#8217;ler veya b\u00f6lgeler aras\u0131nda ileti\u015fim kurulmas\u0131 gerekti\u011finde, bu adresleme s\u00fcreci karma\u015f\u0131k hale gelebilir. Bu b\u00f6l\u00fcmde, Kafka&#8217;n\u0131n adresleme mekanizmalar\u0131n\u0131 ve bu s\u00fcre\u00e7te kar\u015f\u0131la\u015f\u0131lan ba\u015fl\u0131ca zorluklar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcm yakla\u015f\u0131mlar\u0131n\u0131 ele alaca\u011f\u0131z.<\/p>\n<h3>Kafka Broker&#8217;lar\u0131n\u0131n Kendilerini Duyurmas\u0131: Advertised Listeners<\/h3>\n<p>Kafka istemcileri (\u00fcreticiler ve t\u00fcketiciler), bir Kafka k\u00fcmesine ba\u011flanmak i\u00e7in ba\u015flang\u0131\u00e7ta bir veya daha fazla broker&#8217;\u0131n adresini (<code>bootstrap.servers<\/code>) kullan\u0131r. Bu adresler genellikle k\u00fcmenin bir alt k\u00fcmesini temsil eder. \u0130stemci bu ba\u015flang\u0131\u00e7 broker&#8217;\u0131na ba\u011fland\u0131ktan sonra, k\u00fcmedeki t\u00fcm broker&#8217;lar\u0131n ve ilgili konular\u0131n meta verilerini al\u0131r. Bu meta veriler, her broker&#8217;\u0131n kendi &#8220;duyurdu\u011fu&#8221; (advertised) adres bilgilerini i\u00e7erir. \u0130\u015fte bu duyurulan adresler, Kafka&#8217;n\u0131n adresleme mekanizmas\u0131n\u0131n merkezindedir.<\/p>\n<p>Kafka broker&#8217;lar\u0131, <code>server.properties<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki gibi \u00e7e\u015fitli dinleyici (listener) ayarlar\u0131 ile yap\u0131land\u0131r\u0131l\u0131r:<\/p>\n<ul>\n<li><code>listeners<\/code>: Broker&#8217;\u0131n hangi aray\u00fczlerde ve portlarda dinleme yapaca\u011f\u0131n\u0131 belirler. \u00d6rne\u011fin, <code>PLAINTEXT:\/\/:9092,SSL:\/\/:9093<\/code> gibi.<\/li>\n<li><code>advertised.listeners<\/code>: Broker&#8217;\u0131n istemcilere kendisini hangi adres ve port ile duyuraca\u011f\u0131n\u0131 belirler. Bu, istemcilerin broker&#8217;a ula\u015fmak i\u00e7in kullanaca\u011f\u0131 adrestir. Bu ayar, \u00f6zellikle a\u011f yap\u0131land\u0131rmas\u0131n\u0131n karma\u015f\u0131k oldu\u011fu durumlarda (NAT, Docker, \u00e7oklu a\u011f aray\u00fczleri, bulut ortamlar\u0131) hayati \u00f6neme sahiptir.<\/li>\n<li><code>listener.security.protocol.map<\/code>: Dinleyiciler ve g\u00fcvenlik protokolleri aras\u0131ndaki e\u015fle\u015fmeyi tan\u0131mlar.<\/li>\n<\/ul>\n<p>Bir Kafka istemcisi, ba\u015flang\u0131\u00e7 broker&#8217;\u0131ndan ald\u0131\u011f\u0131 meta verilerdeki <code>advertised.listeners<\/code> bilgisi \u00fczerinden di\u011fer broker&#8217;lara ba\u011flanmaya \u00e7al\u0131\u015f\u0131r. E\u011fer bu duyurulan adresler, istemcinin bulundu\u011fu a\u011fdan eri\u015filebilir de\u011filse, ba\u011flant\u0131 ba\u015far\u0131s\u0131z olur. Bu durum, \u00f6zellikle bulut ortamlar\u0131nda, \u00f6zel (private) IP adresleri ve genel (public) IP adresleri aras\u0131ndaki farklar nedeniyle s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir sorundur.<\/p>\n<h3>\u00c7oklu VPC ve B\u00f6lgeler Aras\u0131 Adresleme Zorluklar\u0131<\/h3>\n<p>Bulut ortamlar\u0131nda, bir Kafka k\u00fcmesi genellikle bir VPC i\u00e7inde \u00f6zel IP adresleriyle da\u011f\u0131t\u0131l\u0131r. Ancak, bu k\u00fcmeye eri\u015fmesi gereken uygulamalar (\u00fcreticiler ve t\u00fcketiciler) farkl\u0131 VPC&#8217;lerde veya hatta farkl\u0131 AWS b\u00f6lgelerinde (regions) bulunabilir. Bu senaryolarda a\u015fa\u011f\u0131daki adresleme zorluklar\u0131 ortaya \u00e7\u0131kar:<\/p>\n<ol>\n<li><strong>\u00d6zel IP Adreslerine Eri\u015fim Eksikli\u011fi:<\/strong> Kafka broker&#8217;lar\u0131 varsay\u0131lan olarak kendi \u00f6zel IP adreslerini duyurur. E\u011fer istemci farkl\u0131 bir VPC&#8217;de ise ve bu VPC&#8217;ler aras\u0131nda do\u011frudan bir ba\u011flant\u0131 yoksa, istemci bu \u00f6zel IP adreslerine eri\u015femez.<\/li>\n<li><strong>NAT ve Genel IP Kullan\u0131m\u0131:<\/strong> Bu sorunu a\u015fmak i\u00e7in bazen broker&#8217;lara genel IP adresleri atanabilir veya NAT a\u011f ge\u00e7itleri (NAT Gateways) kullan\u0131labilir. Ancak bu yakla\u015f\u0131mlar\u0131n ciddi dezavantajlar\u0131 vard\u0131r:\n<ul>\n<li><strong>G\u00fcvenlik Riskleri:<\/strong> Genel IP adresleri, broker&#8217;lar\u0131 internete a\u00e7\u0131k hale getirir ve potansiyel g\u00fcvenlik risklerini art\u0131r\u0131r.<\/li>\n<li><strong>Maliyet:<\/strong> NAT a\u011f ge\u00e7itleri ve genel IP kullan\u0131m\u0131 ek maliyetler do\u011furur.<\/li>\n<li><strong>Gecikme:<\/strong> \u0130nternet \u00fczerinden veya NAT \u00fczerinden ge\u00e7en trafik, gecikmeyi art\u0131r\u0131r ve performans\u0131 d\u00fc\u015f\u00fcr\u00fcr.<\/li>\n<li><strong>Karma\u015f\u0131kl\u0131k:<\/strong> NAT yap\u0131land\u0131rmas\u0131 ve genel IP y\u00f6netimi karma\u015f\u0131kl\u0131\u011f\u0131 art\u0131r\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>DNS \u00c7\u00f6z\u00fcmleme Sorunlar\u0131:<\/strong> Farkl\u0131 VPC&#8217;ler aras\u0131nda varsay\u0131lan olarak \u00f6zel DNS \u00e7\u00f6z\u00fcmlemesi (private DNS resolution) yoktur. Kafka broker&#8217;lar\u0131 DNS adlar\u0131n\u0131 duyurdu\u011funda, bu adlar\u0131n istemci VPC&#8217;sinden \u00e7\u00f6z\u00fcmlenebilir olmas\u0131 gerekir.<\/li>\n<li><strong>\u00c7oklu A\u011f Aray\u00fczleri:<\/strong> Broker sunucular\u0131n\u0131n birden fazla a\u011f aray\u00fcz\u00fcne sahip oldu\u011fu durumlarda, hangi aray\u00fcz\u00fcn hangi dinleyici i\u00e7in kullan\u0131laca\u011f\u0131n\u0131n do\u011fru yap\u0131land\u0131r\u0131lmas\u0131 gerekir.<\/li>\n<li><strong>Farkl\u0131 Protokoller:<\/strong> \u0130\u00e7 a\u011f (private) ve d\u0131\u015f a\u011f (public\/peered) i\u00e7in farkl\u0131 g\u00fcvenlik protokolleri (PLAINTEXT, SSL, SASL_SSL) kullanma ihtiyac\u0131 do\u011fabilir.<\/li>\n<\/ol>\n<h3>\u00c7\u00f6z\u00fcm Yakla\u015f\u0131mlar\u0131: VPC Peering ve Advertised Listeners&#8217;\u0131n Entegrasyonu<\/h3>\n<p>Bu zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in en g\u00fcvenli, performansl\u0131 ve maliyet etkin \u00e7\u00f6z\u00fcmlerden biri, VPC Peering ile Kafka&#8217;n\u0131n <code>advertised.listeners<\/code> yap\u0131land\u0131rmas\u0131n\u0131 birle\u015ftirmektir. Bu entegrasyon a\u015fa\u011f\u0131daki prensiplere dayan\u0131r:<\/p>\n<ol>\n<li><strong>VPC Peering Ba\u011flant\u0131s\u0131:<\/strong> Kafka k\u00fcmesinin bulundu\u011fu VPC ile istemcilerin bulundu\u011fu VPC aras\u0131nda bir VPC Peering ba\u011flant\u0131s\u0131 kurulur. Bu, iki VPC&#8217;nin \u00f6zel IP adresleri \u00fczerinden do\u011frudan ileti\u015fim kurmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Y\u00f6nlendirme Tablolar\u0131:<\/strong> Her iki VPC&#8217;nin y\u00f6nlendirme tablolar\u0131, di\u011fer VPC&#8217;nin CIDR blo\u011funa giden trafi\u011fi peering ba\u011flant\u0131s\u0131 \u00fczerinden y\u00f6nlendirecek \u015fekilde g\u00fcncellenir.<\/li>\n<li><strong>G\u00fcvenlik Gruplar\u0131:<\/strong> Kafka broker&#8217;lar\u0131n\u0131n g\u00fcvenlik gruplar\u0131, istemci VPC&#8217;sindeki ilgili g\u00fcvenlik gruplar\u0131ndan veya CIDR bloklar\u0131ndan gelen Kafka portlar\u0131na (\u00f6rne\u011fin 9092) eri\u015fime izin verecek \u015fekilde yap\u0131land\u0131r\u0131l\u0131r.<\/li>\n<li><strong>Advertised Listeners Yap\u0131land\u0131rmas\u0131:<\/strong> Kafka broker&#8217;lar\u0131, istemcilerin peering ba\u011flant\u0131s\u0131 \u00fczerinden eri\u015febilece\u011fi \u00f6zel IP adreslerini veya \u00f6zel DNS adlar\u0131n\u0131 duyuracak \u015fekilde yap\u0131land\u0131r\u0131l\u0131r. Bu, genellikle birden fazla dinleyici (listener) kullanarak yap\u0131l\u0131r:\n<ul>\n<li>Bir dinleyici k\u00fcme i\u00e7i ileti\u015fim i\u00e7in (<code>INTERNAL_PLAINTEXT<\/code> veya <code>INTERNAL_SSL<\/code>).<\/li>\n<li>Di\u011fer bir dinleyici ise peering ba\u011flant\u0131s\u0131 \u00fczerinden gelen istemciler i\u00e7in (<code>PEERED_PLAINTEXT<\/code> veya <code>PEERED_SSL<\/code>).<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u00d6zel DNS \u00c7\u00f6z\u00fcmlemesi (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong> E\u011fer Kafka broker&#8217;lar\u0131 \u00f6zel DNS adlar\u0131n\u0131 duyuruyorsa, AWS Route 53 Resolver Endpoints kullanarak farkl\u0131 VPC&#8217;ler aras\u0131nda \u00f6zel DNS \u00e7\u00f6z\u00fcmlemesi sa\u011flanabilir. Bu, IP adresleri yerine DNS adlar\u0131 kullanma esnekli\u011fi sunar.<\/li>\n<\/ol>\n<p>Bu yakla\u015f\u0131m, Kafka trafi\u011finin tamamen \u00f6zel a\u011f i\u00e7inde kalmas\u0131n\u0131 sa\u011flayarak hem g\u00fcvenli\u011fi art\u0131r\u0131r hem de gecikmeyi minimuma indirir. Ayr\u0131ca, karma\u015f\u0131k NAT yap\u0131land\u0131rmalar\u0131na veya pahal\u0131 genel IP&#8217;lere olan ihtiyac\u0131 ortadan kald\u0131r\u0131r. Bir sonraki b\u00f6l\u00fcmde, bu entegrasyonun ad\u0131m ad\u0131m nas\u0131l ger\u00e7ekle\u015ftirilece\u011fine dair pratik detaylara odaklanaca\u011f\u0131z.<\/p>\n<h2>VPC Peering ile Kafka Ba\u011flant\u0131s\u0131n\u0131 G\u00fcvenli Hale Getirme: Ad\u0131m Ad\u0131m Yap\u0131land\u0131rma<\/h2>\n<p>Kafka broker&#8217;lar\u0131n\u0131n farkl\u0131 bir VPC&#8217;deki istemcilerle g\u00fcvenli ve verimli bir \u015fekilde ileti\u015fim kurabilmesi i\u00e7in VPC Peering&#8217;in do\u011fru bir \u015fekilde yap\u0131land\u0131r\u0131lmas\u0131 b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Bu b\u00f6l\u00fcmde, AWS ortam\u0131nda VPC Peering ba\u011flant\u0131s\u0131n\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, y\u00f6nlendirme tablolar\u0131n\u0131 nas\u0131l g\u00fcncelleyece\u011finizi ve g\u00fcvenlik gruplar\u0131n\u0131 nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131z. Bu ad\u0131mlar, Kafka trafi\u011finizin tamamen \u00f6zel a\u011f\u0131n\u0131z i\u00e7inde kalmas\u0131n\u0131 sa\u011flayarak, d\u0131\u015far\u0131dan gelebilecek tehditlere kar\u015f\u0131 koruma sa\u011flar ve performans kayb\u0131n\u0131 en aza indirir.<\/p>\n<h3>1. VPC Peering Ba\u011flant\u0131s\u0131 Olu\u015fturma<\/h3>\n<p>VPC Peering ba\u011flant\u0131s\u0131 kurmak i\u00e7in, AWS Y\u00f6netim Konsolu, AWS CLI (Komut Sat\u0131r\u0131 Aray\u00fcz\u00fc) veya AWS SDK&#8217;lar\u0131 kullan\u0131labilir. Burada, temel ad\u0131mlar\u0131 ve kavramsal CLI \u00f6rneklerini sunaca\u011f\u0131z.<\/p>\n<ol>\n<li><strong>VPC Peering Talebi Olu\u015fturma:<\/strong>\n<p>\u0130lk olarak, Kafka k\u00fcmenizin bulundu\u011fu VPC&#8217;den (talepte bulunan VPC) di\u011fer VPC&#8217;ye (kabul eden VPC) bir peering ba\u011flant\u0131 talebi g\u00f6nderilir. \u0130ki VPC&#8217;nin CIDR bloklar\u0131n\u0131n \u00e7ak\u0131\u015fmad\u0131\u011f\u0131ndan emin olun.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Talepte bulunan VPC (Kafka'n\u0131n bulundu\u011fu VPC)\naws ec2 create-vpc-peering-connection \\\n    --vpc-id vpc-0abcdef1234567890 \\\n    --peer-vpc-id vpc-0fedcba9876543210 \\\n    --peer-owner-id 123456789012 \\\n    --tag-specifications 'ResourceType=vpc-peering-connection,Tags=[{Key=Name,Value=Kafka-App-Peering}]'\n                <\/code><\/pre>\n<\/p><\/div>\n<p>Yukar\u0131daki komutta:<\/p>\n<ul>\n<li><code>vpc-id<\/code>: Kafka k\u00fcmenizin bulundu\u011fu VPC ID&#8217;si.<\/li>\n<li><code>peer-vpc-id<\/code>: Uygulamalar\u0131n\u0131z\u0131n bulundu\u011fu hedef VPC ID&#8217;si.<\/li>\n<li><code>peer-owner-id<\/code>: Hedef VPC&#8217;nin ait oldu\u011fu AWS hesap ID&#8217;si (e\u011fer farkl\u0131 bir hesaptaysa). Ayn\u0131 hesapta ise bu parametreye gerek yoktur.<\/li>\n<\/ul>\n<\/li>\n<li><strong>VPC Peering Talebini Kabul Etme:<\/strong>\n<p>Talep olu\u015fturulduktan sonra, hedef VPC&#8217;nin sahibi bu talebi kabul etmelidir. Ayn\u0131 hesap i\u00e7indeyseniz, bu i\u015flemi ayn\u0131 hesaptan yapabilirsiniz. Farkl\u0131 hesaplar aras\u0131ndaysa, hedef hesap sahibi bu talebi kendi konsolundan veya CLI \u00fczerinden kabul eder.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Kabul eden VPC (Uygulamalar\u0131n bulundu\u011fu VPC)\naws ec2 accept-vpc-peering-connection \\\n    --vpc-peering-connection-id pcx-0123456789abcdef0\n                <\/code><\/pre>\n<\/p><\/div>\n<p><code>pcx-0123456789abcdef0<\/code> de\u011feri, <code>create-vpc-peering-connection<\/code> komutunun \u00e7\u0131kt\u0131s\u0131nda veya VPC Peering ba\u011flant\u0131lar\u0131 listesinde bulabilece\u011finiz peering ba\u011flant\u0131 ID&#8217;sidir.<\/p>\n<\/li>\n<\/ol>\n<h3>2. Y\u00f6nlendirme Tablolar\u0131n\u0131 (Route Tables) G\u00fcncelleme<\/h3>\n<p>Peering ba\u011flant\u0131s\u0131 aktif hale geldikten sonra, her iki VPC&#8217;deki alt a\u011flar\u0131n (subnets) y\u00f6nlendirme tablolar\u0131n\u0131, di\u011fer VPC&#8217;nin CIDR blo\u011funa giden trafi\u011fi peering ba\u011flant\u0131s\u0131 \u00fczerinden y\u00f6nlendirecek \u015fekilde g\u00fcncellemeniz gerekir. Bu, trafi\u011fin do\u011fru yoldan gitmesini sa\u011flar.<\/p>\n<ol>\n<li><strong>Kafka VPC&#8217;sindeki Y\u00f6nlendirme Tablolar\u0131n\u0131 G\u00fcncelleme:<\/strong>\n<p>Kafka k\u00fcmenizin bulundu\u011fu VPC&#8217;deki alt a\u011flar\u0131n y\u00f6nlendirme tablolar\u0131na, hedef uygulama VPC&#8217;sinin CIDR blo\u011funa giden rotay\u0131 ekleyin.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Kafka VPC'sindeki y\u00f6nlendirme tablosunu bul (veya yeni bir tane olu\u015ftur)\n# \u00d6rne\u011fin, Kafka broker'lar\u0131n\u0131n bulundu\u011fu alt a\u011f\u0131n y\u00f6nlendirme tablosu\naws ec2 create-route \\\n    --route-table-id rtb-0fedcba9876543210 \\\n    --destination-cidr-block 10.0.0.0\/16 \\ # Hedef uygulama VPC'sinin CIDR blo\u011fu\n    --vpc-peering-connection-id pcx-0123456789abcdef0\n                <\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<li><strong>Uygulama VPC&#8217;sindeki Y\u00f6nlendirme Tablolar\u0131n\u0131 G\u00fcncelleme:<\/strong>\n<p>Uygulamalar\u0131n\u0131z\u0131n bulundu\u011fu VPC&#8217;deki alt a\u011flar\u0131n y\u00f6nlendirme tablolar\u0131na, Kafka VPC&#8217;sinin CIDR blo\u011funa giden rotay\u0131 ekleyin.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Uygulama VPC'sindeki y\u00f6nlendirme tablosunu bul (veya yeni bir tane olu\u015ftur)\n# \u00d6rne\u011fin, uygulamalar\u0131n bulundu\u011fu alt a\u011f\u0131n y\u00f6nlendirme tablosu\naws ec2 create-route \\\n    --route-table-id rtb-0abcdef1234567890 \\\n    --destination-cidr-block 172.16.0.0\/16 \\ # Kafka VPC'sinin CIDR blo\u011fu\n    --vpc-peering-connection-id pcx-0123456789abcdef0\n                <\/code><\/pre>\n<\/p><\/div>\n<p><code>destination-cidr-block<\/code> parametresine, di\u011fer VPC&#8217;nin CIDR blo\u011funu do\u011fru bir \u015fekilde girdi\u011finizden emin olun.<\/p>\n<\/li>\n<\/ol>\n<h3>3. G\u00fcvenlik Gruplar\u0131n\u0131 (Security Groups) Yap\u0131land\u0131rma<\/h3>\n<p>Y\u00f6nlendirme tablolar\u0131 trafi\u011fin yolunu a\u00e7sa da, g\u00fcvenlik gruplar\u0131 ve A\u011f ACL&#8217;leri (Network ACLs) trafi\u011fe izin veren veya reddeden firewall kurallar\u0131d\u0131r. Kafka ileti\u015fimi i\u00e7in gerekli portlar\u0131n (varsay\u0131lan olarak 9092) a\u00e7\u0131ld\u0131\u011f\u0131ndan emin olman\u0131z gerekir.<\/p>\n<ol>\n<li><strong>Kafka Broker G\u00fcvenlik Grubunu G\u00fcncelleme:<\/strong>\n<p>Kafka broker&#8217;lar\u0131n\u0131z\u0131n ba\u011fl\u0131 oldu\u011fu g\u00fcvenlik grubuna, uygulama VPC&#8217;sindeki istemcilerden gelen Kafka trafi\u011fine (\u00f6rne\u011fin TCP 9092) izin veren bir giri\u015f kural\u0131 (inbound rule) ekleyin. Kaynak olarak, ya uygulama VPC&#8217;sinin CIDR blo\u011funu ya da uygulamalar\u0131n ba\u011fl\u0131 oldu\u011fu g\u00fcvenlik grubunun ID&#8217;sini belirtebilirsiniz. G\u00fcvenlik grubu ID&#8217;si kullanmak daha dinamik ve \u00f6nerilen bir yakla\u015f\u0131md\u0131r.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Kafka broker g\u00fcvenlik grubuna kural ekle\naws ec2 authorize-security-group-ingress \\\n    --group-id sg-0123456789abcdef0 \\ # Kafka broker g\u00fcvenlik grubu ID'si\n    --protocol tcp \\\n    --port 9092 \\\n    --source-security-group-id sg-0fedcba9876543210 # Uygulama g\u00fcvenlik grubu ID'si\n                <\/code><\/pre>\n<\/p><\/div>\n<p>Veya CIDR blo\u011fu ile:<\/p>\n<div class=\"code-container\">\n<pre><code>\naws ec2 authorize-security-group-ingress \\\n    --group-id sg-0123456789abcdef0 \\\n    --protocol tcp \\\n    --port 9092 \\\n    --cidr 10.0.0.0\/16 # Uygulama VPC'sinin CIDR blo\u011fu\n                <\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<li><strong>Uygulama G\u00fcvenlik Grubunu G\u00fcncelleme (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir):<\/strong>\n<p>Uygulamalar\u0131n\u0131z\u0131n ba\u011fl\u0131 oldu\u011fu g\u00fcvenlik grubuna, Kafka broker&#8217;lar\u0131na giden trafi\u011fe izin veren bir \u00e7\u0131k\u0131\u015f kural\u0131 (outbound rule) ekleyin. \u00c7o\u011fu g\u00fcvenlik grubu varsay\u0131lan olarak t\u00fcm \u00e7\u0131k\u0131\u015f trafi\u011fine izin verse de, daha s\u0131k\u0131 g\u00fcvenlik politikalar\u0131 uyguluyorsan\u0131z bu kural\u0131 eklemeniz gerekebilir.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Uygulama g\u00fcvenlik grubuna kural ekle (e\u011fer \u00e7\u0131k\u0131\u015f k\u0131s\u0131tlamalar\u0131 varsa)\naws ec2 authorize-security-group-egress \\\n    --group-id sg-0fedcba9876543210 \\ # Uygulama g\u00fcvenlik grubu ID'si\n    --protocol tcp \\\n    --port 9092 \\\n    --destination-security-group-id sg-0123456789abcdef0 # Kafka broker g\u00fcvenlik grubu ID'si\n                <\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131\u011f\u0131n\u0131zda, iki VPC aras\u0131nda g\u00fcvenli ve \u00f6zel bir a\u011f ba\u011flant\u0131s\u0131 kurulmu\u015f olur. Art\u0131k uygulama VPC&#8217;sindeki istemciler, Kafka VPC&#8217;sindeki broker&#8217;lara \u00f6zel IP adresleri \u00fczerinden eri\u015febilirler. Ancak, Kafka&#8217;n\u0131n <code>advertised.listeners<\/code> yap\u0131land\u0131rmas\u0131 olmadan bu ba\u011flant\u0131 tam olarak i\u015flevsel olmayacakt\u0131r. Bir sonraki b\u00f6l\u00fcmde, bu kritik Kafka yap\u0131land\u0131rmas\u0131n\u0131 nas\u0131l yapaca\u011f\u0131m\u0131z\u0131 detayl\u0131ca ele alaca\u011f\u0131z.<\/p>\n<h2>Kafka Advertised Listeners ve VPC Peering Entegrasyonu: Do\u011fru Adresleme Stratejileri<\/h2>\n<p>VPC Peering ba\u011flant\u0131s\u0131n\u0131 ba\u015far\u0131yla kurduktan ve a\u011f seviyesindeki eri\u015fimi sa\u011flad\u0131ktan sonra, Kafka k\u00fcmesinin kendisini istemcilere do\u011fru \u015fekilde duyurmas\u0131 gerekir. \u0130\u015fte bu noktada Kafka&#8217;n\u0131n <code>advertised.listeners<\/code> yap\u0131land\u0131rmas\u0131 devreye girer. Bu ayar, Kafka broker&#8217;lar\u0131n\u0131n istemcilere kendilerini hangi adres ve port \u00fczerinden eri\u015filebilir k\u0131ld\u0131\u011f\u0131n\u0131 bildirir. Yanl\u0131\u015f yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda, istemciler broker&#8217;lara ba\u011flanamaz veya ba\u011flant\u0131 sorunlar\u0131 ya\u015far. Bu b\u00f6l\u00fcmde, VPC Peering ortam\u0131nda <code>advertised.listeners<\/code>&#8216;\u0131 nas\u0131l do\u011fru bir \u015fekilde yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve farkl\u0131 senaryolar i\u00e7in en iyi uygulamalar\u0131 inceleyece\u011fiz.<\/p>\n<h3>Neden Advertised Listeners \u00d6nemlidir?<\/h3>\n<p>Kafka istemcileri (\u00fcreticiler ve t\u00fcketiciler), ba\u015flang\u0131\u00e7ta <code>bootstrap.servers<\/code> listesindeki broker&#8217;lardan birine ba\u011flan\u0131r. Bu broker, k\u00fcmedeki di\u011fer t\u00fcm broker&#8217;lar\u0131n ve ilgili konular\u0131n meta verilerini istemciye g\u00f6nderir. Bu meta veriler i\u00e7inde, her broker&#8217;\u0131n <code>advertised.listeners<\/code> ayar\u0131nda tan\u0131mlad\u0131\u011f\u0131 adres bilgileri de bulunur. \u0130stemci daha sonra bu duyurulan adresleri kullanarak di\u011fer broker&#8217;larla do\u011frudan ileti\u015fim kurar.<\/p>\n<p>E\u011fer bir Kafka broker&#8217;\u0131, istemcinin eri\u015femeyece\u011fi bir IP adresi veya ana bilgisayar ad\u0131 duyurursa (\u00f6rne\u011fin, sadece kendi VPC&#8217;sindeki \u00f6zel IP&#8217;sini duyururken, istemci farkl\u0131 bir VPC&#8217;den geliyorsa), istemci di\u011fer broker&#8217;lara ba\u011flanmakta sorun ya\u015fayacakt\u0131r. VPC Peering sayesinde, farkl\u0131 VPC&#8217;ler art\u0131k \u00f6zel IP adresleri \u00fczerinden birbirine eri\u015febildi\u011finden, Kafka broker&#8217;lar\u0131n\u0131n da bu \u00f6zel IP adreslerini duyurmas\u0131 gerekir.<\/p>\n<h3>\u00c7oklu Dinleyici (Multiple Listeners) Yakla\u015f\u0131m\u0131<\/h3>\n<p>Genellikle en esnek ve g\u00fcvenli yakla\u015f\u0131m, Kafka broker&#8217;lar\u0131nda birden fazla dinleyici (listener) tan\u0131mlamakt\u0131r. Bu dinleyicilerden biri, k\u00fcme i\u00e7i ileti\u015fim ve ayn\u0131 VPC&#8217;deki istemciler i\u00e7in kullan\u0131l\u0131rken, di\u011feri VPC Peering \u00fczerinden gelen d\u0131\u015f istemciler i\u00e7in yap\u0131land\u0131r\u0131l\u0131r. Bu sayede, her istemci t\u00fcr\u00fc i\u00e7in optimize edilmi\u015f ve g\u00fcvenli bir ileti\u015fim kanal\u0131 sa\u011flan\u0131r.<\/p>\n<p>\u00d6rnek bir <code>server.properties<\/code> yap\u0131land\u0131rmas\u0131 a\u015fa\u011f\u0131daki gibi olabilir:<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Dinleyicilerin tan\u0131m\u0131\nlisteners=INTERNAL_PLAINTEXT:\/\/:9092,PEERED_PLAINTEXT:\/\/:9093\n\n# Her dinleyici i\u00e7in g\u00fcvenlik protokol\u00fc e\u015fle\u015fmesi\nlistener.security.protocol.map=INTERNAL_PLAINTEXT:PLAINTEXT,PEERED_PLAINTEXT:PLAINTEXT\n\n# Her dinleyici i\u00e7in duyurulan adresler\n# INTERNAL_PLAINTEXT: K\u00fcme i\u00e7i ve ayn\u0131 VPC'deki istemciler i\u00e7in\nadvertised.listeners=INTERNAL_PLAINTEXT:\/\/&lt;Kafka_Broker_Private_IP&gt;:9092,PEERED_PLAINTEXT:\/\/&lt;Kafka_Broker_Peered_IP&gt;:9093\n\n# Dinleyici ayarlar\u0131\n# E\u011fer broker'\u0131n birden fazla NIC'i varsa, hangi aray\u00fczden dinleyece\u011fini belirtebilirsiniz.\n# listener.interfaces=INTERNAL_PLAINTEXT:eth0,PEERED_PLAINTEXT:eth1 (\u00f6rnek, genellikle gerekli de\u011fildir)\n\n# E\u011fer farkl\u0131 bir IP adresi duyurman\u0131z gerekiyorsa (\u00f6rne\u011fin, NAT sonras\u0131)\n# Bu senaryoda &lt;Kafka_Broker_Peered_IP&gt; genellikle broker'\u0131n kendi private IP'sidir.\n# Ancak farkl\u0131 bir senaryoda bu bir NAT IP'si veya \u00f6zel bir DNS ad\u0131 olabilir.\n        <\/code><\/pre>\n<\/p><\/div>\n<p>Yukar\u0131daki \u00f6rnekte:<\/p>\n<ul>\n<li><code>listeners=INTERNAL_PLAINTEXT:\/\/:9092,PEERED_PLAINTEXT:\/\/:9093<\/code>: Broker&#8217;\u0131n 9092 portunda dahili trafik i\u00e7in ve 9093 portunda peering trafi\u011fi i\u00e7in dinleme yapaca\u011f\u0131n\u0131 belirtir. Farkl\u0131 portlar kullanmak, g\u00fcvenlik gruplar\u0131 ve a\u011f ACL&#8217;leri \u00fczerinde daha iyi kontrol sa\u011flar.<\/li>\n<li><code>listener.security.protocol.map=INTERNAL_PLAINTEXT:PLAINTEXT,PEERED_PLAINTEXT:PLAINTEXT<\/code>: Her bir dinleyici i\u00e7in kullan\u0131lacak g\u00fcvenlik protokol\u00fcn\u00fc e\u015fle\u015ftirir. Burada basitlik ad\u0131na <code>PLAINTEXT<\/code> kullan\u0131lm\u0131\u015ft\u0131r, ancak \u00fcretim ortamlar\u0131nda <code>SSL<\/code> veya <code>SASL_SSL<\/code> tercih edilmelidir.<\/li>\n<li><code>advertised.listeners=INTERNAL_PLAINTEXT:\/\/&lt;Kafka_Broker_Private_IP&gt;:9092,PEERED_PLAINTEXT:\/\/&lt;Kafka_Broker_Peered_IP&gt;:9093<\/code>: Bu, en kritik k\u0131s\u0131md\u0131r.\n<ul>\n<li><code>&lt;Kafka_Broker_Private_IP&gt;<\/code>: Kafka broker&#8217;\u0131n\u0131n kendi VPC&#8217;sindeki \u00f6zel IP adresidir. K\u00fcme i\u00e7i ileti\u015fim ve ayn\u0131 VPC&#8217;deki istemciler bu adresi kullan\u0131r.<\/li>\n<li><code>&lt;Kafka_Broker_Peered_IP&gt;<\/code>: Bu da asl\u0131nda Kafka broker&#8217;\u0131n\u0131n kendi \u00f6zel IP adresidir. Ancak bu adres, VPC Peering ba\u011flant\u0131s\u0131 \u00fczerinden di\u011fer VPC&#8217;deki istemciler taraf\u0131ndan eri\u015filebilir olmal\u0131d\u0131r. Yani, Kafka broker&#8217;\u0131 kendi \u00f6zel IP&#8217;sini hem dahili hem de peering \u00fczerinden eri\u015filebilir olarak duyurur.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>\u00d6nemli Not:<\/strong> <code>&lt;Kafka_Broker_Private_IP&gt;<\/code> ve <code>&lt;Kafka_Broker_Peered_IP&gt;<\/code> yer tutucular\u0131n\u0131, her bir Kafka broker&#8217;\u0131n\u0131n ger\u00e7ek \u00f6zel IP adresleriyle de\u011fi\u015ftirmeniz gerekmektedir. Bu IP adresleri genellikle EC2 \u00f6rne\u011finin \u00f6zel IP adresidir. Dinamik ortamlarda, bu yap\u0131land\u0131rmay\u0131 otomatikle\u015ftirmek i\u00e7in ba\u015flatma komut dosyalar\u0131 (startup scripts) veya yap\u0131land\u0131rma y\u00f6netim ara\u00e7lar\u0131 (Ansible, Chef, Puppet) kullan\u0131labilir.<\/p>\n<h3>\u0130stemci Taraf\u0131 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Uygulama VPC&#8217;sindeki Kafka istemcileri (\u00fcreticiler ve t\u00fcketiciler), <code>bootstrap.servers<\/code> listesini, peering i\u00e7in \u00f6zel olarak duyurulan dinleyicinin adreslerini i\u00e7erecek \u015fekilde yap\u0131land\u0131rmal\u0131d\u0131r. Yani, <code>PEERED_PLAINTEXT<\/code> dinleyicisinin duyurdu\u011fu adresleri kullanacaklard\u0131r.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# Java Kafka Producer\/Consumer yap\u0131land\u0131rmas\u0131\nProperties props = new Properties();\nprops.put(\"bootstrap.servers\", \"&lt;Kafka_Broker_Peered_IP_1&gt;:9093,&lt;Kafka_Broker_Peered_IP_2&gt;:9093\");\nprops.put(\"security.protocol\", \"PLAINTEXT\"); \/\/ veya SSL\/SASL_SSL\n\n\/\/ Di\u011fer Kafka yap\u0131land\u0131rmalar\u0131...\n        <\/code><\/pre>\n<\/p><\/div>\n<p>Burada <code>&lt;Kafka_Broker_Peered_IP_1&gt;<\/code> ve <code>&lt;Kafka_Broker_Peered_IP_2&gt;<\/code>, Kafka k\u00fcmenizdeki broker&#8217;lar\u0131n peering i\u00e7in duyurulan IP adresleridir. Bu listeye t\u00fcm broker&#8217;lar\u0131 eklemek yerine, k\u00fcmenin bir alt k\u00fcmesini eklemek yeterlidir, \u00e7\u00fcnk\u00fc istemci birine ba\u011fland\u0131ktan sonra t\u00fcm k\u00fcmenin meta verilerini alacakt\u0131r.<\/p>\n<h3>DNS \u00c7\u00f6z\u00fcmlemesi ile Daha Esnek Adresleme<\/h3>\n<p>IP adresleri yerine DNS adlar\u0131 kullanmak, daha esnek bir yap\u0131land\u0131rma sa\u011flar, \u00f6zellikle broker IP adresleri de\u011fi\u015fti\u011finde. E\u011fer Kafka broker&#8217;lar\u0131n\u0131z i\u00e7in \u00f6zel DNS adlar\u0131 kullan\u0131yorsan\u0131z (\u00f6rne\u011fin, <code>kafka-broker-1.internal.example.com<\/code>), bu adlar\u0131 <code>advertised.listeners<\/code> i\u00e7inde kullanabilirsiniz. Ancak, bu durumda, istemci VPC&#8217;sinin bu \u00f6zel DNS adlar\u0131n\u0131 \u00e7\u00f6zebilmesi gerekir.<\/p>\n<p>AWS&#8217;de, Route 53 Resolver Endpoints kullanarak VPC&#8217;ler aras\u0131 \u00f6zel DNS \u00e7\u00f6z\u00fcmlemesi sa\u011flayabilirsiniz. Bu, bir VPC&#8217;deki kaynaklar\u0131n di\u011fer VPC&#8217;deki \u00f6zel DNS adlar\u0131n\u0131 \u00e7\u00f6z\u00fcmlemesine olanak tan\u0131r. B\u00f6ylece <code>advertised.listeners<\/code> i\u00e7inde IP adresleri yerine \u00f6zel DNS adlar\u0131 kullanabilir ve y\u00f6netimi kolayla\u015ft\u0131rabilirsiniz.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# DNS tabanl\u0131 advertised.listeners \u00f6rne\u011fi\nadvertised.listeners=INTERNAL_PLAINTEXT:\/\/kafka-broker-1.internal.example.com:9092,PEERED_PLAINTEXT:\/\/kafka-broker-1.peered.example.com:9093\n        <\/code><\/pre>\n<\/p><\/div>\n<p>Bu senaryoda, <code>kafka-broker-1.peered.example.com<\/code> DNS ad\u0131n\u0131n, uygulama VPC&#8217;sinden sorguland\u0131\u011f\u0131nda Kafka broker&#8217;\u0131n\u0131n \u00f6zel IP adresine \u00e7\u00f6z\u00fcmlenmesi gerekmektedir. Bu da Route 53 Resolver Endpoints ile sa\u011flanabilir.<\/p>\n<p>Bu entegrasyon ad\u0131mlar\u0131yla, VPC Peering \u00fczerinden Kafka ileti\u015fimini g\u00fcvenli ve verimli bir \u015fekilde kurmu\u015f olursunuz. Do\u011fru <code>advertised.listeners<\/code> yap\u0131land\u0131rmas\u0131, bu \u00e7\u00f6z\u00fcm\u00fcn kalbidir ve istemcilerin Kafka k\u00fcmesine sorunsuz bir \u015fekilde eri\u015febilmesini sa\u011flar.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryosu: Mikroservisler ve \u00c7ok B\u00f6lgeli Kafka \u0130leti\u015fimi<\/h2>\n<p>Kurumsal uygulamalar giderek daha da\u011f\u0131t\u0131k hale geliyor ve mikroservis mimarileri, bu d\u00f6n\u00fc\u015f\u00fcm\u00fcn merkezinde yer al\u0131yor. Genellikle, bir \u015firketin farkl\u0131 i\u015f birimleri veya uygulama katmanlar\u0131, farkl\u0131 VPC&#8217;lerde hatta farkl\u0131 AWS b\u00f6lgelerinde (regions) bar\u0131nd\u0131r\u0131l\u0131r. Bu senaryolarda, merkezi bir Kafka k\u00fcmesinin farkl\u0131 uygulama VPC&#8217;lerindeki mikroservisler taraf\u0131ndan kullan\u0131lmas\u0131 yayg\u0131n bir gereksinimdir. \u0130\u015fte bu noktada VPC Peering ve Kafka&#8217;n\u0131n do\u011fru adresleme stratejileri, karma\u015f\u0131k a\u011f yap\u0131lar\u0131n\u0131 basitle\u015ftiren ve g\u00fcvenli\u011fi art\u0131ran kritik \u00e7\u00f6z\u00fcmler sunar.<\/p>\n<h3>Vaka Analizi: Global Bir E-ticaret Platformu<\/h3>\n<p>Hayal edelim ki, global bir e-ticaret platformunuz var. Bu platform, a\u015fa\u011f\u0131daki gibi farkl\u0131 uygulama ve veri i\u015fleme katmanlar\u0131na sahip:<\/p>\n<ul>\n<li><strong>Merkezi Veri Ak\u0131\u015f\u0131 VPC&#8217;si (us-east-1 b\u00f6lgesi):<\/strong> T\u00fcm sipari\u015f, stok, kullan\u0131c\u0131 aktivitesi gibi kritik olaylar\u0131 toplayan ve i\u015fleyen merkezi bir Apache Kafka k\u00fcmesi burada bulunuyor. Bu k\u00fcme, y\u00fcksek kapasiteli ve yedekli bir yap\u0131ya sahip.<\/li>\n<li><strong>Web Uygulamalar\u0131 VPC&#8217;si (us-east-1 b\u00f6lgesi):<\/strong> Kullan\u0131c\u0131lar\u0131n do\u011frudan etkile\u015fimde bulundu\u011fu ana web uygulamalar\u0131 ve API gateway&#8217;leri bu VPC&#8217;de \u00e7al\u0131\u015f\u0131yor. Bu uygulamalar, Kafka&#8217;ya sipari\u015f olaylar\u0131 g\u00f6ndermek i\u00e7in \u00fcretici (producer) g\u00f6revi g\u00f6r\u00fcyor.<\/li>\n<li><strong>Analiz ve Raporlama VPC&#8217;si (us-east-1 b\u00f6lgesi):<\/strong> Ger\u00e7ek zamanl\u0131 analizler ve i\u015f zekas\u0131 raporlar\u0131 \u00fcreten veri i\u015fleme motorlar\u0131 (Spark, Flink) bu VPC&#8217;de yer al\u0131yor. Bu motorlar, Kafka&#8217;dan veri \u00e7eken t\u00fcketici (consumer) g\u00f6revi g\u00f6r\u00fcyor.<\/li>\n<li><strong>Mobil Uygulama API&#8217;leri VPC&#8217;si (eu-west-1 b\u00f6lgesi):<\/strong> Avrupa&#8217;daki kullan\u0131c\u0131lar i\u00e7in d\u00fc\u015f\u00fck gecikme sa\u011flamak amac\u0131yla mobil uygulama API&#8217;leri bu b\u00f6lgede bar\u0131nd\u0131r\u0131l\u0131yor. Bu API&#8217;ler de Kafka&#8217;ya kullan\u0131c\u0131 etkile\u015fim olaylar\u0131 g\u00f6ndermek i\u00e7in \u00fcretici g\u00f6revi g\u00f6r\u00fcyor.<\/li>\n<li><strong>Envanter Y\u00f6netimi VPC&#8217;si (eu-west-1 b\u00f6lgesi):<\/strong> Avrupa&#8217;daki depolar\u0131n stok durumunu y\u00f6neten mikroservisler burada bulunuyor ve Kafka&#8217;dan stok g\u00fcncellemelerini t\u00fcketiyor.<\/li>\n<\/ul>\n<p>Bu senaryoda, farkl\u0131 VPC&#8217;lerdeki ve hatta farkl\u0131 b\u00f6lgelerdeki mikroservislerin, merkezi Kafka k\u00fcmesiyle g\u00fcvenli, d\u00fc\u015f\u00fck gecikmeli ve y\u00fcksek bant geni\u015fli\u011fine sahip bir \u015fekilde ileti\u015fim kurmas\u0131 gerekmektedir. \u0130nternet \u00fczerinden veya VPN t\u00fcnelleri \u00fczerinden ileti\u015fim kurmak, g\u00fcvenlik riskleri, y\u00fcksek gecikme ve y\u00f6netim karma\u015f\u0131kl\u0131\u011f\u0131 nedeniyle ideal bir \u00e7\u00f6z\u00fcm de\u011fildir.<\/p>\n<h3>VPC Peering \u00c7\u00f6z\u00fcm\u00fc Nas\u0131l Uygulan\u0131r?<\/h3>\n<p>Bu karma\u015f\u0131k senaryoyu \u00e7\u00f6zmek i\u00e7in VPC Peering ve Kafka&#8217;n\u0131n <code>advertised.listeners<\/code> entegrasyonunu kullanabiliriz:<\/p>\n<ol>\n<li><strong>Ayn\u0131 B\u00f6lge \u0130\u00e7i Peering Ba\u011flant\u0131lar\u0131:<\/strong>\n<ul>\n<li><strong>Veri Ak\u0131\u015f\u0131 VPC&#8217;si &harr; Web Uygulamalar\u0131 VPC&#8217;si:<\/strong> Us-east-1 b\u00f6lgesindeki bu iki VPC aras\u0131nda bir peering ba\u011flant\u0131s\u0131 kurulur. Web uygulamalar\u0131, Kafka k\u00fcmesine \u00f6zel IP adresleri \u00fczerinden eri\u015fir.<\/li>\n<li><strong>Veri Ak\u0131\u015f\u0131 VPC&#8217;si &harr; Analiz VPC&#8217;si:<\/strong> Benzer \u015fekilde, us-east-1 b\u00f6lgesindeki bu iki VPC aras\u0131nda bir peering ba\u011flant\u0131s\u0131 kurulur. Analiz motorlar\u0131, Kafka&#8217;dan \u00f6zel IP adresleri \u00fczerinden veri \u00e7eker.<\/li>\n<\/ul>\n<p>Bu ba\u011flant\u0131lar i\u00e7in yukar\u0131da belirtilen y\u00f6nlendirme tablosu ve g\u00fcvenlik grubu yap\u0131land\u0131rmalar\u0131 eksiksiz yap\u0131lmal\u0131d\u0131r.<\/p>\n<\/li>\n<li><strong>B\u00f6lgeler Aras\u0131 Peering Ba\u011flant\u0131lar\u0131 (Inter-Region VPC Peering):<\/strong>\n<ul>\n<li><strong>Veri Ak\u0131\u015f\u0131 VPC&#8217;si (us-east-1) &harr; Mobil Uygulama API&#8217;leri VPC&#8217;si (eu-west-1):<\/strong> Bu iki farkl\u0131 b\u00f6lgedeki VPC aras\u0131nda bir b\u00f6lgeler aras\u0131 peering ba\u011flant\u0131s\u0131 kurulur. Mobil API&#8217;leri, Kafka&#8217;ya kendi \u00f6zel IP&#8217;leri \u00fczerinden, AWS&#8217;nin global omurga a\u011f\u0131 \u00fczerinden eri\u015fir.<\/li>\n<li><strong>Veri Ak\u0131\u015f\u0131 VPC&#8217;si (us-east-1) &harr; Envanter Y\u00f6netimi VPC&#8217;si (eu-west-1):<\/strong> Benzer \u015fekilde, bu iki farkl\u0131 b\u00f6lgedeki VPC aras\u0131nda bir b\u00f6lgeler aras\u0131 peering ba\u011flant\u0131s\u0131 kurulur. Envanter servisleri, Kafka&#8217;dan veri \u00e7eker.<\/li>\n<\/ul>\n<p>B\u00f6lgeler aras\u0131 peering de ayn\u0131 VPC Peering mant\u0131\u011f\u0131na sahiptir, ancak farkl\u0131 b\u00f6lgelerdeki VPC&#8217;leri ba\u011flar. Y\u00f6nlendirme tablolar\u0131 ve g\u00fcvenlik gruplar\u0131 yine her iki tarafta do\u011fru \u015fekilde yap\u0131land\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<\/li>\n<li><strong>Kafka Advertised Listeners Yap\u0131land\u0131rmas\u0131:<\/strong>\n<p>Merkezi Kafka k\u00fcmesindeki her broker, birden fazla <code>advertised.listeners<\/code> tan\u0131mlamal\u0131d\u0131r:<\/p>\n<ul>\n<li><code>INTERNAL_PLAINTEXT:\/\/&lt;private_ip&gt;:9092<\/code>: K\u00fcme i\u00e7i ileti\u015fim i\u00e7in.<\/li>\n<li><code>PEERED_EAST:\/\/&lt;private_ip&gt;:9093<\/code>: Us-east-1 b\u00f6lgesindeki peered VPC&#8217;lerden gelen istemciler i\u00e7in.<\/li>\n<li><code>PEERED_WEST:\/\/&lt;private_ip&gt;:9094<\/code>: Eu-west-1 b\u00f6lgesindeki peered VPC&#8217;lerden gelen istemciler i\u00e7in.<\/li>\n<\/ul>\n<p>Her bir dinleyici i\u00e7in farkl\u0131 bir port kullanmak veya farkl\u0131 g\u00fcvenlik protokolleri (\u00f6rne\u011fin, <code>PEERED_EAST_SSL<\/code>) tan\u0131mlamak, daha fazla esneklik ve g\u00fcvenlik sa\u011flar. Her dinleyici, broker&#8217;\u0131n kendi \u00f6zel IP adresini duyuracakt\u0131r, \u00e7\u00fcnk\u00fc bu adresler peering ba\u011flant\u0131lar\u0131 \u00fczerinden eri\u015filebilirdir.<\/p>\n<\/li>\n<li><strong>\u0130stemci Yap\u0131land\u0131rmalar\u0131:<\/strong>\n<ul>\n<li><strong>Web Uygulamalar\u0131 (us-east-1):<\/strong> <code>bootstrap.servers<\/code> olarak <code>PEERED_EAST<\/code> dinleyicisinin duyurdu\u011fu adresleri kullan\u0131r (\u00f6rne\u011fin, <code>172.16.1.10:9093,172.16.1.11:9093<\/code>).<\/li>\n<li><strong>Analiz Motorlar\u0131 (us-east-1):<\/strong> Benzer \u015fekilde <code>PEERED_EAST<\/code> dinleyicisinin duyurdu\u011fu adresleri kullan\u0131r.<\/li>\n<li><strong>Mobil API&#8217;leri (eu-west-1):<\/strong> <code>bootstrap.servers<\/code> olarak <code>PEERED_WEST<\/code> dinleyicisinin duyurdu\u011fu adresleri kullan\u0131r (\u00f6rne\u011fin, <code>172.16.1.10:9094,172.16.1.11:9094<\/code>).<\/li>\n<li><strong>Envanter Servisleri (eu-west-1):<\/strong> Benzer \u015fekilde <code>PEERED_WEST<\/code> dinleyicisinin duyurdu\u011fu adresleri kullan\u0131r.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Faydalar\u0131 ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>Bu mimari, e-ticaret platformuna a\u015fa\u011f\u0131daki faydalar\u0131 sa\u011flar:<\/p>\n<ul>\n<li><strong>Geli\u015fmi\u015f G\u00fcvenlik:<\/strong> T\u00fcm Kafka trafi\u011fi, internete \u00e7\u0131kmadan AWS&#8217;nin \u00f6zel a\u011f\u0131 \u00fczerinden akar. G\u00fcvenlik gruplar\u0131 ile hassas eri\u015fim kontrol\u00fc sa\u011flan\u0131r.<\/li>\n<li><strong>D\u00fc\u015f\u00fck Gecikme:<\/strong> \u00d6zellikle b\u00f6lgeler aras\u0131 peering sayesinde, farkl\u0131 co\u011frafyalardaki uygulamalar bile merkezi Kafka k\u00fcmesine d\u00fc\u015f\u00fck gecikmeyle eri\u015fir.<\/li>\n<li><strong>Y\u00fcksek Verim:<\/strong> AWS&#8217;nin y\u00fcksek bant geni\u015fli\u011fine sahip omurga a\u011f\u0131, b\u00fcy\u00fck veri ak\u0131\u015flar\u0131n\u0131 sorunsuz bir \u015fekilde y\u00f6netmeye olanak tan\u0131r.<\/li>\n<li><strong>Basitle\u015ftirilmi\u015f A\u011f Y\u00f6netimi:<\/strong> Karma\u015f\u0131k VPN t\u00fcnelleri veya \u00f6zel a\u011f cihazlar\u0131 kurma ve y\u00f6netme ihtiyac\u0131 ortadan kalkar.<\/li>\n<li><strong>Maliyet Optimizasyonu:<\/strong> \u0130nternet \u00fczerinden veri transferi maliyetlerinden ka\u00e7\u0131n\u0131l\u0131r.<\/li>\n<\/ul>\n<p><strong>\u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>DNS Kullan\u0131m\u0131:<\/strong> Her broker i\u00e7in \u00f6zel bir DNS ad\u0131 (\u00f6rne\u011fin, <code>kafka-broker-1.kafka-vpc.local<\/code>) tan\u0131mlamak ve Route 53 Resolver Endpoints kullanarak VPC&#8217;ler aras\u0131 \u00f6zel DNS \u00e7\u00f6z\u00fcmlemesi sa\u011flamak, IP adreslerini manuel olarak y\u00f6netme y\u00fck\u00fcn\u00fc azalt\u0131r.<\/li>\n<li><strong>Otomasyon:<\/strong> Kafka broker&#8217;lar\u0131n\u0131n <code>advertised.listeners<\/code> yap\u0131land\u0131rmas\u0131n\u0131 ve VPC Peering kurulumunu CloudFormation, Terraform veya Ansible gibi ara\u00e7larla otomatikle\u015ftirmek, hata riskini azalt\u0131r ve \u00f6l\u00e7eklenebilirli\u011fi art\u0131r\u0131r.<\/li>\n<li><strong>\u0130zleme:<\/strong> VPC Peering ba\u011flant\u0131lar\u0131n\u0131n durumunu ve performans\u0131n\u0131 d\u00fczenli olarak izlemek, olas\u0131 sorunlar\u0131 erken tespit etmeye yard\u0131mc\u0131 olur. Kafka metriklerini (\u00fcretici\/t\u00fcketici gecikmesi, broker performans\u0131) yak\u0131ndan takip edin.<\/li>\n<li><strong>G\u00fcvenlik Protokolleri:<\/strong> \u00dcretim ortamlar\u0131nda <code>PLAINTEXT<\/code> yerine mutlaka <code>SSL<\/code> veya <code>SASL_SSL<\/code> kullanarak Kafka ileti\u015fimini \u015fifreleyin ve kimlik do\u011frulamas\u0131n\u0131 sa\u011flay\u0131n.<\/li>\n<\/ul>\n<p>Bu ger\u00e7ek d\u00fcnya senaryosu, VPC Peering ve Kafka adresleme entegrasyonunun, modern da\u011f\u0131t\u0131k sistemlerin karma\u015f\u0131k a\u011f gereksinimlerini nas\u0131l kar\u015f\u0131layabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir. Do\u011fru yap\u0131land\u0131rma ile, g\u00fcvenli, y\u00fcksek performansl\u0131 ve y\u00f6netilebilir bir veri ak\u0131\u015f\u0131 omurgas\u0131 olu\u015fturmak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h2>Performans ve G\u00fcvenlik Optimizasyonlar\u0131: Kafka ve VPC Peering&#8217;i En \u00dcst D\u00fczeye \u00c7\u0131karma<\/h2>\n<p>Kafka ve VPC Peering entegrasyonu, da\u011f\u0131t\u0131k sistemlerde g\u00fc\u00e7l\u00fc bir ileti\u015fim omurgas\u0131 sunar. Ancak, bu entegrasyonun tam potansiyelini kullanabilmek i\u00e7in performans ve g\u00fcvenlik optimizasyonlar\u0131na dikkat etmek kritik \u00f6neme sahiptir. Bu b\u00f6l\u00fcmde, kurdu\u011funuz yap\u0131y\u0131 daha verimli ve daha g\u00fcvenli hale getirmek i\u00e7in uygulayabilece\u011finiz ileri d\u00fczey ipu\u00e7lar\u0131n\u0131 ve en iyi uygulamalar\u0131 ele alaca\u011f\u0131z. Bu optimizasyonlar, sisteminizin hem mevcut y\u00fck alt\u0131nda sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 hem de gelecekteki b\u00fcy\u00fcme ihtiya\u00e7lar\u0131na uyum sa\u011flamas\u0131n\u0131 garantileyecektir.<\/p>\n<h3>Performans Optimizasyonlar\u0131<\/h3>\n<ol>\n<li><strong>A\u011f Gecikmesi ve Bant Geni\u015fli\u011fi \u0130zleme:<\/strong>\n<p>VPC Peering ba\u011flant\u0131s\u0131 \u00fczerinden ge\u00e7en trafi\u011fin gecikme ve bant geni\u015fli\u011fi metriklerini d\u00fczenli olarak izleyin. AWS CloudWatch, VPC Flow Logs ve Kafka&#8217;n\u0131n kendi metrikleri (\u00f6rne\u011fin, \u00fcretici\/t\u00fcketici gecikmesi, broker a\u011f I\/O&#8217;su) bu konuda size de\u011ferli bilgiler sa\u011flayacakt\u0131r. E\u011fer gecikmede art\u0131\u015f veya bant geni\u015fli\u011finde doygunluk g\u00f6zlemlerseniz, bu durum peering ba\u011flant\u0131n\u0131z\u0131n veya Kafka k\u00fcmenizin \u00f6l\u00e7eklendirilmesi gerekti\u011fine i\u015faret edebilir.<\/p>\n<\/li>\n<li><strong>Kafka Broker \u00d6l\u00e7eklendirmesi:<\/strong>\n<p>Artan trafik y\u00fck\u00fcn\u00fc kar\u015f\u0131lamak i\u00e7in Kafka k\u00fcmenizi yatay olarak \u00f6l\u00e7eklendirin (daha fazla broker ekleyin). Her yeni broker&#8217;\u0131n <code>advertised.listeners<\/code> ayarlar\u0131n\u0131n do\u011fru yap\u0131ld\u0131\u011f\u0131ndan ve t\u00fcm yeni broker&#8217;lar\u0131n IP adreslerinin istemciler taraf\u0131ndan eri\u015filebilir oldu\u011fundan emin olun. Ayr\u0131ca, broker&#8217;lar\u0131n \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 EC2 \u00f6rneklerinin do\u011fru boyutland\u0131r\u0131ld\u0131\u011f\u0131ndan (CPU, bellek, disk I\/O) emin olun.<\/p>\n<\/li>\n<li><strong>Kafka Konu (Topic) ve B\u00f6l\u00fcm (Partition) Optimizasyonu:<\/strong>\n<p>Konular\u0131n\u0131z\u0131n b\u00f6l\u00fcm say\u0131s\u0131n\u0131 (partition count) i\u015f y\u00fck\u00fcn\u00fcze uygun olarak ayarlay\u0131n. \u00c7ok az b\u00f6l\u00fcm, \u00fcreticilerin\/t\u00fcketicilerin paralelli\u011fini k\u0131s\u0131tlayabilir; \u00e7ok fazla b\u00f6l\u00fcm ise ZooKeeper\/Kraft ve broker&#8217;lar \u00fczerinde gereksiz y\u00fck olu\u015fturabilir. Her b\u00f6l\u00fcm\u00fcn do\u011fru say\u0131da replikaya sahip oldu\u011fundan (genellikle 3) ve bu replikalar\u0131n farkl\u0131 kullan\u0131labilirlik b\u00f6lgelerine (Availability Zones) da\u011f\u0131t\u0131ld\u0131\u011f\u0131ndan emin olun.<\/p>\n<\/li>\n<li><strong>\u0130stemci Taraf\u0131 Ayarlar\u0131:<\/strong>\n<p>Kafka \u00fcretici ve t\u00fcketici istemcilerinin ayarlar\u0131n\u0131 optimize edin:<\/p>\n<ul>\n<li><strong>\u00dcreticiler:<\/strong> <code>acks<\/code> ayar\u0131 (veri kal\u0131c\u0131l\u0131\u011f\u0131 vs. gecikme), <code>batch.size<\/code>, <code>linger.ms<\/code> (mesajlar\u0131 toplu g\u00f6nderme), <code>compression.type<\/code> (a\u011f bant geni\u015fli\u011fi kullan\u0131m\u0131) gibi parametreleri ayarlay\u0131n.<\/li>\n<li><strong>T\u00fcketiciler:<\/strong> <code>fetch.min.bytes<\/code>, <code>fetch.max.wait.ms<\/code> (veri \u00e7ekme s\u0131kl\u0131\u011f\u0131), <code>max.poll.records<\/code> (tek seferde \u00e7ekilen kay\u0131t say\u0131s\u0131) gibi parametreleri optimize edin.<\/li>\n<\/ul>\n<\/li>\n<li><strong>A\u011f Performans\u0131 \u0130\u00e7in EC2 T\u00fcrleri:<\/strong>\n<p>Kafka broker&#8217;lar\u0131 ve yo\u011fun Kafka istemcileri i\u00e7in y\u00fcksek a\u011f performans\u0131na sahip EC2 \u00f6rnek t\u00fcrlerini (\u00f6rne\u011fin, C5n, M5n serisi) tercih edin. Bunlar genellikle daha y\u00fcksek bant geni\u015fli\u011fi ve daha d\u00fc\u015f\u00fck a\u011f gecikmesi sunar.<\/p>\n<\/li>\n<\/ol>\n<h3>G\u00fcvenlik Optimizasyonlar\u0131<\/h3>\n<ol>\n<li><strong>SSL\/TLS ile \u0130leti\u015fim \u015eifrelemesi:<\/strong>\n<p>\u00dcretim ortamlar\u0131nda Kafka trafi\u011fini <code>PLAINTEXT<\/code> yerine mutlaka <code>SSL<\/code> veya <code>SASL_SSL<\/code> ile \u015fifreleyin. Bu, VPC Peering \u00fczerinden giden trafi\u011fin bile yetkisiz ki\u015filer taraf\u0131ndan okunmas\u0131n\u0131 engeller. Kafka broker&#8217;lar\u0131nda ve istemcilerinde SSL sertifikalar\u0131n\u0131 ve anahtarlar\u0131n\u0131 do\u011fru bir \u015fekilde yap\u0131land\u0131r\u0131n. AWS Certificate Manager (ACM) ve Secrets Manager bu sertifikalar\u0131n ve anahtarlar\u0131n y\u00f6netimine yard\u0131mc\u0131 olabilir.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# server.properties'te SSL dinleyici \u00f6rne\u011fi\nlisteners=INTERNAL_SSL:\/\/:9092,PEERED_SSL:\/\/:9093\nlistener.security.protocol.map=INTERNAL_SSL:SSL,PEERED_SSL:SSL\nadvertised.listeners=INTERNAL_SSL:\/\/&lt;Kafka_Broker_Private_IP&gt;:9092,PEERED_SSL:\/\/&lt;Kafka_Broker_Peered_IP&gt;:9093\n\nssl.keystore.location=\/path\/to\/kafka.keystore.jks\nssl.keystore.password=keystore_password\nssl.key.password=key_password\nssl.truststore.location=\/path\/to\/kafka.truststore.jks\nssl.truststore.password=truststore_password\nssl.client.auth=required # \u0130stemci kimlik do\u011frulamas\u0131 i\u00e7in\n                <\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<li><strong>SASL ile Kimlik Do\u011frulama ve Yetkilendirme:<\/strong>\n<p>Kafka&#8217;ya eri\u015fimi sadece yetkili kullan\u0131c\u0131larla s\u0131n\u0131rlamak i\u00e7in SASL (Simple Authentication and Security Layer) kullan\u0131n. En yayg\u0131n kullan\u0131lan SASL mekanizmalar\u0131 SCRAM (Salted Challenge Response Authentication Mechanism) veya Kerberos&#8217;tur. SASL, Kafka broker&#8217;lar\u0131nda ve istemcilerinde kimlik do\u011frulama ve yetkilendirme (ACL&#8217;ler arac\u0131l\u0131\u011f\u0131yla) sa\u011flar.<\/p>\n<\/li>\n<li><strong>En Az Ayr\u0131cal\u0131k Prensibi (Least Privilege Principle):<\/strong>\n<p>G\u00fcvenlik gruplar\u0131n\u0131z\u0131 ve A\u011f ACL&#8217;lerinizi (NACL&#8217;ler) en az ayr\u0131cal\u0131k prensibine g\u00f6re yap\u0131land\u0131r\u0131n. Yaln\u0131zca gerekli portlara ve kaynak IP adreslerine\/g\u00fcvenlik gruplar\u0131na eri\u015fime izin verin. \u00d6rne\u011fin, Kafka broker&#8217;lar\u0131n\u0131n g\u00fcvenlik grubu sadece ilgili uygulama VPC&#8217;sindeki istemcilerin g\u00fcvenlik grubundan gelen 9092\/9093 portlar\u0131na eri\u015fime izin vermelidir.<\/p>\n<\/li>\n<li><strong>A\u011f ACL&#8217;leri (Network ACLs):<\/strong>\n<p>VPC alt a\u011flar\u0131 seviyesinde ek bir g\u00fcvenlik katman\u0131 sa\u011flamak i\u00e7in A\u011f ACL&#8217;lerini kullan\u0131n. NACL&#8217;ler hem gelen (inbound) hem de giden (outbound) trafi\u011fi kontrol eder ve g\u00fcvenlik gruplar\u0131ndan farkl\u0131 olarak stateless (durumsuz) \u00e7al\u0131\u015f\u0131r. Gerekli t\u00fcm ge\u00e7ici (ephemeral) port aral\u0131klar\u0131na da izin verdi\u011finizden emin olun.<\/p>\n<\/li>\n<li><strong>VPC Flow Logs:<\/strong>\n<p>VPC Flow Logs&#8217;u etkinle\u015ftirerek VPC&#8217;lerinizdeki t\u00fcm IP trafi\u011fini izleyin. Bu loglar, a\u011f sorunlar\u0131n\u0131 gidermeye, g\u00fcvenlik ihlallerini tespit etmeye ve a\u011f eri\u015fim politikalar\u0131n\u0131z\u0131 do\u011frulamaya yard\u0131mc\u0131 olur. Anormal trafik desenlerini veya yetkisiz eri\u015fim denemelerini tespit etmek i\u00e7in CloudWatch Logs ve ilgili alarm mekanizmalar\u0131yla entegre edilebilir.<\/p>\n<\/li>\n<li><strong>G\u00fcvenlik G\u00fcncellemeleri ve Yamalar:<\/strong>\n<p>Kafka broker&#8217;lar\u0131n\u0131z\u0131n ve \u00fczerinde \u00e7al\u0131\u015ft\u0131klar\u0131 i\u015fletim sistemlerinin d\u00fczenli olarak g\u00fcncellendi\u011finden ve g\u00fcvenlik yamalar\u0131n\u0131n uyguland\u0131\u011f\u0131ndan emin olun. Eski yaz\u0131l\u0131m s\u00fcr\u00fcmlerinde bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131 olabilir.<\/p>\n<\/li>\n<\/ol>\n<p>Bu performans ve g\u00fcvenlik optimizasyonlar\u0131n\u0131 uygulayarak, Kafka ve VPC Peering entegrasyonunuzun sadece i\u015flevsel de\u011fil, ayn\u0131 zamanda sa\u011flam, h\u0131zl\u0131 ve g\u00fcvenli olmas\u0131n\u0131 sa\u011flayabilirsiniz. Bu, \u00f6zellikle hassas verilerin i\u015flendi\u011fi ve y\u00fcksek kullan\u0131labilirlik gerektiren kurumsal ortamlarda vazge\u00e7ilmezdir.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu makalede, Apache Kafka&#8217;n\u0131n da\u011f\u0131t\u0131k veri ak\u0131\u015f\u0131 yeteneklerini ve Amazon VPC Peering&#8217;in g\u00fcvenli a\u011f ba\u011flant\u0131s\u0131 \u00f6zelliklerini bir araya getirerek, modern bulut mimarilerinde kar\u015f\u0131la\u015f\u0131lan \u00f6nemli bir zorlu\u011fa \u00e7\u00f6z\u00fcm getirdik. Kafka&#8217;n\u0131n karma\u015f\u0131k adresleme mekanizmalar\u0131n\u0131, \u00f6zellikle <code>advertised.listeners<\/code> ayar\u0131n\u0131, farkl\u0131 VPC&#8217;ler aras\u0131nda g\u00fcvenli ve d\u00fc\u015f\u00fck gecikmeli ileti\u015fimi m\u00fcmk\u00fcn k\u0131lan VPC Peering ile nas\u0131l entegre edece\u011fimizi ad\u0131m ad\u0131m ele ald\u0131k. Temel kavramlardan ba\u015flayarak, ger\u00e7ek d\u00fcnya senaryolar\u0131na ve ileri d\u00fczey optimizasyonlara kadar geni\u015f bir yelpazede bilgi sunarak, okuyucular\u0131n bu entegrasyonu kendi ortamlar\u0131nda ba\u015far\u0131yla uygulayabilmeleri i\u00e7in gerekli t\u00fcm ara\u00e7lar\u0131 sa\u011flamay\u0131 ama\u00e7lad\u0131k. G\u00fcvenli\u011fin ve performans\u0131n her zamankinden daha kritik oldu\u011fu g\u00fcn\u00fcm\u00fcz da\u011f\u0131t\u0131k sistemlerinde, bu t\u00fcr entegrasyonlar, veri ak\u0131\u015f\u0131n\u0131n omurgas\u0131n\u0131 olu\u015fturmakta ve i\u015f s\u00fcreklili\u011fini sa\u011flamaktad\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ol>\n<li><strong>VPC Peering yerine AWS Transit Gateway kullanmal\u0131 m\u0131y\u0131m?<\/strong>\n<p>VPC Peering, iki VPC aras\u0131nda birebir ba\u011flant\u0131 i\u00e7in idealdir ve genellikle daha d\u00fc\u015f\u00fck maliyetli ve basittir. Ancak, e\u011fer \u00e7ok say\u0131da VPC&#8217;yi (3&#8217;ten fazla) birbirine ba\u011flaman\u0131z gerekiyorsa veya farkl\u0131 b\u00f6lgelerdeki VPC&#8217;ler aras\u0131nda merkezi bir a\u011f merkezi olu\u015fturmak istiyorsan\u0131z, AWS Transit Gateway daha \u00f6l\u00e7eklenebilir ve y\u00f6netilebilir bir \u00e7\u00f6z\u00fcm sunar. Transit Gateway, y\u0131ld\u0131z (hub-and-spoke) topolojisini destekleyerek karma\u015f\u0131kl\u0131\u011f\u0131 azalt\u0131r.<\/p>\n<\/li>\n<li><strong>Kafka broker&#8217;lar\u0131 i\u00e7in \u00f6zel DNS adlar\u0131 kullanmak neden daha iyidir?<\/strong>\n<p>\u00d6zel DNS adlar\u0131 kullanmak, IP adresleri yerine semantik adlar \u00fczerinden eri\u015fim sa\u011flar. Bu, broker&#8217;lar\u0131n IP adresleri de\u011fi\u015fti\u011finde (\u00f6rne\u011fin, bir EC2 \u00f6rne\u011fi yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda) istemci yap\u0131land\u0131rmas\u0131n\u0131 manuel olarak g\u00fcncelleme ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r. AWS Route 53 Resolver Endpoints ile farkl\u0131 VPC&#8217;ler aras\u0131nda \u00f6zel DNS \u00e7\u00f6z\u00fcmlemesi sa\u011flayarak bu avantajdan faydalanabilirsiniz.<\/p>\n<\/li>\n<li><strong>VPC Peering \u00fczerinden Kafka trafi\u011fini nas\u0131l \u015fifreleyebilirim?<\/strong>\n<p>VPC Peering ba\u011flant\u0131s\u0131n\u0131n kendisi trafi\u011fi AWS&#8217;nin \u00f6zel a\u011f\u0131 \u00fczerinden y\u00f6nlendirir ve internete a\u00e7\u0131k de\u011fildir. Ancak, uygulama katman\u0131nda ek g\u00fcvenlik i\u00e7in Kafka&#8217;n\u0131n yerle\u015fik SSL\/TLS \u015fifrelemesini kullanman\u0131z \u015fiddetle tavsiye edilir. Bu, verilerin a\u011f i\u00e7inde bile \u015fifreli kalmas\u0131n\u0131 sa\u011flar ve yetkisiz eri\u015fime kar\u015f\u0131 koruma sa\u011flar.<\/p>\n<\/li>\n<li><strong>VPC Peering ba\u011flant\u0131s\u0131 \u00fczerinden bant geni\u015fli\u011fi s\u0131n\u0131rlamalar\u0131 var m\u0131?<\/strong>\n<p>VPC Peering ba\u011flant\u0131lar\u0131n\u0131n bant geni\u015fli\u011fi, ba\u011fl\u0131 EC2 \u00f6rneklerinin a\u011f kapasitesi ve genel AWS a\u011f\u0131na ba\u011fl\u0131d\u0131r. Genellikle, EC2 \u00f6rneklerinin a\u011f performans limiti, peering ba\u011flant\u0131s\u0131n\u0131n kendisinden daha k\u0131s\u0131tlay\u0131c\u0131 olabilir. Y\u00fcksek bant geni\u015fli\u011fi gereksinimleri i\u00e7in y\u00fcksek a\u011f performans\u0131na sahip EC2 \u00f6rnekleri (\u00f6rn. C5n, M5n) kullanman\u0131z \u00f6nerilir. AWS CloudWatch metriklerini izleyerek bant geni\u015fli\u011fi kullan\u0131m\u0131n\u0131z\u0131 takip edebilirsiniz.<\/p>\n<\/li>\n<li><strong>Farkl\u0131 AWS hesaplar\u0131ndaki VPC&#8217;ler aras\u0131nda peering yapabilir miyim?<\/strong>\n<p>Evet, farkl\u0131 AWS hesaplar\u0131na ait VPC&#8217;ler aras\u0131nda VPC Peering ba\u011flant\u0131s\u0131 kurabilirsiniz. Bu senaryoda, bir hesap peering ba\u011flant\u0131s\u0131 talebinde bulunur ve di\u011fer hesap bu talebi kabul eder. Her iki taraf\u0131n da y\u00f6nlendirme tablolar\u0131n\u0131 ve g\u00fcvenlik gruplar\u0131n\u0131 do\u011fru \u015fekilde yap\u0131land\u0131rmas\u0131 gerekir. Bu, merkezi bir Kafka k\u00fcmesinin farkl\u0131 departmanlar\u0131n veya i\u015f birimlerinin hesaplar\u0131ndaki uygulamalar taraf\u0131ndan kullan\u0131lmas\u0131na olanak tan\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p>#Kafka #VPCPeering #AWS #Da\u011f\u0131t\u0131kSistemler #BulutBili\u015fim #A\u011fYap\u0131land\u0131rmas\u0131 #Mikroservisler #VeriAk\u0131\u015f\u0131<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/kafka-addressing-vpc-peering-simulation\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/kafka-addressing-vpc-peering-simulation<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Modern da\u011f\u0131t\u0131k sistemlerde veri ak\u0131\u015f\u0131, operasyonlar\u0131n kalbinde yer al\u0131r.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-43130","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim\" \/>\n<meta property=\"og:description\" content=\"Modern da\u011f\u0131t\u0131k sistemlerde veri ak\u0131\u015f\u0131, operasyonlar\u0131n kalbinde yer al\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-06T18:04:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-06T18:05:32+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"35 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim\",\"datePublished\":\"2026-07-06T18:04:56+00:00\",\"dateModified\":\"2026-07-06T18:05:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/\"},\"wordCount\":6555,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/\",\"name\":\"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-07-06T18:04:56+00:00\",\"dateModified\":\"2026-07-06T18:05:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/","og_locale":"tr_TR","og_type":"article","og_title":"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim","og_description":"Modern da\u011f\u0131t\u0131k sistemlerde veri ak\u0131\u015f\u0131, operasyonlar\u0131n kalbinde yer al\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-07-06T18:04:56+00:00","article_modified_time":"2026-07-06T18:05:32+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"35 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim","datePublished":"2026-07-06T18:04:56+00:00","dateModified":"2026-07-06T18:05:32+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/"},"wordCount":6555,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/","url":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/","name":"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-07-06T18:04:56+00:00","dateModified":"2026-07-06T18:05:32+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/kafka-adresleme-ve-vpc-peering-dagitik-sistemlerde-guvenli-ve-verimli-iletisim\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kafka Adresleme ve VPC Peering: Da\u011f\u0131t\u0131k Sistemlerde G\u00fcvenli ve Verimli \u0130leti\u015fim"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=43130"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43130\/revisions"}],"predecessor-version":[{"id":43131,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43130\/revisions\/43131"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=43130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=43130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=43130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}