{"id":32695,"date":"2025-10-24T23:31:24","date_gmt":"2025-10-24T20:31:24","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/"},"modified":"2025-10-24T23:31:24","modified_gmt":"2025-10-24T20:31:24","slug":"eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/","title":{"rendered":"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131"},"content":{"rendered":"<p><body><\/p>\n<p>Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan zorluklardan biri, farkl\u0131 uygulamalar veya EKS (Elastic Kubernetes Service) k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131n\u0131 tutarl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde sa\u011flamakt\u0131r. Geleneksel yakla\u015f\u0131mlar genellikle karma\u015f\u0131kl\u0131k, performans darbo\u011fazlar\u0131 veya y\u00fcksek maliyetlerle sonu\u00e7lan\u0131rken, AWS EFS (Elastic File System) ve Terraform&#8217;un entegrasyonu, bu problemi zarif bir \u015fekilde \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyon sunar. Peki, birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 veriye ayn\u0131 anda eri\u015fmesi gerekti\u011finde nas\u0131l bir strateji izlemeliyiz ve Terraform bu s\u00fcreci nas\u0131l basitle\u015ftirebilir?<\/p>\n<p>EKS \u00fczerindeki uygulamalar\u0131n durumu genellikle ge\u00e7icidir; pod&#8217;lar \u00f6l\u00e7eklenebilir, yeniden ba\u015flat\u0131labilir veya farkl\u0131 nodelara ta\u015f\u0131nabilir. Bu durum, uygulamalar\u0131n ihtiya\u00e7 duydu\u011fu kal\u0131c\u0131 verinin y\u00f6netimi i\u00e7in \u00f6zel bir yakla\u015f\u0131m gerektirir. Bir blog platformunuzun d\u00fc\u015f\u00fcn\u00fcn; kullan\u0131c\u0131lar\u0131n y\u00fckledi\u011fi g\u00f6rseller, makale ekleri veya payla\u015f\u0131lan yap\u0131land\u0131rma dosyalar\u0131 gibi verilerin, front-end, back-end ve hatta analiz servisleri gibi farkl\u0131 mikroservisler taraf\u0131ndan eri\u015filebilir olmas\u0131 \u015fartt\u0131r. Bu senaryoda, her bir servisin kendi yerel depolama alan\u0131na sahip olmas\u0131, veri tutars\u0131zl\u0131klar\u0131na, senkronizasyon sorunlar\u0131na ve operasyonel y\u00fck\u00fcn artmas\u0131na yol a\u00e7ar. \u0130\u015fte tam bu noktada, EFS gibi merkezi, y\u00f6netilen ve \u00f6l\u00e7eklenebilir bir dosya depolama \u00e7\u00f6z\u00fcm\u00fc devreye girer. EFS, ayn\u0131 anda binlerce Kubernetes pod&#8217;unun dosya sistemine ba\u011flanmas\u0131na olanak tan\u0131yarak bu karma\u015f\u0131kl\u0131\u011f\u0131 ortadan kald\u0131r\u0131r. Ancak bu altyap\u0131y\u0131 manuel olarak kurmak hem zaman al\u0131c\u0131 hem de hataya a\u00e7\u0131kt\u0131r. Burada devreye altyap\u0131y\u0131 kod olarak y\u00f6netmemizi sa\u011flayan Terraform giriyor. Terraform ile EFS kaynaklar\u0131n\u0131 ve EKS entegrasyonunu otomatikle\u015ftirerek, tekrarlanabilir, s\u00fcrd\u00fcr\u00fclebilir ve hatas\u0131z bir yap\u0131 kurmak m\u00fcmk\u00fcn hale gelir. Bu makalede, EFS ve EKS temellerinden ba\u015flayarak, Terraform ile ad\u0131m ad\u0131m altyap\u0131 olu\u015fturma, Kubernetes entegrasyonu ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla bu g\u00fc\u00e7l\u00fc kombinasyonun nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Amac\u0131m\u0131z, okuyucular\u0131m\u0131z\u0131n bu teknolojileri s\u0131f\u0131rdan \u00f6\u011frenerek kendi bulut altyap\u0131lar\u0131nda g\u00fcvenle uygulayabilmelerini sa\u011flamakt\u0131r.<\/p>\n<h2>EFS ve EKS Temelleri: Bulutta Kal\u0131c\u0131 Veri Y\u00f6netimi<\/h2>\n<p>Bulut tabanl\u0131 uygulamalar\u0131n temel gereksinimlerinden biri, kal\u0131c\u0131 ve \u00f6l\u00e7eklenebilir veri depolama yetene\u011fidir. \u00d6zellikle konteynerize edilmi\u015f uygulamalar ve mikroservis mimarileri i\u00e7in bu, ayr\u0131 bir zorluk te\u015fkil eder. AWS EFS (Elastic File System) ve EKS (Elastic Kubernetes Service), bu zorluklar\u0131 a\u015fmak i\u00e7in tasarlanm\u0131\u015f iki g\u00fc\u00e7l\u00fc AWS servisidir. Bu b\u00f6l\u00fcmde, her iki servisin ne oldu\u011funu, neden \u00f6nemli olduklar\u0131n\u0131 ve bir araya geldiklerinde nas\u0131l bir de\u011fer sunduklar\u0131n\u0131 daha yak\u0131ndan inceleyece\u011fiz.<\/p>\n<h3>EFS (Elastic File System) Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>AWS Elastic File System (EFS), AWS bulutunda ve \u015firket i\u00e7i kaynaklarla kullan\u0131labilen, basit, sunucusuz, esnek ve tam olarak y\u00f6netilen bir NFS (Network File System) dosya depolama hizmetidir. EFS&#8217;nin en b\u00fcy\u00fck avantaj\u0131, dinamik olarak \u00f6l\u00e7eklenebilme yetene\u011fidir. Depolama kapasitesi, dosya ekledik\u00e7e veya sildik\u00e7e otomatik olarak artar veya azal\u0131r, b\u00f6ylece depolama alan\u0131n\u0131 \u00f6nceden tahmin etmenize veya y\u00f6netmenize gerek kalmaz. Bu, \u00f6zellikle veri b\u00fcy\u00fckl\u00fc\u011f\u00fc de\u011fi\u015fken olan veya anl\u0131k zirveler ya\u015fayan uygulamalar i\u00e7in kritik bir \u00f6zelliktir. EFS, ayn\u0131 anda binlerce EC2 \u00f6rne\u011fi, EKS pod&#8217;u veya di\u011fer AWS hizmeti taraf\u0131ndan eri\u015filebilir; bu da onu \u00e7oklu uygulama ve \u00e7oklu k\u00fcme veri payla\u015f\u0131m senaryolar\u0131 i\u00e7in ideal k\u0131lar. Y\u00fcksek kullan\u0131labilirlik ve dayan\u0131kl\u0131l\u0131k sunar, \u00e7\u00fcnk\u00fc verileriniz birden fazla Availability Zone&#8217;da (AZ) depolan\u0131r.<\/p>\n<p>Peki EFS&#8217;yi bu kadar \u00f6nemli k\u0131lan nedir? \u0130lk olarak, <b>esneklik<\/b>. Geleneksel dosya sunucular\u0131n\u0131n aksine, EFS manuel \u00f6l\u00e7ekleme veya performans ayarlamalar\u0131 gerektirmez. Uygulaman\u0131z\u0131n ihtiya\u00e7lar\u0131na g\u00f6re otomatik olarak adapte olur. \u0130kincisi, <b>payla\u015f\u0131m kolayl\u0131\u011f\u0131<\/b>. Birden fazla sunucunun veya konteynerin ayn\u0131 anda ayn\u0131 dosya sistemine eri\u015fmesi, merkezi loglama, payla\u015f\u0131lan konfig\u00fcrasyonlar, medya i\u015fleme veya web i\u00e7erik y\u00f6netimi gibi senaryolarda hayat kurtar\u0131c\u0131d\u0131r. \u00dc\u00e7\u00fcnc\u00fcs\u00fc, <b>tamamen y\u00f6netilen bir hizmet olmas\u0131<\/b>. AWS sizin i\u00e7in altyap\u0131y\u0131 y\u00f6netir, yedeklemeleri ve yamalar\u0131 yapar, b\u00f6ylece siz uygulaman\u0131z\u0131n geli\u015ftirilmesine odaklanabilirsiniz. Ayr\u0131ca, EFS, \u015fifreleme \u00f6zellikleri ile verilerinizin g\u00fcvenli\u011fini de sa\u011flamaktad\u0131r.<\/p>\n<h3>EKS (Elastic Kubernetes Service) ve Mikroservis Mimarisindeki Yeri<\/h3>\n<p>AWS Elastic Kubernetes Service (EKS), Kubernetes kontrol d\u00fczlemini AWS&#8217;de \u00e7al\u0131\u015ft\u0131rmak i\u00e7in tam olarak y\u00f6netilen bir hizmettir. Bu, Kubernetes master d\u00fc\u011f\u00fcmlerini y\u00f6netme y\u00fck\u00fcn\u00fc AWS&#8217;ye devretti\u011finiz anlam\u0131na gelir, b\u00f6ylece siz sadece worker d\u00fc\u011f\u00fcmlerinizi ve \u00fczerinde \u00e7al\u0131\u015fan uygulamalar\u0131n\u0131z\u0131 y\u00f6netmeye odaklanabilirsiniz. EKS, konteyner tabanl\u0131 uygulamalar\u0131n da\u011f\u0131t\u0131m\u0131, \u00f6l\u00e7eklenmesi ve y\u00f6netimi i\u00e7in end\u00fcstri standard\u0131 olan Kubernetes&#8217;i AWS altyap\u0131s\u0131n\u0131n g\u00fcvenilirli\u011fi ve \u00f6l\u00e7eklenebilirli\u011fi ile birle\u015ftirir.<\/p>\n<p>Mikroservis mimarileri, uygulamalar\u0131 k\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z ve gev\u015fek ba\u011fl\u0131 hizmetlere ay\u0131rarak geli\u015ftirme h\u0131z\u0131n\u0131, esnekli\u011fi ve dayan\u0131kl\u0131l\u0131\u011f\u0131 art\u0131r\u0131r. Ancak bu mimarilerde kar\u015f\u0131la\u015f\u0131lan temel zorluklardan biri, &#8220;stateful&#8221; (durumlu) uygulamalar\u0131n y\u00f6netimidir. Veritabanlar\u0131, mesaj kuyruklar\u0131 veya dosya depolama gerektiren uygulamalar, konteynerlerin ge\u00e7ici do\u011fas\u0131 nedeniyle karma\u015f\u0131k hale gelebilir. EKS, bu durumu Persistent Volume (PV) ve Persistent Volume Claim (PVC) gibi soyutlamalar arac\u0131l\u0131\u011f\u0131yla ele al\u0131r. Ancak varsay\u0131lan depolama \u00e7\u00f6z\u00fcmleri genellikle tek bir Pod veya Node ile s\u0131n\u0131rl\u0131d\u0131r. \u0130\u015fte EFS, bu noktada EKS i\u00e7in vazge\u00e7ilmez bir kal\u0131c\u0131 depolama \u00e7\u00f6z\u00fcm\u00fc haline gelir. Birden fazla EKS pod&#8217;unun veya farkl\u0131 EKS k\u00fcmelerinin bile ayn\u0131 EFS dosya sistemine ba\u011flanabilmesi, mikroservisler aras\u0131 veri payla\u015f\u0131m\u0131 ve merkezi veri y\u00f6netimi i\u00e7in benzersiz bir \u00e7\u00f6z\u00fcm sunar. Bu entegrasyon, uygulamalar\u0131n durumlar\u0131n\u0131 d\u0131\u015far\u0131da bir yerde kal\u0131c\u0131 olarak saklamas\u0131na olanak tan\u0131yarak, konteynerlerin esnekli\u011fini korurken veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve eri\u015filebilirli\u011fini garanti eder.<\/p>\n<h2>Terraform ile EFS Altyap\u0131s\u0131 Olu\u015fturma: Ad\u0131m Ad\u0131m Rehber<\/h2>\n<p>EFS&#8217;nin EKS uygulamalar\u0131 i\u00e7in ne kadar de\u011ferli oldu\u011funu anlad\u0131\u011f\u0131m\u0131za g\u00f6re, \u015fimdi bu g\u00fc\u00e7l\u00fc depolama \u00e7\u00f6z\u00fcm\u00fcn\u00fc AWS \u00fczerinde nas\u0131l olu\u015fturaca\u011f\u0131m\u0131z\u0131 ve y\u00f6netece\u011fimizi inceleyelim. Terraform, altyap\u0131y\u0131 kod olarak (IaC &#8211; Infrastructure as Code) y\u00f6netmek i\u00e7in end\u00fcstri standard\u0131 bir ara\u00e7t\u0131r. Bu b\u00f6l\u00fcm, Terraform kullanarak bir EFS dosya sistemi, eri\u015fim noktalar\u0131 ve ilgili a\u011f yap\u0131land\u0131rmalar\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 g\u00f6sterecektir. Bu sayede, altyap\u0131n\u0131z\u0131n versiyonlanabilir, tekrarlanabilir ve otomatik olmas\u0131n\u0131 sa\u011flayaca\u011f\u0131z.<\/p>\n<h3>Terraform Ortam\u0131n\u0131n Haz\u0131rlanmas\u0131 ve AWS Provider Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Terraform ile \u00e7al\u0131\u015fmaya ba\u015flamadan \u00f6nce, sisteminizde Terraform CLI&#8217;n\u0131n kurulu oldu\u011fundan ve AWS kimlik bilgilerinizin do\u011fru \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olman\u0131z gerekir. AWS kimlik bilgileri genellikle ortam de\u011fi\u015fkenleri (<code>AWS_ACCESS_KEY_ID<\/code>, <code>AWS_SECRET_ACCESS_KEY<\/code>) veya <code>~\/.aws\/credentials<\/code> dosyas\u0131 arac\u0131l\u0131\u011f\u0131yla sa\u011flan\u0131r. \u0130lk ad\u0131m, Terraform&#8217;un AWS ile ileti\u015fim kurmas\u0131n\u0131 sa\u011flayacak AWS provider&#8217;\u0131n\u0131 tan\u0131mlamakt\u0131r. A\u015fa\u011f\u0131daki \u00f6rnek, temel bir <code>main.tf<\/code> dosyas\u0131n\u0131 g\u00f6stermektedir:<\/p>\n<pre><code>\n    \n      terraform {\n        required_providers {\n          aws = {\n            source  = \"hashicorp\/aws\"\n            version = \"~> 5.0\"\n          }\n        }\n      }\n\n      provider \"aws\" {\n        region = \"eu-west-1\" # Kulland\u0131\u011f\u0131n\u0131z AWS b\u00f6lgesini belirtin\n      }\n    \n  <\/pre>\n<p><\/code><\/p>\n<p>Bu kod blo\u011fu, Terraform'a hangi provider'\u0131 (bu durumda AWS) kullanaca\u011f\u0131n\u0131 ve bu provider i\u00e7in hangi versiyonun gerekli oldu\u011funu s\u00f6yler. Ayr\u0131ca, kaynaklar\u0131n hangi AWS b\u00f6lgesinde olu\u015fturulaca\u011f\u0131n\u0131 da belirtir. Ortam\u0131n\u0131z\u0131 haz\u0131rlad\u0131ktan sonra, <code>terraform init<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak gerekli eklentileri indirebilirsiniz.<\/p>\n<h3>EFS Dosya Sisteminin ve Eri\u015fim Noktalar\u0131n\u0131n Tan\u0131mlanmas\u0131<\/h3>\n<p>EFS dosya sistemi, depolama \u00e7\u00f6z\u00fcm\u00fcm\u00fcz\u00fcn \u00e7ekirde\u011fini olu\u015fturur. Terraform'da <code>aws_efs_file_system<\/code> kayna\u011f\u0131n\u0131 kullanarak bir EFS dosya sistemi tan\u0131mlayabiliriz. Ayr\u0131ca, EKS uygulamalar\u0131n\u0131n bu dosya sistemine belirli yollar ve kimliklerle eri\u015fmesini sa\u011flamak i\u00e7in <code>aws_efs_access_point<\/code> kullanaca\u011f\u0131z. Eri\u015fim noktalar\u0131, Kubernetes'in belirli bir EFS yoluna ve kullan\u0131c\u0131\/grup kimli\u011fine (UID\/GID) eri\u015fmesini sa\u011flayan g\u00fc\u00e7l\u00fc bir \u00f6zelliktir.<\/p>\n<pre><code>\n    \n      # EFS Dosya Sistemi Olu\u015fturma\n      resource \"aws_efs_file_system\" \"eks_shared_efs\" {\n        creation_token = \"eks-shared-efs-filesystem\"\n        encrypted      = true # Veri \u015fifrelemesini etkinle\u015ftir\n        performance_mode = \"generalPurpose\" # Uygulama tipinize g\u00f6re \"maxIo\" se\u00e7ebilirsiniz\n        throughput_mode  = \"bursting\" # Bursting veya provisioned se\u00e7ilebilir\n\n        tags = {\n          Name = \"eks-shared-efs\"\n        }\n      }\n\n      # EFS Eri\u015fim Noktas\u0131 Olu\u015fturma\n      # Bu eri\u015fim noktas\u0131, EKS uygulamalar\u0131n\u0131n belirli bir alt dizine eri\u015fmesini sa\u011flar\n      resource \"aws_efs_access_point\" \"eks_app_access_point\" {\n        file_system_id = aws_efs_file_system.eks_shared_efs.id\n        posix_user {\n          gid = 1000\n          uid = 1000\n        }\n        root_directory {\n          path = \"\/eks_data\" # EFS \u00fczerinde olu\u015fturulacak k\u00f6k dizin\n          creation_info {\n            owner_gid   = 1000\n            owner_uid   = 1000\n            permissions = \"0755\"\n          }\n        }\n        tags = {\n          Name = \"eks-app-access-point\"\n        }\n      }\n\n      # EFS Mount Hedefleri (Target) Olu\u015fturma\n      # EFS'nin EKS k\u00fcmenizin \u00e7al\u0131\u015ft\u0131\u011f\u0131 VPC'deki alt a\u011flara ba\u011flanmas\u0131n\u0131 sa\u011flar\n      resource \"aws_efs_mount_target\" \"efs_mount_targets\" {\n        count          = length(var.private_subnets) # Birden fazla alt a\u011f i\u00e7in\n        file_system_id = aws_efs_file_system.eks_shared_efs.id\n        subnet_id      = var.private_subnets[count.index]\n        security_groups = [aws_security_group.efs_security_group.id]\n      }\n\n      output \"efs_file_system_id\" {\n        description = \"Olu\u015fturulan EFS Dosya Sisteminin ID'si\"\n        value       = aws_efs_file_system.eks_shared_efs.id\n      }\n\n      output \"efs_access_point_id\" {\n        description = \"Olu\u015fturulan EFS Eri\u015fim Noktas\u0131n\u0131n ID'si\"\n        value       = aws_efs_access_point.eks_app_access_point.id\n      }\n    \n  <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki kod blo\u011fu, <code>eks_shared_efs<\/code> ad\u0131nda \u015fifreli bir EFS dosya sistemi ve <code>\/eks_data<\/code> dizinini i\u015faret eden bir eri\u015fim noktas\u0131 olu\u015fturur. Eri\u015fim noktas\u0131, Kubernetes pod'lar\u0131n\u0131n EFS'ye belirli bir kullan\u0131c\u0131 (UID 1000, GID 1000) olarak eri\u015fmesini sa\u011flar. <code>aws_efs_mount_target<\/code> kaynaklar\u0131, EFS dosya sisteminin belirtilen VPC alt a\u011flar\u0131na ba\u011flanmas\u0131na izin verir. Bu ad\u0131m, EKS d\u00fc\u011f\u00fcmlerinin EFS'ye a\u011f \u00fczerinden eri\u015febilmesi i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h3>G\u00fcvenlik Gruplar\u0131 ve A\u011f Konfig\u00fcrasyonu: EFS Eri\u015fimi \u0130\u00e7in Temel Kurallar<\/h3>\n<p>EFS'ye eri\u015fim, a\u011f d\u00fczeyinde g\u00fcvenlik gruplar\u0131 arac\u0131l\u0131\u011f\u0131yla kontrol edilmelidir. EFS mount hedefi i\u00e7in bir g\u00fcvenlik grubu olu\u015fturup, EKS k\u00fcmenizin d\u00fc\u011f\u00fcmlerinin \u00e7al\u0131\u015ft\u0131\u011f\u0131 g\u00fcvenlik grubundan gelen NFS (port 2049) trafi\u011fine izin vermelisiniz. Bu, EFS'ye sadece yetkili EKS d\u00fc\u011f\u00fcmlerinin eri\u015febilmesini sa\u011flar.<\/p>\n<pre><code>\n    \n      # EFS i\u00e7in G\u00fcvenlik Grubu Olu\u015fturma\n      resource \"aws_security_group\" \"efs_security_group\" {\n        name        = \"efs-sg\"\n        description = \"EFS i\u00e7in g\u00fcvenlik grubu, EKS nodelar\u0131ndan NFS trafi\u011fine izin verir.\"\n        vpc_id      = var.vpc_id # VPC ID'nizi belirtin\n\n        ingress {\n          description = \"EKS Nodelar\u0131ndan NFS eri\u015fimi\"\n          from_port   = 2049\n          to_port     = 2049\n          protocol    = \"tcp\"\n          security_groups = [var.eks_node_security_group_id] # EKS node'lar\u0131n\u0131n SG ID'si\n        }\n\n        egress {\n          from_port   = 0\n          to_port     = 0\n          protocol    = \"-1\"\n          cidr_blocks = [\"0.0.0.0\/0\"]\n        }\n\n        tags = {\n          Name = \"efs-sg\"\n        }\n      }\n\n      # De\u011fi\u015fkenler (variables.tf)\n      variable \"vpc_id\" {\n        description = \"EFS'nin ve EKS'nin bulundu\u011fu VPC ID'si.\"\n        type        = string\n      }\n\n      variable \"private_subnets\" {\n        description = \"EFS mount hedeflerinin yerle\u015ftirilece\u011fi \u00f6zel alt a\u011f ID'leri.\"\n        type        = list(string)\n      }\n\n      variable \"eks_node_security_group_id\" {\n        description = \"EKS node'lar\u0131n\u0131n g\u00fcvenlik grubu ID'si.\"\n        type        = string\n      }\n    \n  <\/pre>\n<p><\/code><\/p>\n<p>Bu g\u00fcvenlik grubu (<code>efs_security_group<\/code>), EFS'nin bulundu\u011fu VPC'de olu\u015fturulur ve yaln\u0131zca <code>eks_node_security_group_id<\/code> ile belirtilen g\u00fcvenlik grubundan gelen NFS (TCP\/2049) trafi\u011fine izin verir. Bu, EFS kaynaklar\u0131n\u0131za sadece EKS k\u00fcmenizin eri\u015febilmesini sa\u011flayarak g\u00fcvenli\u011fi art\u0131r\u0131r. Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, <code>terraform plan<\/code> ve <code>terraform apply<\/code> komutlar\u0131n\u0131 kullanarak t\u00fcm bu kaynaklar\u0131 AWS \u00fczerinde olu\u015fturabilirsiniz. B\u00f6ylece, EKS uygulamalar\u0131n\u0131z\u0131n kullanabilece\u011fi g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir EFS altyap\u0131s\u0131 haz\u0131r olacakt\u0131r.<\/p>\n<p><b>Uzman \u0130pucu:<\/b> EFS performans\u0131, se\u00e7ti\u011finiz throughput moduna (bursting veya provisioned) ve kulland\u0131\u011f\u0131n\u0131z depolama s\u0131n\u0131f\u0131na (Standard veya Infrequent Access) g\u00f6re de\u011fi\u015fiklik g\u00f6sterebilir. Uygulaman\u0131z\u0131n I\/O gereksinimlerini dikkatlice analiz ederek en uygun ayarlar\u0131 se\u00e7meniz hem performans hem de maliyet a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<h2>Birden Fazla EKS Uygulamas\u0131n\u0131 EFS'ye Ba\u011flama: Kubernetes Entegrasyonu<\/h2>\n<p>EFS altyap\u0131m\u0131z\u0131 Terraform ile ba\u015far\u0131yla olu\u015fturduktan sonra, s\u0131ra EKS k\u00fcmelerimizdeki uygulamalar\u0131n bu payla\u015f\u0131lan dosya sistemine eri\u015fmesini sa\u011flamaya geliyor. Kubernetes, depolama entegrasyonu i\u00e7in Container Storage Interface (CSI) ad\u0131 verilen esnek bir aray\u00fcz sunar. AWS EFS CSI s\u00fcr\u00fcc\u00fcs\u00fc, EKS pod'lar\u0131n\u0131n EFS'ye kolayca ba\u011flanmas\u0131n\u0131 sa\u011flar. Bu b\u00f6l\u00fcmde, EFS CSI s\u00fcr\u00fcc\u00fcs\u00fcn\u00fc EKS'ye kurmay\u0131, Persistent Volume (PV) ve Persistent Volume Claim (PVC) tan\u0131mlamay\u0131 ve son olarak EKS uygulamalar\u0131n\u0131z\u0131 bu payla\u015f\u0131lan EFS depolama alan\u0131na nas\u0131l ba\u011flayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h3>EFS CSI (Container Storage Interface) S\u00fcr\u00fcc\u00fcs\u00fcn\u00fc EKS'ye Kurmak<\/h3>\n<p>EFS'yi Kubernetes'e entegre etmenin en modern ve \u00f6nerilen yolu, AWS EFS CSI S\u00fcr\u00fcc\u00fcs\u00fcn\u00fc kullanmakt\u0131r. CSI s\u00fcr\u00fcc\u00fcs\u00fc, Kubernetes'in EFS kaynaklar\u0131n\u0131 bir depolama sa\u011flay\u0131c\u0131s\u0131 olarak tan\u0131mas\u0131na ve pod'lar\u0131n\u0131z i\u00e7in depolama alan\u0131n\u0131 dinamik olarak sa\u011flamas\u0131na olanak tan\u0131r. Genellikle Helm ile kolayca kurulabilir. \u00d6ncelikle Helm'in kurulu oldu\u011fundan ve EKS k\u00fcmenize eri\u015febildi\u011finizden emin olun.<\/p>\n<pre><code class=\"language-bash\">\n    \n      # EFS CSI s\u00fcr\u00fcc\u00fcs\u00fc deposunu ekle\n      helm repo add aws-efs-csi-driver https:\/\/kubernetes-sigs.github.io\/aws-efs-csi-driver\/\n\n      # Depoyu g\u00fcncelle\n      helm repo update\n\n      # EFS CSI s\u00fcr\u00fcc\u00fcs\u00fcn\u00fc kur\n      # EFS CSI s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn IAM rol\u00fcne, EFS kaynaklar\u0131na eri\u015fim yetkisi verildi\u011finden emin olun.\n      # Bu rol genellikle bir Service Account ile ili\u015fkilendirilir.\n      helm upgrade -i aws-efs-csi-driver aws-efs-csi-driver\/aws-efs-csi-driver \\\n          --namespace kube-system \\\n          --set image.repository=602401143452.dkr.ecr.eu-west-1.amazonaws.com\/amazon\/aws-efs-csi-driver \\\n          --set controller.serviceAccount.create=true \\\n          --set controller.serviceAccount.name=efs-csi-controller-sa \\\n          --set controller.serviceAccount.annotations.eks\\.amazonaws\\.com\/role-arn=\"arn:aws:iam::ACCOUNT_ID:role\/EFSCSIDriverRole\"\n    \n  <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki komutta <code>ACCOUNT_ID<\/code> yerine kendi AWS hesap ID'nizi ve <code>EFSCSIDriverRole<\/code> yerine EFS CSI s\u00fcr\u00fcc\u00fcs\u00fc i\u00e7in olu\u015fturdu\u011funuz IAM rol\u00fcn\u00fcn ad\u0131n\u0131 yazmal\u0131s\u0131n\u0131z. Bu IAM rol\u00fcn\u00fcn EFS kaynaklar\u0131na (\u00f6rne\u011fin, <code>efs:DescribeFileSystems<\/code>, <code>efs:CreateMountTarget<\/code>, <code>ec2:DescribeSecurityGroups<\/code>) eri\u015fim yetkisi oldu\u011fundan emin olun. Bu rol genellikle bir OIDC sa\u011flay\u0131c\u0131s\u0131 ve Kubernetes Service Account (IRSA) ile ili\u015fkilendirilir.<\/p>\n<h3>Persistent Volume (PV) ve Persistent Volume Claim (PVC) Olu\u015fturma<\/h3>\n<p>EFS CSI s\u00fcr\u00fcc\u00fcs\u00fc kurulduktan sonra, Kubernetes'te bir StorageClass tan\u0131mlayabiliriz. Bu StorageClass, EKS pod'lar\u0131n\u0131n EFS kaynaklar\u0131n\u0131 dinamik olarak sa\u011flamak i\u00e7in kullan\u0131lacakt\u0131r. Ard\u0131ndan, bir Persistent Volume Claim (PVC) olu\u015fturarak uygulamalar\u0131m\u0131z\u0131n bu depolama alan\u0131n\u0131 talep etmesini sa\u011flar\u0131z. E\u011fer statik bir Persistent Volume kullanmak istiyorsan\u0131z, direkt EFS dosya sisteminizi ve eri\u015fim noktan\u0131z\u0131 referans g\u00f6steren bir PV tan\u0131mlayabilirsiniz.<\/p>\n<pre><code class=\"language-yaml\">\n    \n      # storageclass.yaml\n      apiVersion: storage.k8s.io\/v1\n      kind: StorageClass\n      metadata:\n        name: efs-sc\n      provisioner: efs.csi.aws.com\n      parameters:\n        provisioningMode: efs-ap\n        fileSystemId: fs-xxxxxxxxxxxxxxxxx # Terraform \u00e7\u0131kt\u0131n\u0131zdaki EFS File System ID'si\n        directoryPerms: \"700\" # Dizin izinleri\n        # E\u011fer bir Access Point kullan\u0131yorsan\u0131z a\u015fa\u011f\u0131daki parametreyi de ekleyin:\n        # accessPointId: fsap-xxxxxxxxxxxxxxxxx # Terraform \u00e7\u0131kt\u0131n\u0131zdaki EFS Access Point ID'si\n      mountOptions:\n        - tls # \u015eifreli ba\u011flant\u0131\n    \n  <\/pre>\n<p><\/code><\/p>\n<pre><code class=\"language-yaml\"><\/pre>\n<p><\/code><\/p>\n<p>      # pvc.yaml<br \/>\n      apiVersion: v1<br \/>\n      kind: PersistentVolumeClaim<br \/>\n      metadata:<br \/>\n        name: efs-claim<br \/>\n      spec:<br \/>\n        accessModes:<br \/>\n          - ReadWriteMany # Birden fazla pod'un ayn\u0131 anda yazma eri\u015fimi<br \/>\n        storageClassName: efs-sc<br \/>\n        resources:<br \/>\n          requests:<br \/>\n            storage: 5Gi # EFS esnek oldu\u011fu i\u00e7in bu de\u011fer sadece bir \"talep\"tir, ger\u00e7ek kapasite de\u011fildir.<\/p>\n<p>  <\/code><\/p>\n<p><code>storageclass.yaml<\/code> dosyas\u0131nda <code>fileSystemId<\/code> ve iste\u011fe ba\u011fl\u0131 olarak <code>accessPointId<\/code> alanlar\u0131na Terraform \u00e7\u0131kt\u0131n\u0131zdan ald\u0131\u011f\u0131n\u0131z de\u011ferleri girmeniz gerekti\u011fini unutmay\u0131n. <code>ReadWriteMany<\/code> eri\u015fim modu, EFS'nin ana avantajlar\u0131ndan biridir; birden fazla pod'un ayn\u0131 anda ayn\u0131 dosya sistemine okuma ve yazma eri\u015fimine sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>EKS Uygulamalar\u0131n\u0131z\u0131 EFS'ye Ba\u011flama: Deployment ve StatefulSet \u00d6rnekleri<\/h3>\n<p>PVC olu\u015fturulduktan sonra, EKS k\u00fcmenizdeki uygulamalar\u0131n\u0131z\u0131 (Deployment'lar, StatefulSet'ler vb.) bu PVC'yi kullanarak EFS'ye ba\u011flayabilirsiniz. A\u015fa\u011f\u0131daki \u00f6rnek, bir Nginx uygulamas\u0131n\u0131n nas\u0131l bir PVC'ye ba\u011flanaca\u011f\u0131n\u0131 g\u00f6stermektedir:<\/p>\n<pre><code class=\"language-yaml\">\n    \n      # deployment.yaml\n      apiVersion: apps\/v1\n      kind: Deployment\n      metadata:\n        name: nginx-efs-app\n      spec:\n        selector:\n          matchLabels:\n            app: nginx-efs\n        replicas: 3\n        template:\n          metadata:\n            labels:\n              app: nginx-efs\n          spec:\n            containers:\n              - name: nginx\n                image: nginx:latest\n                ports:\n                  - containerPort: 80\n                volumeMounts:\n                  - name: efs-volume\n                    mountPath: \/usr\/share\/nginx\/html # Nginx'in statik i\u00e7eri\u011fini tutaca\u011f\u0131 yer\n            volumes:\n              - name: efs-volume\n                persistentVolumeClaim:\n                  claimName: efs-claim # Yukar\u0131da olu\u015fturdu\u011fumuz PVC'nin ad\u0131\n    \n  <\/pre>\n<p><\/code><\/p>\n<p>Bu <code>Deployment<\/code> tan\u0131m\u0131nda, <code>efs-claim<\/code> ad\u0131ndaki PVC, Nginx pod'lar\u0131n\u0131n <code>\/usr\/share\/nginx\/html<\/code> dizinine ba\u011flanmas\u0131n\u0131 sa\u011fl\u0131yor. Art\u0131k Nginx uygulamas\u0131, bu dizine yaz\u0131lan statik i\u00e7erikleri EFS \u00fczerinden sunabilecek. Birden fazla Nginx pod'u ayn\u0131 EFS dizinine eri\u015febilece\u011fi i\u00e7in, bu, da\u011f\u0131t\u0131lm\u0131\u015f bir web uygulamas\u0131 i\u00e7in merkezi i\u00e7erik y\u00f6netimi sa\u011flar. Ayn\u0131 mant\u0131kla, birden fazla farkl\u0131 uygulama (\u00f6rne\u011fin, bir Python back-end servisi, bir log toplama servisi) ayn\u0131 veya farkl\u0131 EFS eri\u015fim noktalar\u0131n\u0131 kullanarak payla\u015f\u0131lan verilere eri\u015febilir. Bu esneklik, karma\u015f\u0131k mikroservis mimarilerinde veri tutarl\u0131l\u0131\u011f\u0131n\u0131 ve eri\u015filebilirli\u011fini sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p><code>kubectl apply -f storageclass.yaml<\/code>, <code>kubectl apply -f pvc.yaml<\/code> ve <code>kubectl apply -f deployment.yaml<\/code> komutlar\u0131yla bu kaynaklar\u0131 EKS k\u00fcmenize uygulayarak entegrasyonu tamamlayabilirsiniz. Bu ad\u0131mlar, EKS uygulamalar\u0131n\u0131z\u0131n EFS'nin sundu\u011fu merkezi, \u00f6l\u00e7eklenebilir ve payla\u015f\u0131ml\u0131 dosya depolama yeteneklerinden tam olarak faydalanmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve \u0130leri D\u00fczey Optimizasyonlar<\/h2>\n<p>EFS ve Terraform entegrasyonunun temelini anlad\u0131\u011f\u0131m\u0131za g\u00f6re, \u015fimdi bu bilgiyi ger\u00e7ek d\u00fcnya senaryolar\u0131na nas\u0131l uygulayabilece\u011fimizi ve performans\u0131, maliyeti ve g\u00fcvenli\u011fi nas\u0131l optimize edebilece\u011fimizi inceleyelim. Mikroservis mimarileri, genellikle karma\u015f\u0131k veri ak\u0131\u015flar\u0131na ve farkl\u0131 hizmetler aras\u0131nda payla\u015f\u0131lan kaynaklara ihtiya\u00e7 duyar. EFS, bu t\u00fcr senaryolarda kal\u0131c\u0131 depolama i\u00e7in ideal bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h3>Vaka Analizi: Mikroservisler Aras\u0131 Payla\u015f\u0131ml\u0131 Konfig\u00fcrasyon ve Log Y\u00f6netimi<\/h3>\n<p>Bir e-ticaret platformunuz oldu\u011funu varsayal\u0131m. Bu platformda \u00fcr\u00fcn katalog servisi, sipari\u015f i\u015fleme servisi, kullan\u0131c\u0131 y\u00f6netim servisi ve \u00f6deme ge\u00e7idi servisi gibi bir\u00e7ok mikroservis bulunmaktad\u0131r. Bu servislerin hepsi, merkezi bir yap\u0131land\u0131rma deposuna eri\u015fmek ve loglar\u0131n\u0131 merkezi bir konuma yazmak isteyebilir. Ayr\u0131ca, \u00fcr\u00fcn g\u00f6rselleri veya fatura \u015fablonlar\u0131 gibi statik i\u00e7eriklerin de t\u00fcm servisler taraf\u0131ndan eri\u015filebilir olmas\u0131 gerekebilir.<\/p>\n<p>\u0130\u015fte bu senaryoda EFS'nin de\u011feri ortaya \u00e7\u0131kar:<\/p>\n<ol>\n<li><b>Payla\u015f\u0131ml\u0131 Konfig\u00fcrasyon:<\/b> T\u00fcm mikroservisler i\u00e7in ortak konfig\u00fcrasyon dosyalar\u0131n\u0131 (\u00f6rne\u011fin, veritaban\u0131 ba\u011flant\u0131 ayarlar\u0131, API anahtarlar\u0131) EFS'de <code>\/config<\/code> gibi bir dizinde saklayabilirsiniz. Her servis kendi EKS pod'unda bu dizini bir volume olarak ba\u011flar. B\u00f6ylece, konfig\u00fcrasyon de\u011fi\u015fiklikleri tek bir yerden y\u00f6netilir ve t\u00fcm servisler taraf\u0131ndan an\u0131nda eri\u015filebilir hale gelir.<\/li>\n<li><b>Merkezi Log Y\u00f6netimi:<\/b> Her mikroservis, kendi loglar\u0131n\u0131 EFS'deki \u00f6zel bir alt dizine (\u00f6rne\u011fin, <code>\/logs\/product-catalog<\/code>, <code>\/logs\/order-processing<\/code>) yazabilir. Ard\u0131ndan, bir merkezi log toplama arac\u0131 (\u00f6rne\u011fin, Fluent Bit, Filebeat) veya ayr\u0131 bir EKS pod'u, bu EFS dizinindeki t\u00fcm loglar\u0131 toplayarak Elasticsearch veya CloudWatch Logs gibi bir merkeze aktarabilir. Bu yakla\u015f\u0131m, da\u011f\u0131t\u0131k sistemlerde log takibini ve sorun gidermeyi \u00f6nemli \u00f6l\u00e7\u00fcde basitle\u015ftirir.<\/li>\n<li><b>Statik \u0130\u00e7erik Payla\u015f\u0131m\u0131:<\/b> \u00dcr\u00fcn g\u00f6rselleri, PDF dosyalar\u0131 veya di\u011fer statik web varl\u0131klar\u0131 EFS'de saklanabilir. Hem front-end servisi bu g\u00f6rsellere do\u011frudan eri\u015febilir hem de bir arka plan i\u015fleme servisi bu g\u00f6rseller \u00fczerinde thumbnail olu\u015fturma veya s\u0131k\u0131\u015ft\u0131rma gibi i\u015flemler yapabilir.<\/li>\n<\/ol>\n<p>Bu senaryoyu Terraform ile yap\u0131land\u0131rmak, EFS dosya sistemi ve birden fazla eri\u015fim noktas\u0131 olu\u015fturmay\u0131 gerektirir. Her eri\u015fim noktas\u0131, farkl\u0131 bir mikroservis veya log dizini i\u00e7in kullan\u0131labilir, b\u00f6ylece izinler ve eri\u015fim yollar\u0131 daha gran\u00fcler bir \u015fekilde y\u00f6netilebilir. EKS taraf\u0131nda ise, her mikroservisin deployment'\u0131nda ilgili PVC'ler ve volume mount'lar tan\u0131mlan\u0131r.<\/p>\n<pre><code class=\"language-terraform\">\n    \n      # config dizini i\u00e7in eri\u015fim noktas\u0131\n      resource \"aws_efs_access_point\" \"config_access_point\" {\n        file_system_id = aws_efs_file_system.eks_shared_efs.id\n        posix_user { gid = 1000, uid = 1000 }\n        root_directory { path = \"\/config\", creation_info { owner_gid = 1000, owner_uid = 1000, permissions = \"0755\" } }\n        tags = { Name = \"config-ap\" }\n      }\n\n      # logs dizini i\u00e7in eri\u015fim noktas\u0131\n      resource \"aws_efs_access_point\" \"logs_access_point\" {\n        file_system_id = aws_efs_file_system.eks_shared_efs.id\n        posix_user { gid = 1000, uid = 1000 }\n        root_directory { path = \"\/logs\", creation_info { owner_gid = 1000, owner_uid = 1000, permissions = \"0755\" } }\n        tags = { Name = \"logs-ap\" }\n      }\n    \n  <\/pre>\n<p><\/code><\/p>\n<p>Kubernetes taraf\u0131nda ise, her servis kendi PVC'sini olu\u015ftururken ilgili <code>accessPointId<\/code>'yi StorageClass'\u0131nda belirterek EFS'nin belirli bir b\u00f6l\u00fcm\u00fcne ba\u011flan\u0131r.<\/p>\n<h3>Performans ve Maliyet Optimizasyonu \u0130\u00e7in \u0130pu\u00e7lar\u0131<\/h3>\n<p>EFS, esnek bir hizmet olsa da, performans\u0131 ve maliyeti optimize etmek i\u00e7in baz\u0131 stratejiler mevcuttur:<\/p>\n<ul>\n<li><b>Throughput Modu Se\u00e7imi:<\/b> EFS iki ana throughput modu sunar:\n<ul>\n<li><b>Bursting Throughput:<\/b> \u00c7o\u011fu i\u015f y\u00fck\u00fc i\u00e7in varsay\u0131lan ve uygun olan moddur. EFS kapasitenizle orant\u0131l\u0131 olarak temel bir aktar\u0131m h\u0131z\u0131 sa\u011flar ve k\u0131sa s\u00fcreli y\u00fcksek I\/O operasyonlar\u0131 i\u00e7in burst (ani y\u00fckselme) yetene\u011fi sunar.<\/li>\n<li><b>Provisioned Throughput:<\/b> S\u00fcrekli y\u00fcksek ve tahmin edilebilir I\/O gerektiren i\u015f y\u00fckleri i\u00e7in uygundur. Belirli bir aktar\u0131m h\u0131z\u0131n\u0131 \u00f6nceden belirlersiniz, ancak bu mod bursting'e g\u00f6re daha maliyetlidir. Uygulaman\u0131z\u0131n I\/O profiline g\u00f6re do\u011fru se\u00e7imi yapmak kritik \u00f6neme sahiptir.<\/li>\n<\/ul>\n<\/li>\n<li><b>Depolama S\u0131n\u0131flar\u0131 (Lifecycle Management):<\/b> EFS, iki depolama s\u0131n\u0131f\u0131 sunar:\n<ul>\n<li><b>Standard:<\/b> En s\u0131k eri\u015filen veriler i\u00e7in.<\/li>\n<li><b>Infrequent Access (IA):<\/b> Daha az s\u0131kl\u0131kla eri\u015filen veriler i\u00e7in optimize edilmi\u015ftir ve daha d\u00fc\u015f\u00fck maliyetlidir. EFS ya\u015fam d\u00f6ng\u00fcs\u00fc politikalar\u0131n\u0131 kullanarak, belirli bir s\u00fcre (\u00f6rne\u011fin, 30 g\u00fcn) eri\u015filmeyen dosyalar\u0131 otomatik olarak IA s\u0131n\u0131f\u0131na ta\u015f\u0131yabilir ve maliyetlerden tasarruf edebilirsiniz. \u00d6rne\u011fin, eski log dosyalar\u0131 i\u00e7in IA idealdir.<\/li>\n<\/ul>\n<\/li>\n<li><b>Monitoring:<\/b> CloudWatch Metrikleri arac\u0131l\u0131\u011f\u0131yla EFS dosya sisteminizin performans\u0131n\u0131 (throughput, latency, I\/O operasyonlar\u0131) s\u00fcrekli izleyin. Olas\u0131 darbo\u011fazlar\u0131 veya kapasite sorunlar\u0131n\u0131 erken tespit ederek m\u00fcdahale edebilirsiniz.<\/li>\n<\/ul>\n<p><b>Uzman \u0130pucu:<\/b> Yo\u011fun okuma operasyonlar\u0131 gerektiren uygulamalar i\u00e7in EFS mount hedeflerini okuma replikalar\u0131 gibi de\u011ferlendirebilirsiniz. Ayn\u0131 dosya sistemine farkl\u0131 AZ'lerden ba\u011flanmak, AZ ba\u015far\u0131s\u0131zl\u0131\u011f\u0131 durumunda bile veri eri\u015filebilirli\u011fini art\u0131r\u0131r.<\/p>\n<h3>G\u00fcvenlik En \u0130yi Uygulamalar\u0131: \u015eifreleme ve Eri\u015fim Kontrolleri<\/h3>\n<p>EFS verilerinizin g\u00fcvenli\u011fini sa\u011flamak i\u00e7in a\u015fa\u011f\u0131daki en iyi uygulamalar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurun:<\/p>\n<ul>\n<li><b>Veri \u015eifrelemesi:<\/b> EFS, hem aktar\u0131mdaki (in-transit) hem de beklemedeki (at-rest) verileri \u015fifreleme olana\u011f\u0131 sunar. Dosya sistemini olu\u015ftururken KMS anahtarlar\u0131 ile beklemedeki \u015fifrelemeyi etkinle\u015ftirmeyi her zaman tercih edin. Aktar\u0131mdaki \u015fifreleme i\u00e7in ise TLS kullanan EFS mount helper'\u0131 veya EFS CSI s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn TLS \u00f6zelli\u011fini kullan\u0131n.<\/li>\n<li><b>A\u011f Eri\u015fimi (G\u00fcvenlik Gruplar\u0131):<\/b> EFS mount hedeflerinin ba\u011fl\u0131 oldu\u011fu g\u00fcvenlik gruplar\u0131n\u0131 dikkatlice yap\u0131land\u0131r\u0131n. Yaln\u0131zca EKS d\u00fc\u011f\u00fcmlerinizin IP adreslerinden veya g\u00fcvenlik gruplar\u0131ndan gelen NFS (port 2049) trafi\u011fine izin verin. Gereksiz portlar\u0131 veya IP aral\u0131klar\u0131n\u0131 a\u00e7maktan ka\u00e7\u0131n\u0131n.<\/li>\n<li><b>EFS Eri\u015fim Noktalar\u0131 (Access Points):<\/b> Eri\u015fim noktalar\u0131n\u0131 kullanarak Kubernetes pod'lar\u0131n\u0131za gran\u00fcler izinler atay\u0131n. Her uygulama i\u00e7in belirli bir k\u00f6k dizin ve POSIX kullan\u0131c\u0131\/grup kimli\u011fi (UID\/GID) tan\u0131mlay\u0131n. Bu, uygulamalar\u0131n yaln\u0131zca kendi verilerine eri\u015fmesini sa\u011flar ve yetkisiz eri\u015fimi engeller.<\/li>\n<li><b>IAM Rolleri:<\/b> EFS CSI s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn EFS kaynaklar\u0131na eri\u015fim i\u00e7in kulland\u0131\u011f\u0131 IAM rol\u00fcn\u00fcn en az ayr\u0131cal\u0131kl\u0131 prensibiyle (Least Privilege Principle) yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun. Yaln\u0131zca ihtiya\u00e7 duydu\u011fu minimum yetkilere sahip olmal\u0131d\u0131r.<\/li>\n<li><b>VPC Endpoint'leri:<\/b> E\u011fer EKS k\u00fcmenizden EFS'ye \u00f6zel a\u011f \u00fczerinden ba\u011flan\u0131yorsan\u0131z, VPC endpoint'lerini kullanarak trafik ak\u0131\u015f\u0131n\u0131 daha g\u00fcvenli ve verimli hale getirebilirsiniz.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey optimizasyonlar ve g\u00fcvenlik uygulamalar\u0131, EFS tabanl\u0131 veri payla\u015f\u0131m \u00e7\u00f6z\u00fcm\u00fcn\u00fcz\u00fcn sadece i\u015flevsel de\u011fil, ayn\u0131 zamanda performansl\u0131, maliyet-etkin ve g\u00fcvenli olmas\u0131n\u0131 sa\u011flayacakt\u0131r. \u00d6zellikle b\u00fcy\u00fck ve hassas verilerle \u00e7al\u0131\u015fan uygulamalar i\u00e7in bu detaylara dikkat etmek, sistemin genel sa\u011flaml\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6neme sahiptir.<\/p>\n<h2>Sonu\u00e7: EFS ve Terraform ile \u00d6l\u00e7eklenebilir ve Y\u00f6netilebilir Veri Altyap\u0131s\u0131<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital d\u00fcnyas\u0131nda, mikroservis mimarileri ve konteynerize uygulamalar, i\u015fletmelerin \u00e7eviklik ve \u00f6l\u00e7eklenebilirlik hedeflerine ula\u015fmas\u0131nda kilit rol oynamaktad\u0131r. Ancak bu karma\u015f\u0131k yap\u0131lar, \u00f6zellikle veri y\u00f6netimi ve payla\u015f\u0131m\u0131 konusunda yeni zorluklar\u0131 da beraberinde getirir. AWS EFS (Elastic File System) ve Terraform'un birle\u015fimi, bu zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in g\u00fc\u00e7l\u00fc, esnek ve otomatik bir \u00e7\u00f6z\u00fcm sunar. Bu makale boyunca, EFS'nin birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 anda, g\u00fcvenli ve performansl\u0131 bir \u015fekilde kal\u0131c\u0131 verilere eri\u015fmesini nas\u0131l sa\u011flad\u0131\u011f\u0131n\u0131, Terraform'un ise bu karma\u015f\u0131k altyap\u0131n\u0131n kurulumunu ve y\u00f6netimini nas\u0131l basitle\u015ftirdi\u011fini ad\u0131m ad\u0131m inceledik.<\/p>\n<p>Giri\u015fte ortaya koydu\u011fumuz \"Birden Fazla EKS Uygulamas\u0131 \u0130\u00e7in Veri Payla\u015f\u0131m\u0131 Neden Zorlay\u0131c\u0131?\" sorusuna yan\u0131t olarak, EFS'nin da\u011f\u0131t\u0131k sistemlerdeki veri tutarl\u0131l\u0131\u011f\u0131, eri\u015filebilirlik ve \u00f6l\u00e7eklenebilirlik problemlerine sundu\u011fu \u00e7\u00f6z\u00fcmleri g\u00f6rd\u00fck. Temel kavramlardan ba\u015flayarak, Terraform ile bir EFS dosya sistemi ve eri\u015fim noktalar\u0131 olu\u015fturman\u0131n pratik ad\u0131mlar\u0131n\u0131 ele ald\u0131k. G\u00fcvenlik gruplar\u0131 ve a\u011f yap\u0131land\u0131rmalar\u0131n\u0131n \u00f6nemini vurgulayarak, EFS'nin g\u00fcvenli bir \u015fekilde nas\u0131l eri\u015filebilir hale getirilece\u011fini g\u00f6sterdik. Ard\u0131ndan, EFS CSI s\u00fcr\u00fcc\u00fcs\u00fcn\u00fc kullanarak EKS k\u00fcmelerine EFS entegrasyonunun nas\u0131l yap\u0131laca\u011f\u0131n\u0131, Persistent Volume (PV) ve Persistent Volume Claim (PVC) tan\u0131mlar\u0131n\u0131 ve son olarak da EKS uygulamalar\u0131n\u0131n bu payla\u015f\u0131lan depolama alan\u0131na nas\u0131l ba\u011flanaca\u011f\u0131n\u0131 detayland\u0131rd\u0131k. Ger\u00e7ek d\u00fcnya senaryolar\u0131 ve vaka analizleri ile, merkezi konfig\u00fcrasyon ve log y\u00f6netimi gibi kritik kullan\u0131m durumlar\u0131na pratik \u00e7\u00f6z\u00fcmler sunduk. Son olarak, performans ve maliyet optimizasyonuna y\u00f6nelik ipu\u00e7lar\u0131 ile g\u00fcvenlik en iyi uygulamalar\u0131n\u0131 payla\u015farak, okuyucular\u0131m\u0131z\u0131n kendi bulut ortamlar\u0131nda sa\u011flam ve optimize edilmi\u015f \u00e7\u00f6z\u00fcmler geli\u015ftirmelerine yard\u0131mc\u0131 olmay\u0131 hedefledik.<\/p>\n<p>Terraform ile EFS ve EKS entegrasyonu, altyap\u0131y\u0131 kod olarak y\u00f6netme (IaC) prensibini benimseyerek, manuel hatalar\u0131 azalt\u0131r, tekrarlanabilirli\u011fi art\u0131r\u0131r ve daha h\u0131zl\u0131 da\u011f\u0131t\u0131m d\u00f6ng\u00fcleri sa\u011flar. Bu yakla\u015f\u0131m, sadece operasyonel y\u00fck\u00fc azaltmakla kalmaz, ayn\u0131 zamanda ekiplerin daha verimli \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r. EFS'nin \u00f6l\u00e7eklenebilirli\u011fi, y\u00fcksek kullan\u0131labilirli\u011fi ve y\u00f6netilen yap\u0131s\u0131 sayesinde, uygulamalar\u0131n\u0131z\u0131n veri depolama ihtiya\u00e7lar\u0131 konusunda endi\u015felenmenize gerek kalmaz. Bu kombinasyon, \u015firketlerin modern bulut mimarilerinde veri odakl\u0131 uygulamalar\u0131n\u0131 ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131rmalar\u0131 i\u00e7in vazge\u00e7ilmez bir ara\u00e7 setidir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<ul>\n<li>\n      <b>EFS, birden fazla AWS b\u00f6lgesindeki EKS k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131na izin verir mi?<\/b><\/p>\n<p>Hay\u0131r, EFS bir b\u00f6lgesel (regional) hizmettir ve yaln\u0131zca olu\u015fturuldu\u011fu AWS b\u00f6lgesindeki kaynaklar taraf\u0131ndan eri\u015filebilir. Farkl\u0131 b\u00f6lgelerdeki EKS k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131 i\u00e7in genellikle daha karma\u015f\u0131k \u00e7\u00f6z\u00fcmler (\u00f6rne\u011fin, b\u00f6lge i\u00e7i EFS'ye veri kopyalayan Cross-Region Replication veya S3 gibi global depolama hizmetleri) gereklidir.<\/p>\n<\/li>\n<li>\n      <b>EFS yerine EBS (Elastic Block Store) kullanabilir miyim? Aralar\u0131ndaki temel fark nedir?<\/b><\/p>\n<p>EBS, tek bir EC2 \u00f6rne\u011fine ba\u011fl\u0131 blok depolamad\u0131r ve <code>ReadWriteOnce<\/code> eri\u015fim modunu destekler, yani ayn\u0131 anda birden fazla pod veya sunucu taraf\u0131ndan payla\u015f\u0131lamaz. EFS ise a\u011f dosya sistemi (NFS) tabanl\u0131d\u0131r ve <code>ReadWriteMany<\/code> eri\u015fim modunu destekler, bu da birden fazla kayna\u011f\u0131n ayn\u0131 anda ayn\u0131 dosya sistemine eri\u015febilece\u011fi anlam\u0131na gelir. Payla\u015f\u0131ml\u0131 veri i\u00e7in EFS tercih edilmelidir, tek bir pod'un kal\u0131c\u0131 depolamas\u0131 i\u00e7in EBS (veya EKS'de Persistent Volume ile EBS) uygundur.<\/p>\n<\/li>\n<li>\n      <b>EFS depolamas\u0131n\u0131n maliyetini nas\u0131l optimize edebilirim?<\/b><\/p>\n<p>Maliyeti optimize etmek i\u00e7in \"Infrequent Access (IA)\" depolama s\u0131n\u0131f\u0131n\u0131 ve EFS Ya\u015fam D\u00f6ng\u00fcs\u00fc Y\u00f6netimi politikalar\u0131n\u0131 kullan\u0131n. Az eri\u015filen verileri otomatik olarak IA s\u0131n\u0131f\u0131na ta\u015f\u0131yarak \u00f6nemli \u00f6l\u00e7\u00fcde tasarruf sa\u011flayabilirsiniz. Ayr\u0131ca, uygulaman\u0131z\u0131n ger\u00e7ek I\/O ihtiya\u00e7lar\u0131na uygun throughput modunu (bursting veya provisioned) se\u00e7mek de maliyet a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<\/li>\n<li>\n      <b>EFS CSI s\u00fcr\u00fcc\u00fcs\u00fc kurulumu i\u00e7in neden IAM rol\u00fc gerekiyor?<\/b><\/p>\n<p>EFS CSI s\u00fcr\u00fcc\u00fcs\u00fc, EKS pod'lar\u0131n\u0131n EFS dosya sistemleri ve eri\u015fim noktalar\u0131 ile etkile\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu etkile\u015fimi y\u00f6netmek (\u00f6rne\u011fin, EFS dosya sistemlerini a\u00e7\u0131klamak, mount hedefleri olu\u015fturmak) i\u00e7in CSI s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn AWS API \u00e7a\u011fr\u0131lar\u0131 yapmas\u0131 gerekir. Bu API \u00e7a\u011fr\u0131lar\u0131 i\u00e7in gerekli yetkiler, EFS CSI Service Account'\u0131na atanan bir IAM rol\u00fc (IRSA - IAM Roles for Service Accounts) arac\u0131l\u0131\u011f\u0131yla sa\u011flan\u0131r.<\/p>\n<\/li>\n<li>\n      <b>Mobil uyumluluk i\u00e7in HTML'de ne gibi \u00f6nlemler almal\u0131y\u0131m?<\/b><\/p>\n<p>Modern HTML ve CSS yakla\u015f\u0131mlar\u0131, mobil uyumlulu\u011fu sa\u011flamak i\u00e7in \u00f6nemlidir. \u00d6rne\u011fin, <code>viewport<\/code> meta etiketi, duyarl\u0131 resimler (<code><picture><\/code> veya <code>srcset<\/code>), esnek kutu modelleri (flexbox, grid) ve medya sorgular\u0131 (<code>@media<\/code>) kullanmak gereklidir. Bu makale, teknik i\u00e7eri\u011fe odakland\u0131\u011f\u0131 i\u00e7in detayl\u0131 CSS \u00f6rnekleri i\u00e7ermemekle birlikte, bir web sayfas\u0131n\u0131n temel yap\u0131s\u0131 i\u00e7in a\u015fa\u011f\u0131daki gibi bir medya sorgusu \u00f6rne\u011fi kullan\u0131labilir:<\/p>\n<pre><code class=\"language-css\">\n    \n        \/* style.css *\/\n        body {\n          font-family: Arial, sans-serif;\n          line-height: 1.6;\n          margin: 0 auto;\n          max-width: 1200px;\n          padding: 20px;\n        }\n\n        h2 {\n          color: #2c3e50;\n        }\n\n        p {\n          margin-bottom: 1em;\n        }\n\n        \/* K\u00fc\u00e7\u00fck ekranlar i\u00e7in stil kurallar\u0131 *\/\n        @media (max-width: 768px) {\n          body {\n            padding: 10px;\n            font-size: 0.9em;\n          }\n          h2 {\n            font-size: 1.5em;\n          }\n          pre code {\n            overflow-x: auto; \/* Kod bloklar\u0131n\u0131n k\u00fc\u00e7\u00fck ekranda kayd\u0131r\u0131labilir olmas\u0131 *\/\n          }\n        }\n\n        \/* Daha k\u00fc\u00e7\u00fck ekranlar i\u00e7in stil kurallar\u0131 *\/\n        @media (max-width: 480px) {\n          h2 {\n            font-size: 1.2em;\n          }\n          ul, ol {\n            padding-left: 20px;\n          }\n        }\n    \n      <\/pre>\n<p><\/code><\/p>\n<p>Bu CSS kurallar\u0131, ekran geni\u015fli\u011fi azald\u0131k\u00e7a metin boyutlar\u0131n\u0131 ve dolgular\u0131 ayarlayarak i\u00e7eri\u011fin okunabilirli\u011fini art\u0131r\u0131r ve kod bloklar\u0131n\u0131n yatay olarak kayd\u0131r\u0131labilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan&hellip;","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-32695","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>EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131<\/title>\n<meta name=\"description\" content=\"Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan zorluklardan biri, farkl\u0131 uygulamalar veya EKS (Elastic Kubernetes Service) k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131n\u0131 tutarl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde sa\u011flamakt\u0131r. Geleneksel yakla\u015f\u0131mlar genellikle karma\u015f\u0131kl\u0131k, performans darbo\u011fazlar\u0131 veya y\u00fcksek maliyetlerle sonu\u00e7lan\u0131rken, AWS EFS (Elastic File System) ve Terraform&#039;un entegrasyonu, bu problemi zarif bir \u015fekilde \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyon sunar. Peki, birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 veriye ayn\u0131 anda eri\u015fmesi gerekti\u011finde nas\u0131l bir strateji izlemeliyiz ve Terraform bu s\u00fcreci nas\u0131l basitle\u015ftirebilir?\" \/>\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\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131\" \/>\n<meta property=\"og:description\" content=\"Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan zorluklardan biri, farkl\u0131 uygulamalar veya EKS (Elastic Kubernetes Service) k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131n\u0131 tutarl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde sa\u011flamakt\u0131r. Geleneksel yakla\u015f\u0131mlar genellikle karma\u015f\u0131kl\u0131k, performans darbo\u011fazlar\u0131 veya y\u00fcksek maliyetlerle sonu\u00e7lan\u0131rken, AWS EFS (Elastic File System) ve Terraform&#039;un entegrasyonu, bu problemi zarif bir \u015fekilde \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyon sunar. Peki, birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 veriye ayn\u0131 anda eri\u015fmesi gerekti\u011finde nas\u0131l bir strateji izlemeliyiz ve Terraform bu s\u00fcreci nas\u0131l basitle\u015ftirebilir?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-24T20:31:24+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=\"26 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131\",\"datePublished\":\"2025-10-24T20:31:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/\"},\"wordCount\":4386,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/\",\"name\":\"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-24T20:31:24+00:00\",\"description\":\"Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan zorluklardan biri, farkl\u0131 uygulamalar veya EKS (Elastic Kubernetes Service) k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131n\u0131 tutarl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde sa\u011flamakt\u0131r. Geleneksel yakla\u015f\u0131mlar genellikle karma\u015f\u0131kl\u0131k, performans darbo\u011fazlar\u0131 veya y\u00fcksek maliyetlerle sonu\u00e7lan\u0131rken, AWS EFS (Elastic File System) ve Terraform'un entegrasyonu, bu problemi zarif bir \u015fekilde \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyon sunar. Peki, birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 veriye ayn\u0131 anda eri\u015fmesi gerekti\u011finde nas\u0131l bir strateji izlemeliyiz ve Terraform bu s\u00fcreci nas\u0131l basitle\u015ftirebilir?\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131\"}]},{\"@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":"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131","description":"Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan zorluklardan biri, farkl\u0131 uygulamalar veya EKS (Elastic Kubernetes Service) k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131n\u0131 tutarl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde sa\u011flamakt\u0131r. Geleneksel yakla\u015f\u0131mlar genellikle karma\u015f\u0131kl\u0131k, performans darbo\u011fazlar\u0131 veya y\u00fcksek maliyetlerle sonu\u00e7lan\u0131rken, AWS EFS (Elastic File System) ve Terraform'un entegrasyonu, bu problemi zarif bir \u015fekilde \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyon sunar. Peki, birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 veriye ayn\u0131 anda eri\u015fmesi gerekti\u011finde nas\u0131l bir strateji izlemeliyiz ve Terraform bu s\u00fcreci nas\u0131l basitle\u015ftirebilir?","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\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/","og_locale":"tr_TR","og_type":"article","og_title":"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131","og_description":"Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan zorluklardan biri, farkl\u0131 uygulamalar veya EKS (Elastic Kubernetes Service) k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131n\u0131 tutarl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde sa\u011flamakt\u0131r. Geleneksel yakla\u015f\u0131mlar genellikle karma\u015f\u0131kl\u0131k, performans darbo\u011fazlar\u0131 veya y\u00fcksek maliyetlerle sonu\u00e7lan\u0131rken, AWS EFS (Elastic File System) ve Terraform'un entegrasyonu, bu problemi zarif bir \u015fekilde \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyon sunar. Peki, birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 veriye ayn\u0131 anda eri\u015fmesi gerekti\u011finde nas\u0131l bir strateji izlemeliyiz ve Terraform bu s\u00fcreci nas\u0131l basitle\u015ftirebilir?","og_url":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-24T20:31:24+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"26 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131","datePublished":"2025-10-24T20:31:24+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/"},"wordCount":4386,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/","url":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/","name":"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-24T20:31:24+00:00","description":"Da\u011f\u0131t\u0131k sistemler ve mikroservis mimarileri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131 haline geldi. Ancak, bu mimarilerde en s\u0131k kar\u015f\u0131la\u015f\u0131lan zorluklardan biri, farkl\u0131 uygulamalar veya EKS (Elastic Kubernetes Service) k\u00fcmeleri aras\u0131nda veri payla\u015f\u0131m\u0131n\u0131 tutarl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde sa\u011flamakt\u0131r. Geleneksel yakla\u015f\u0131mlar genellikle karma\u015f\u0131kl\u0131k, performans darbo\u011fazlar\u0131 veya y\u00fcksek maliyetlerle sonu\u00e7lan\u0131rken, AWS EFS (Elastic File System) ve Terraform'un entegrasyonu, bu problemi zarif bir \u015fekilde \u00e7\u00f6zmek i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyon sunar. Peki, birden fazla EKS uygulamas\u0131n\u0131n ayn\u0131 veriye ayn\u0131 anda eri\u015fmesi gerekti\u011finde nas\u0131l bir strateji izlemeliyiz ve Terraform bu s\u00fcreci nas\u0131l basitle\u015ftirebilir?","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/eks-uygulamalarinda-terraform-ile-efs-veri-paylasimi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"EKS Uygulamalar\u0131nda Terraform ile EFS Veri Payla\u015f\u0131m\u0131"}]},{"@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\/32695","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=32695"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32695\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}