{"id":39287,"date":"2026-02-18T11:30:43","date_gmt":"2026-02-18T08:30:43","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/"},"modified":"2026-02-18T11:30:43","modified_gmt":"2026-02-18T08:30:43","slug":"aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/","title":{"rendered":"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!"},"content":{"rendered":"<h2>AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!<\/h2>\n<p>Bulut bili\u015fim, modern i\u015f d\u00fcnyas\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. \u00d6zellikle Amazon Web Services (AWS), sundu\u011fu geni\u015f hizmet yelpazesiyle \u015firketlere e\u015fsiz bir esneklik ve \u00f6l\u00e7eklenebilirlik sa\u011fl\u0131yor. Ancak bu avantajlar\u0131n yan\u0131nda, maliyet y\u00f6netimi konusunda dikkatli olunmazsa, beklenmedik ve y\u00fcksek faturalarla kar\u015f\u0131la\u015fmak i\u015ften bile de\u011fil. AWS, kaynaklar\u0131n\u0131z\u0131 siz durdurana kadar \u00fccretlendirmeye devam eder ve bu durum, b\u00fct\u00e7e kontrol\u00fcn\u00fc elden ka\u00e7\u0131rman\u0131n en yayg\u0131n nedenlerinden biridir. \u0130\u015fte tam da bu noktada, b\u00fct\u00e7e uyar\u0131lar\u0131n\u0131 kod olarak da\u011f\u0131tmak (Infrastructure as Code &#8211; IaC) devreye giriyor ve sizi olas\u0131 fatura \u015foklar\u0131ndan koruyor.<\/p>\n<h3>AWS Fatura \u015eoku: Beklenmedik Maliyetlerin Anatomisi<\/h3>\n<p>AWS ekosisteminin karma\u015f\u0131kl\u0131\u011f\u0131 ve dinamik yap\u0131s\u0131, maliyetlerin h\u0131zla y\u00fckselmesine zemin haz\u0131rlayabilir. K\u00fc\u00e7\u00fck bir hata veya g\u00f6zden ka\u00e7an bir detay, ay sonunda y\u00fczleri buru\u015fturacak bir faturaya d\u00f6n\u00fc\u015febilir. Peki, bu beklenmedik maliyetler genellikle nereden kaynaklan\u0131yor?<\/p>\n<h4>Gizli Maliyet Kaynaklar\u0131: Bo\u015fta Duran Kaynaklar ve Veri Transferi<\/h4>\n<p>En s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlardan biri, kullan\u0131lmayan veya yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f kaynaklard\u0131r. Bir EC2 \u00f6rne\u011fini durdurdu\u011funuzu san\u0131rken, asl\u0131nda sadece duraklatm\u0131\u015f olabilirsiniz ve ba\u011fl\u0131 EBS birimi hala size maliyet yaratmaya devam eder. Benzer \u015fekilde, geli\u015ftirme veya test ortamlar\u0131nda unutulan veritabanlar\u0131, S3 bucket&#8217;lar\u0131 veya NAT Gateway&#8217;ler, aktif olarak kullan\u0131lmasalar bile faturaland\u0131r\u0131l\u0131r. Ayr\u0131ca, b\u00f6lgeler aras\u0131 veri transferi (data egress) ve belirli servislerin kendi i\u00e7indeki transfer \u00fccretleri de genellikle g\u00f6z ard\u0131 edilen \u00f6nemli maliyet kalemleridir.<\/p>\n<h4>K\u00fc\u00e7\u00fck Hatalar\u0131n B\u00fcy\u00fck Faturas\u0131: Unutulan Test Ortamlar\u0131 ve Yanl\u0131\u015f Konfig\u00fcrasyonlar<\/h4>\n<p>Geli\u015ftiricilerin veya DevOps ekiplerinin h\u0131zl\u0131ca kurup unuttu\u011fu test ortamlar\u0131, \u00fccretsiz katman (free tier) limitlerinin a\u015f\u0131lmas\u0131, yanl\u0131\u015f b\u00f6lge se\u00e7imiyle daha pahal\u0131 kaynaklar\u0131n kullan\u0131lmas\u0131 veya otomatik \u00f6l\u00e7eklendirme gruplar\u0131n\u0131n yanl\u0131\u015f yap\u0131land\u0131r\u0131lmas\u0131 gibi durumlar, maliyetlerin kontrols\u00fczce artmas\u0131na yol a\u00e7abilir. \u00d6rne\u011fin, bir geli\u015ftirme ekibi bir gecede y\u00fczlerce sunucusuz fonksiyon (Lambda) \u00e7a\u011fr\u0131s\u0131 yaparak k\u00fc\u00e7\u00fck bir deneme yapabilir, ancak bu denemeler yanl\u0131\u015f yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda binlerce dolarl\u0131k bir faturaya d\u00f6n\u00fc\u015febilir.<\/p>\n<h4>Neden Geleneksel \u0130zleme Yetersiz Kal\u0131yor?<\/h4>\n<p>Manuel olarak AWS konsolundan maliyetleri takip etmek, \u00f6zellikle b\u00fcy\u00fck ve dinamik altyap\u0131larda neredeyse imkans\u0131zd\u0131r. Her g\u00fcn onlarca servisin onlarca farkl\u0131 metri\u011fini kontrol etmek, zaman al\u0131c\u0131 ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7tir. AWS Cost Explorer gibi ara\u00e7lar genel bir bak\u0131\u015f sunsa da, anl\u0131k ve proaktif uyar\u0131lar olmadan reaktif bir yakla\u015f\u0131m sergilemenize neden olur. Bu da, sorunu fark etti\u011finizde genellikle i\u015f i\u015ften ge\u00e7mi\u015f demektir.<\/p>\n<h3>Maliyet Y\u00f6netiminin \u00d6nemi ve Geleneksel Y\u00f6ntemlerin Eksiklikleri<\/h3>\n<p>Bulut maliyetlerini y\u00f6netmek, sadece b\u00fct\u00e7eyi korumakla kalmaz, ayn\u0131 zamanda \u015firketlerin finansal sa\u011fl\u0131\u011f\u0131 ve inovasyon kapasitesi \u00fczerinde do\u011frudan etkiye sahiptir. Etkin maliyet y\u00f6netimi, gereksiz harcamalar\u0131 \u00f6nleyerek kaynaklar\u0131n daha verimli kullan\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Proaktif Yakla\u015f\u0131m\u0131n De\u011feri: Reaktif Olmaktan Ka\u00e7\u0131nma<\/h4>\n<p>Maliyet y\u00f6netiminde reaktif olmak (fatura geldikten sonra harekete ge\u00e7mek) yerine proaktif olmak, \u00e7ok daha ak\u0131ll\u0131ca bir stratejidir. Proaktif yakla\u015f\u0131m, potansiyel maliyet a\u015f\u0131mlar\u0131n\u0131 \u00f6nceden tespit etmenizi ve daha b\u00fcy\u00fck sorunlara yol a\u00e7madan m\u00fcdahale etmenizi sa\u011flar. Bu sayede, b\u00fct\u00e7eniz \u00fczerinde tam kontrol sahibi olabilir ve s\u00fcrprizlerle kar\u015f\u0131la\u015fmazs\u0131n\u0131z.<\/p>\n<h4>Manuel B\u00fct\u00e7e Takibinin Zorluklar\u0131: \u0130nsan Hatas\u0131 Riski<\/h4>\n<p>B\u00fcy\u00fck ve karma\u015f\u0131k AWS ortamlar\u0131nda, her bir kayna\u011f\u0131n maliyetini manuel olarak takip etmek neredeyse imkans\u0131zd\u0131r. \u0130nsan fakt\u00f6r\u00fc, hata yapma olas\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r ve bu hatalar genellikle pahal\u0131ya mal olur. Belirli aral\u0131klarla yap\u0131lan manuel kontroller, anl\u0131k maliyet art\u0131\u015flar\u0131n\u0131 g\u00f6zden ka\u00e7\u0131rabilir ve bu da y\u00fcksek faturalara yol a\u00e7abilir.<\/p>\n<h4>FinOps K\u00fclt\u00fcr\u00fcn\u00fcn Y\u00fckseli\u015fi: Geli\u015ftirici ve Finans Ekiplerinin \u0130\u015fbirli\u011fi<\/h4>\n<p>FinOps, finans, operasyon ve geli\u015ftirme ekiplerini bir araya getiren, bulut maliyetlerini y\u00f6netmek i\u00e7in bir k\u00fclt\u00fcrel uygulama ve operasyonel \u00e7er\u00e7evedir. Bu yakla\u015f\u0131m, maliyet \u015feffafl\u0131\u011f\u0131n\u0131 art\u0131r\u0131r, ekiplerin maliyet bilinciyle hareket etmesini te\u015fvik eder ve s\u00fcrekli optimizasyonu hedefler. FinOps prensipleri, b\u00fct\u00e7e uyar\u0131lar\u0131n\u0131n otomasyonunu ve IaC yakla\u015f\u0131mlar\u0131n\u0131 destekler.<\/p>\n<h3>Terraform: Altyap\u0131y\u0131 Kod Olarak Y\u00f6netmenin G\u00fcc\u00fc<\/h3>\n<p>Altyap\u0131y\u0131 Kod Olarak (Infrastructure as Code &#8211; IaC) y\u00f6netmek, modern DevOps pratiklerinin temel ta\u015flar\u0131ndan biridir. Terraform, bu alanda en pop\u00fcler ve g\u00fc\u00e7l\u00fc ara\u00e7lardan biridir.<\/p>\n<h4>IaC Nedir ve Neden Kullanmal\u0131y\u0131z?<\/h4>\n<p>IaC, sunucular, veritabanlar\u0131, a\u011f yap\u0131land\u0131rmalar\u0131 ve di\u011fer altyap\u0131 bile\u015fenleri gibi kaynaklar\u0131, manuel yap\u0131land\u0131rmalar yerine kod dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla y\u00f6netme prati\u011fidir. Bu yakla\u015f\u0131m, altyap\u0131 da\u011f\u0131t\u0131m\u0131n\u0131 tutarl\u0131, tekrarlanabilir ve s\u00fcrd\u00fcr\u00fclebilir hale getirir. IaC sayesinde, altyap\u0131n\u0131z\u0131n versiyon kontrol\u00fcn\u00fc sa\u011flayabilir, de\u011fi\u015fiklikleri kolayca takip edebilir ve h\u0131zl\u0131 bir \u015fekilde geri alabilirsiniz.<\/p>\n<h4>Terraform&#8217;un Avantajlar\u0131: \u00c7oklu Bulut Deste\u011fi ve Mod\u00fcler Yap\u0131<\/h4>\n<p>HashiCorp taraf\u0131ndan geli\u015ftirilen Terraform, HCL (HashiCorp Configuration Language) ad\u0131 verilen sezgisel bir dille altyap\u0131y\u0131 tan\u0131mlaman\u0131za olanak tan\u0131r. En b\u00fcy\u00fck avantajlar\u0131ndan biri, AWS, Azure, Google Cloud gibi farkl\u0131 bulut sa\u011flay\u0131c\u0131lar\u0131 ve hatta \u015firket i\u00e7i (on-premise) altyap\u0131lar\u0131 tek bir ara\u00e7la y\u00f6netebilmesidir. Mod\u00fcler yap\u0131s\u0131 sayesinde, karma\u015f\u0131k altyap\u0131lar\u0131 k\u00fc\u00e7\u00fck, y\u00f6netilebilir par\u00e7alara ay\u0131rabilir ve bu mod\u00fclleri farkl\u0131 projelerde tekrar kullanabilirsiniz. Ayr\u0131ca, &#8220;plan&#8221; komutu ile de\u011fi\u015fiklikleri uygulamadan \u00f6nce \u00f6nizleyebilir, b\u00f6ylece beklenmedik sonu\u00e7lar\u0131n \u00f6n\u00fcne ge\u00e7ebilirsiniz.<\/p>\n<h4>Temel Terraform Kavramlar\u0131: Sa\u011flay\u0131c\u0131lar, Kaynaklar ve De\u011fi\u015fkenler<\/h4>\n<ul>\n<li><strong>Sa\u011flay\u0131c\u0131lar (Providers):<\/strong> Terraform&#8217;un belirli bir platform (\u00f6rne\u011fin AWS) ile ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan eklentilerdir.<\/li>\n<li><strong>Kaynaklar (Resources):<\/strong> Bulut sa\u011flay\u0131c\u0131n\u0131zda olu\u015fturmak istedi\u011finiz altyap\u0131 bile\u015fenleridir (\u00f6rne\u011fin <code>aws_instance<\/code>, <code>aws_s3_bucket<\/code>, <code>aws_budgets_budget<\/code>).<\/li>\n<li><strong>De\u011fi\u015fkenler (Variables):<\/strong> Yap\u0131land\u0131rma kodunuzu dinamik hale getirmek i\u00e7in kullan\u0131lan de\u011ferlerdir. Ortamlar aras\u0131 farkl\u0131l\u0131klar\u0131 y\u00f6netmek i\u00e7in idealdir.<\/li>\n<li><strong>\u00c7\u0131kt\u0131lar (Outputs):<\/strong> Terraform uyguland\u0131ktan sonra elde etmek istedi\u011finiz de\u011ferlerdir (\u00f6rne\u011fin bir EC2 \u00f6rne\u011finin IP adresi).<\/li>\n<\/ul>\n<h3>AWS B\u00fct\u00e7e Uyar\u0131lar\u0131: Mekanizma ve Temel Yap\u0131land\u0131rma<\/h3>\n<p>AWS Budgets, maliyet ve kullan\u0131m e\u015fiklerini belirlemenize ve bu e\u015fiklere yakla\u015f\u0131ld\u0131\u011f\u0131nda veya a\u015f\u0131ld\u0131\u011f\u0131nda bildirim alman\u0131za olanak tan\u0131yan g\u00fc\u00e7l\u00fc bir AWS hizmetidir. Bu sayede, maliyetlerinizi proaktif olarak y\u00f6netebilirsiniz.<\/p>\n<h4>AWS Budgets Nedir? Maliyet ve Kullan\u0131m E\u015fiklerini Belirleme<\/h4>\n<p>AWS Budgets, belirli bir d\u00f6nem i\u00e7in (\u00f6rne\u011fin ayl\u0131k) belirledi\u011finiz bir maliyet veya kullan\u0131m limitine ula\u015f\u0131ld\u0131\u011f\u0131nda sizi uyarmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu uyar\u0131lar, hem ger\u00e7ekle\u015fen (ACTUAL) hem de tahmin edilen (FORECASTED) maliyetler i\u00e7in ayarlanabilir. Bu, hen\u00fcz ay bitmeden potansiyel bir a\u015f\u0131m\u0131 \u00f6ng\u00f6rmenizi sa\u011flar.<\/p>\n<h4>B\u00fct\u00e7e T\u00fcrleri ve Kapsamlar\u0131: Hesap veya Servis Baz\u0131nda Kontrol<\/h4>\n<p>AWS Budgets ile farkl\u0131 t\u00fcrde b\u00fct\u00e7eler olu\u015fturabilirsiniz:<\/p>\n<ul>\n<li><strong>Maliyet B\u00fct\u00e7eleri (Cost Budgets):<\/strong> Belirli bir d\u00f6nemdeki toplam maliyetinizi izler.<\/li>\n<li><strong>Kullan\u0131m B\u00fct\u00e7eleri (Usage Budgets):<\/strong> Belirli bir servisin (\u00f6rne\u011fin EC2 saatleri) kullan\u0131m miktar\u0131n\u0131 izler.<\/li>\n<li><strong>Rezervasyon B\u00fct\u00e7eleri (Reservation Budgets):<\/strong> Rezervasyon sat\u0131n al\u0131mlar\u0131n\u0131z\u0131n (Reserved Instances, Savings Plans) kullan\u0131m oranlar\u0131n\u0131 takip eder.<\/li>\n<\/ul>\n<p>B\u00fct\u00e7elerinizi t\u00fcm AWS hesab\u0131n\u0131z i\u00e7in veya belirli servisler, etiketler (tags), ba\u011flant\u0131l\u0131 hesaplar (linked accounts) veya b\u00f6lgeler (regions) i\u00e7in \u00f6zelle\u015ftirebilirsiniz. Bu sayede, maliyetleri daha gran\u00fcler bir \u015fekilde kontrol edebilirsiniz.<\/p>\n<h4>Uyar\u0131 E\u015fikleri ve Eylem Gruplar\u0131: SNS Entegrasyonu ile Bildirimler<\/h4>\n<p>Her b\u00fct\u00e7e i\u00e7in bir veya daha fazla uyar\u0131 e\u015fi\u011fi tan\u0131mlayabilirsiniz. \u00d6rne\u011fin, b\u00fct\u00e7enizin %80&#8217;ine ula\u015f\u0131ld\u0131\u011f\u0131nda bir uyar\u0131, %100&#8217;\u00fcne ula\u015f\u0131ld\u0131\u011f\u0131nda ise ba\u015fka bir uyar\u0131 alabilirsiniz. Bu uyar\u0131lar genellikle Amazon SNS (Simple Notification Service) konular\u0131 arac\u0131l\u0131\u011f\u0131yla e-posta, SMS veya di\u011fer entegre sistemlere g\u00f6nderilir. Ayr\u0131ca, AWS Budgets ile otomatik eylemler de tan\u0131mlayabilirsiniz. \u00d6rne\u011fin, b\u00fct\u00e7eniz a\u015f\u0131ld\u0131\u011f\u0131nda belirli EC2 \u00f6rneklerini durdurabilir veya bir IAM politikas\u0131n\u0131 uygulayabilirsiniz. Bu, maliyet kontrol\u00fcn\u00fc otomatize etmenin g\u00fc\u00e7l\u00fc bir yoludur.<\/p>\n<h3>Terraform ile AWS B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131tma: Detayl\u0131 Uygulama<\/h3>\n<p>\u015eimdi gelelim i\u015fin en can al\u0131c\u0131 k\u0131sm\u0131na: AWS b\u00fct\u00e7e uyar\u0131lar\u0131n\u0131 Terraform kullanarak nas\u0131l kod olarak da\u011f\u0131tabiliriz? Bu yakla\u015f\u0131m, b\u00fct\u00e7e yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 versiyon kontrol\u00fcne alman\u0131z\u0131, farkl\u0131 ortamlarda tutarl\u0131 bir \u015fekilde uygulaman\u0131z\u0131 ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini otomatize etmenizi sa\u011flar.<\/p>\n<h4>Gerekli Terraform Kaynaklar\u0131: <code>aws_budgets_budget<\/code> ve SNS Entegrasyonu<\/h4>\n<p>Bir AWS b\u00fct\u00e7e uyar\u0131s\u0131n\u0131 Terraform ile olu\u015fturmak i\u00e7in ba\u015fl\u0131ca \u015fu kaynaklara ihtiyac\u0131m\u0131z olacak:<\/p>\n<ul>\n<li><code>aws_sns_topic<\/code>: Bildirimlerin g\u00f6nderilece\u011fi SNS konusunu olu\u015fturmak i\u00e7in.<\/li>\n<li><code>aws_sns_topic_subscription<\/code>: SNS konusuna abone olacak e-posta adreslerini veya di\u011fer protokolleri tan\u0131mlamak i\u00e7in.<\/li>\n<li><code>aws_budgets_budget<\/code>: As\u0131l b\u00fct\u00e7eyi ve uyar\u0131 e\u015fiklerini tan\u0131mlamak i\u00e7in.<\/li>\n<\/ul>\n<h4>Basit Bir B\u00fct\u00e7e Uyar\u0131s\u0131 Tan\u0131mlama: Ayl\u0131k B\u00fct\u00e7e ve E\u015fik Belirleme<\/h4>\n<p>A\u015fa\u011f\u0131daki Terraform kodu, ayl\u0131k 100 USD&#8217;lik bir b\u00fct\u00e7e belirler ve bu b\u00fct\u00e7enin %80&#8217;ine (tahmin edilen) ve %100&#8217;\u00fcne (ger\u00e7ekle\u015fen) ula\u015f\u0131ld\u0131\u011f\u0131nda e-posta yoluyla bildirim g\u00f6nderir. \u00d6ncelikle SNS konusunu ve aboneliklerini tan\u0131ml\u0131yoruz, ard\u0131ndan b\u00fct\u00e7eyi bu konuya ba\u011fl\u0131yoruz.<\/p>\n<h4>Kod \u00d6rne\u011fi: <code>main.tf<\/code> \u0130\u00e7eri\u011fi<\/h4>\n<p>Bu \u00f6rnek, temel bir b\u00fct\u00e7e uyar\u0131s\u0131 kurulumunu g\u00f6stermektedir. Ger\u00e7ek d\u00fcnya senaryolar\u0131nda, de\u011fi\u015fkenleri ve dinamik tarihleri kullanarak daha esnek yap\u0131lar kurabilirsiniz.<\/p>\n<pre><code class=\"language-terraform\">\n# provider.tf\nprovider \"aws\" {\n  region = \"us-east-1\" # Uyar\u0131lar\u0131n uygulanaca\u011f\u0131 AWS b\u00f6lgesi\n}\n\n# variables.tf\nvariable \"budget_amount\" {\n  description = \"Ayl\u0131k b\u00fct\u00e7e tutar\u0131 (USD)\"\n  type        = number\n  default     = 100\n}\n\nvariable \"notification_emails\" {\n  description = \"B\u00fct\u00e7e uyar\u0131lar\u0131n\u0131n g\u00f6nderilece\u011fi e-posta adresleri\"\n  type        = list(string)\n  default     = [\"your-email@example.com\", \"devops-team@example.com\"]\n}\n\n# main.tf\n# B\u00fct\u00e7e uyar\u0131lar\u0131 i\u00e7in bir SNS konusu olu\u015fturuyoruz\nresource \"aws_sns_topic\" \"budget_alerts_topic\" {\n  name = \"aws-budget-alerts-topic\"\n  # \u0130ste\u011fe ba\u011fl\u0131: Eri\u015fim politikas\u0131 eklenebilir\n  policy = jsonencode({\n    Version = \"2012-10-17\",\n    Statement = [\n      {\n        Effect    = \"Allow\",\n        Principal = {\n          Service = \"budgets.amazonaws.com\"\n        },\n        Action    = \"SNS:Publish\",\n        Resource  = \"arn:aws:sns:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:aws-budget-alerts-topic\"\n      }\n    ]\n  })\n}\n\n# Mevcut AWS b\u00f6lgesi ve hesap kimli\u011fini almak i\u00e7in data kaynaklar\u0131\ndata \"aws_region\" \"current\" {}\ndata \"aws_caller_identity\" \"current\" {}\n\n# SNS konusuna e-posta abonelikleri ekliyoruz\nresource \"aws_sns_topic_subscription\" \"email_subscriptions\" {\n  for_each  = toset(var.notification_emails)\n  topic_arn = aws_sns_topic.budget_alerts_topic.arn\n  protocol  = \"email\"\n  endpoint  = each.value\n  # Abonelik onayland\u0131ktan sonra etkinle\u015fir. Terraform manuel onay\u0131 beklemez.\n  # AWS konsolundan e-posta adreslerine gelen onay linkine t\u0131klanmas\u0131 gerekir.\n}\n\n# Ayl\u0131k maliyet b\u00fct\u00e7esi olu\u015fturuyoruz\nresource \"aws_budgets_budget\" \"monthly_cost_budget\" {\n  name              = \"MonthlyCostBudget-${data.aws_caller_identity.current.account_id}\"\n  budget_type       = \"COST\"\n  time_unit         = \"MONTHLY\"\n  # time_period_start dinamik olarak ay\u0131n ilk g\u00fcn\u00fcn\u00fc alabilir veya sabit bir tarih olabilir.\n  # \u00d6rnek i\u00e7in sabit bir tarih kullan\u0131lm\u0131\u015ft\u0131r. Ger\u00e7ek uygulamada dinamikle\u015ftirilmesi \u00f6nerilir.\n  time_period_start = \"2023-01-01_00:00\" # YYYY-MM-DD_HH:MM format\u0131nda olmal\u0131\n  limit_amount      = var.budget_amount\n  limit_unit        = \"USD\"\n\n  # B\u00fct\u00e7enin %80'ine ula\u015f\u0131ld\u0131\u011f\u0131nda (tahmin edilen maliyet) uyar\u0131\n  notification {\n    comparison_operator        = \"GREATER_THAN\"\n    threshold                  = 80\n    threshold_type             = \"PERCENTAGE\"\n    notification_type          = \"FORECASTED\" # Tahmin edilen maliyet i\u00e7in\n    subscriber_sns_topic_arns  = [aws_sns_topic.budget_alerts_topic.arn]\n  }\n\n  # B\u00fct\u00e7enin %100'\u00fcne ula\u015f\u0131ld\u0131\u011f\u0131nda (ger\u00e7ekle\u015fen maliyet) uyar\u0131\n  notification {\n    comparison_operator        = \"GREATER_THAN\"\n    threshold                  = 100\n    threshold_type             = \"PERCENTAGE\"\n    notification_type          = \"ACTUAL\" # Ger\u00e7ekle\u015fen maliyet i\u00e7in\n    subscriber_sns_topic_arns  = [aws_sns_topic.budget_alerts_topic.arn]\n  }\n\n  # \u0130ste\u011fe ba\u011fl\u0131: Otomatik eylemler tan\u0131mlayarak maliyet kontrol\u00fcn\u00fc otomatize edebilirsiniz.\n  # \u00d6rne\u011fin, b\u00fct\u00e7e a\u015f\u0131ld\u0131\u011f\u0131nda belirli EC2 \u00f6rneklerini durdurmak.\n  \/*\n  action {\n    action_type = \"STOP_EC2_INSTANCES\" # Durdurulacak EC2 \u00f6rnekleri i\u00e7in bir IAM rol\u00fc ve politikas\u0131 gereklidir\n    definition {\n      iam_action_definition {\n        policy_arn = \"arn:aws:iam::${data.aws_caller_identity.current.account_id}:policy\/BudgetStopEC2Policy\"\n        roles      = [\"arn:aws:iam::${data.aws_caller_identity.current.account_id}:role\/BudgetActionRole\"]\n      }\n    }\n    notification_type = \"ACTUAL\"\n    threshold         = 120 # B\u00fct\u00e7enin %120'sine ula\u015f\u0131ld\u0131\u011f\u0131nda\n    threshold_type    = \"PERCENTAGE\"\n    execution_type    = \"AUTOMATIC\"\n    # approval_model = \"AUTOMATIC\" veya \"MANUAL_APPROVAL\" olabilir\n  }\n  *\/\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu kodu uygulad\u0131ktan sonra (<code>terraform init<\/code>, <code>terraform plan<\/code>, <code>terraform apply<\/code>), belirtti\u011finiz e-posta adreslerine SNS abonelik onay e-postalar\u0131 gelecektir. Bu e-postalar\u0131 onaylamay\u0131 unutmay\u0131n. Aksi takdirde bildirimler size ula\u015fmaz.<\/p>\n<h3>En \u0130yi Uygulamalar ve Maliyet Optimizasyonu \u0130pu\u00e7lar\u0131<\/h3>\n<p>B\u00fct\u00e7e uyar\u0131lar\u0131n\u0131 da\u011f\u0131tmak harika bir ba\u015flang\u0131\u00e7t\u0131r, ancak maliyet optimizasyonu s\u00fcrekli bir s\u00fcre\u00e7tir. \u0130\u015fte size birka\u00e7 ek ipucu:<\/p>\n<h4>\u00c7oklu B\u00fct\u00e7e ve Kapsam Stratejileri: Her Proje i\u00e7in Ayr\u0131 B\u00fct\u00e7e<\/h4>\n<p>Tek bir genel b\u00fct\u00e7e yerine, her proje, departman veya uygulama i\u00e7in ayr\u0131 b\u00fct\u00e7eler olu\u015fturmay\u0131 d\u00fc\u015f\u00fcn\u00fcn. AWS etiketlerini (tags) kullanarak kaynaklar\u0131n\u0131z\u0131 grupland\u0131rabilir ve bu etiketlere \u00f6zel b\u00fct\u00e7eler tan\u0131mlayabilirsiniz. Bu, maliyetlerin nerede olu\u015ftu\u011funu daha net g\u00f6rmenizi ve sorumluluklar\u0131 da\u011f\u0131tman\u0131z\u0131 sa\u011flar.<\/p>\n<h4>Otomatik Eylemler ile Maliyet Kontrol\u00fc: Lambda ve EC2 Durdurma<\/h4>\n<p>AWS Budgets'\u0131n otomatik eylem yeteneklerini kullanarak, belirli bir e\u015fi\u011fe ula\u015f\u0131ld\u0131\u011f\u0131nda otomatik olarak kaynaklar\u0131 durdurabilir veya de\u011fi\u015ftirebilirsiniz. \u00d6rne\u011fin, geli\u015ftirme ortam\u0131ndaki EC2 \u00f6rneklerini belirli bir maliyet e\u015fi\u011fi a\u015f\u0131ld\u0131\u011f\u0131nda otomatik olarak durduracak eylemler tan\u0131mlayabilirsiniz. Daha karma\u015f\u0131k senaryolar i\u00e7in, bir b\u00fct\u00e7e uyar\u0131s\u0131 bir Lambda fonksiyonunu tetikleyerek \u00f6zel otomasyonlar ger\u00e7ekle\u015ftirebilir.<\/p>\n<h4>D\u00fczenli \u0130nceleme ve Optimizasyon: Kullan\u0131lmayan Kaynaklar\u0131 Temizleme<\/h4>\n<p>Maliyet raporlar\u0131n\u0131 ve b\u00fct\u00e7e uyar\u0131lar\u0131n\u0131 d\u00fczenli olarak inceleyin. Hangi servislerin maliyetleri art\u0131rd\u0131\u011f\u0131n\u0131, hangi kaynaklar\u0131n bo\u015fta durdu\u011funu tespit edin. Kullan\u0131lmayan EBS birimleri, eski snapshot'lar, bo\u015fta duran y\u00fck dengeleyiciler veya NAT Gateway'ler gibi kaynaklar\u0131 d\u00fczenli olarak temizleyin. AWS Cost Explorer ve AWS Trusted Advisor gibi ara\u00e7lar bu konuda size yard\u0131mc\u0131 olabilir.<\/p>\n<h4>Tagging Stratejileri: Kaynaklar\u0131 Do\u011fru Etiketleme<\/h4>\n<p>T\u00fcm AWS kaynaklar\u0131n\u0131z\u0131 tutarl\u0131 bir etiketleme stratejisiyle etiketleyin. Proje ad\u0131, departman, ortam (dev, test, prod) gibi etiketler, maliyetleri analiz etmenizi ve b\u00fct\u00e7eleri daha do\u011fru bir \u015fekilde ataman\u0131z\u0131 sa\u011flar. Etiketleme, maliyetleri izlenebilir k\u0131lman\u0131n temelidir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>AWS'in sundu\u011fu s\u0131n\u0131rs\u0131z esneklik, beraberinde maliyet kontrol\u00fc gibi \u00f6nemli bir sorumlulu\u011fu da getirir. Beklenmedik fatura \u015foklar\u0131ndan ka\u00e7\u0131nmak ve bulut harcamalar\u0131n\u0131z\u0131 etkin bir \u015fekilde y\u00f6netmek i\u00e7in proaktif bir yakla\u015f\u0131m benimsemek \u015fartt\u0131r. Terraform ile AWS b\u00fct\u00e7e uyar\u0131lar\u0131n\u0131 kod olarak da\u011f\u0131tmak, bu proaktif yakla\u015f\u0131m\u0131n temelini olu\u015fturur. Bu sayede, maliyet y\u00f6netimini otomatikle\u015ftirir, insan hatas\u0131 riskini azalt\u0131r ve altyap\u0131n\u0131z\u0131n finansal sa\u011fl\u0131\u011f\u0131n\u0131 g\u00fcvence alt\u0131na al\u0131rs\u0131n\u0131z. Unutmay\u0131n, bulutta maliyet y\u00f6netimi bir kerelik bir g\u00f6rev de\u011fil, s\u00fcrekli bir optimizasyon s\u00fcrecidir. Terraform ile bu s\u00fcreci daha \u015feffaf, tutarl\u0131 ve kontrol edilebilir hale getirebilirsiniz. Art\u0131k AWS'in sizi durmadan \u00fccretlendirmesine izin vermeyin; kontrol\u00fc ele al\u0131n ve b\u00fct\u00e7enizi kod olarak y\u00f6netin!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>AWS B\u00fct\u00e7e Uyar\u0131lar\u0131 \u00dccretli mi?<\/h4>\n<p>AWS Budgets hizmetinin kendisi genellikle \u00fccretsizdir. Ancak, uyar\u0131 bildirimleri i\u00e7in kullan\u0131lan Amazon SNS gibi ek servisler (\u00f6rne\u011fin SMS bildirimleri) i\u00e7in k\u00fc\u00e7\u00fck \u00fccretler \u00f6deyebilirsiniz. E-posta<\/p>\n","protected":false},"excerpt":{"rendered":"AWS ekosisteminin karma\u015f\u0131kl\u0131\u011f\u0131 ve dinamik yap\u0131s\u0131, maliyetlerin h\u0131zla y\u00fckselmesine zemin haz\u0131rlayabilir. K\u00fc\u00e7\u00fck bir hata veya g\u00f6zden ka\u00e7an bir d&#8230;","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":[1406],"tags":[],"class_list":{"0":"post-39287","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-aws","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>AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n! - 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\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!\" \/>\n<meta property=\"og:description\" content=\"AWS ekosisteminin karma\u015f\u0131kl\u0131\u011f\u0131 ve dinamik yap\u0131s\u0131, maliyetlerin h\u0131zla y\u00fckselmesine zemin haz\u0131rlayabilir. K\u00fc\u00e7\u00fck bir hata veya g\u00f6zden ka\u00e7an bir d...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-18T08:30:43+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=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!\",\"datePublished\":\"2026-02-18T08:30:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/\"},\"wordCount\":2219,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AWS\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/\",\"name\":\"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n! - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-18T08:30:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!\"}]},{\"@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":"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n! - 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\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!","og_description":"AWS ekosisteminin karma\u015f\u0131kl\u0131\u011f\u0131 ve dinamik yap\u0131s\u0131, maliyetlerin h\u0131zla y\u00fckselmesine zemin haz\u0131rlayabilir. K\u00fc\u00e7\u00fck bir hata veya g\u00f6zden ka\u00e7an bir d...","og_url":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-18T08:30:43+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!","datePublished":"2026-02-18T08:30:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/"},"wordCount":2219,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AWS"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/","url":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/","name":"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n! - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-18T08:30:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/aws-fatura-kabusuna-son-terraform-ile-butce-uyarilarini-kod-olarak-dagitin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS Fatura Kabusuna Son: Terraform ile B\u00fct\u00e7e Uyar\u0131lar\u0131n\u0131 Kod Olarak Da\u011f\u0131t\u0131n!"}]},{"@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\/39287","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=39287"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39287\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=39287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=39287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=39287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}