> tpl_cld_011
Kod Olarak Altyapı (IaC) Şartnamesi
Kod Olarak Altyapı (IaC) modülerliğini, remote state kilitlemesini, konfigürasyon kayması (drift) tespitini, otomatik policy-as-code denetimlerini (Checkov/tfsec), PR tabanlı plan-uygulama GitOps iş akışlarını ve etki alanı (blast-radius) izolasyonunu kurallara bağlayan üretim standardı.
Modül sınırlarını, state kilitlemeyi, drift telemetrisini, policy-as-code kontrollerini ve GitOps hatlarını kurallara bağlayan kurumsal IaC şartnamesi.
Önemli Teknik Doküman Şablonu ve Hukuki Uyarı
TinyCTO.tv Teknik Doküman Şablon Bildirimi: Bu şablon genel eğitim ve operasyon amaçlı bir başlangıç materyalidir. Hukuki, vergisel, muhasebesel, yatırım, satın alma, mevzuat, güvenlik veya sertifikasyon danışmanlığı değildir. Gereklilikler ülkeye, kuruma, sözleşmeye ve riske göre değişir. Kullanmadan önce yetkin uzmanlarla gözden geçirip uyarlayın.
Çözülen Üretim Problemi
Mühendislik ekipleri yerel şifrelenmemiş state dosyaları, denetlenmemiş provider sürümleri ve terminalden manuel apply komutlarıyla monolitik Terraform kodları yazar; bu da üretim state bozulmasına, drift kör noktalarına ve büyük güvenlik açıklarına yol açar.
Ne Zaman Kullanılmalı?
- •Terraform, OpenTofu, AWS CDK veya Pulumi kod tabanları için şirket genelinde mimari standartlar belirlerken
- •PR speculative plan ve rol tabanlı onay gerektiren otomatik CI/CD GitOps hatları kurarken
- •Remote state şifreleme, DynamoDB/GCS dağıtık kilitleme ve çoklu hesap state izolasyonu yapılandırırken
Ne Zaman Kullanılmamalı?
- •Kapsamlı çoklu bulut stratejik yönetişim modelleri ve organizasyonel FinOps için (TPL-CLD-008 kullanın)
- •Kubernetes küme içi iş yükü manifestoları ve Helm grafik tanımları için (TPL-CLD-012 kullanın)
5 Şablon Bölümü ve Yapısal İskelet
Modüler dizin düzeni oluşturma (terragrunt/env/region/tier); ortamlar (dev/stage/prod) ve altyapı katmanları (network/security/app) arasında state dosyalarını kesin olarak izole ederek hata etki alanını daraltma.
KMS şifrelemeli merkezi nesne depolama (S3/GCS/Azure Blob), sürümleme (versioning), MFA delete ve DynamoDB/yerel backend üzerinden dağıtık kilit mekanizması zorunluluğu.
Atlantis, Spacelift veya GitHub Actions ile PR odaklı altyapı incelemeleri. Infracost maliyet farkı hesaplama, güvenlik taraması ve akran onayı sonrası otomatik plan ve apply.
Şifrelenmemiş diskleri, açık bucket'ları ve wildcard IAM kurallarını plan aşamasından önce yakalamak için Checkov, tfsec ve trivy araçlarını CI hattına entegre etme.
Konsoldan elle yapılan (ClickOps) değişiklikleri tespit etmek için günlük zamanlanmış drift taramaları. Otomatik bildirim ve kodu yeniden uygulayarak veya güncelleyerek uzlaştırma.
Doldurma ve Uygulama Yönergeleri
Bağımsız İnceleme ve Onay Kontrol Listesi
- Tüm zorunlu bölümler dolduruldu
- Gizli anahtar veya parola içermiyor
- Yönetici sponsor onayı alındı
Kod Olarak Altyapı (IaC) Şartnamesi - Örnek Vaka Analizi
Örnek Organizasyon: Kurumsal SaaS Çok Kiracılı Bulut Altyapısı (50+ AWS Hesabı, 200+ Terraform Modülü)
Kurumsal SaaS Çok Kiracılı Bulut Altyapısı (50+ AWS Hesabı, 200+ Terraform Modülü) için eksiksiz operasyonel uygulamayı gösteren gerçek dünya vaka analizi.
- •Zorunlu Spacelift GitOps hatları sayesinde manuel ClickOps müdahalelerini %99,4 oranında ortadan kaldırdı
- •Checkov otomatik policy-as-code kapıları ile 140'tan fazla şifrelenmemiş depolama açığını önledi
- •Çoklu hesap altyapı dağıtım süresini 14 günden 45 dakikaya indirdi
Sıkça Sorulan Sorular
Terraform state dosyaları neden ortama ve altyapı katmanına göre kesin olarak ayrılmalıdır?
Monolitik tek bir state dosyası devasa bir felaket etki alanı (blast radius) yaratır: uygulama kodundaki bir hata ana VPC veya DNS ağını silebilir ve eşzamanlılık kilidi tüm şirketin çalışmasını durdurur. State dosyalarını katmanlara (ağ, veri, güvenlik, servis) bölmek hata alanını izole eder.
GitOps speculative plan mekanizması beklenmeyen bulut maliyet artışlarını nasıl önler?
Speculative plan çekme isteği (PR) açıldığında CI runner üzerinde otomatik çalışır ve Infracost gibi araçlarla plan JSON çıktısını analiz eder. Kod henüz birleştirilmeden önce PR üzerine aylık net maliyet değişimini ($) gösteren bir tablo ekleyerek kontrolsüz harcamaları engeller.
Ekipler düz metin kimlik bilgilerini depoya göndermeden IaC içinde gizli verileri (secrets) nasıl yönetmelidir?
Düz metin parolalar ve API anahtarları asla IaC değişkenlerinde veya Git depolarında saklanmamalıdır. CI runner ortamlarında dinamik OIDC kimlik bilgileri kullanılmalı ve çalışma anında AWS Secrets Manager, HashiCorp Vault veya Azure Key Vault entegrasyonuyla gizli veriler geçici olarak yüklenmelidir.
Teknik Doküman Şablon Paketi
Giriş GerekliTüm boş şablonları, işlenmiş senaryoları ve doğrulama manifestolarını tek bir arşivde indirin.
Yetkili Standartlar ve Kaynaklar
- CIS Amazon Web Services Foundations Benchmark v2.0Center for Internet Security (CIS) • OFFICIAL REQUIREMENT
- Terraform Best Practices & Enterprise Architecture GuideHashiCorp • OFFICIAL REQUIREMENT
- OpenTofu Foundation Manifesto and GitOps Delivery StandardsLinux Foundation / OpenTofu • OFFICIAL REQUIREMENT
