Terraform Infrastructure as Code · Ders

moved ve removed ile Durumu Yeniden Düzenleme

Durum değiştirme komutlarını ve bildirime dayalı moved ve removed bloklarını kullanarak altyapıyı yok etmeden kaynakları güvenle yeniden adlandırın ve yeniden yapılandırın.

4. ders / 413 adım

moved ve removed ile Durumu Yeniden Düzenleme, CoddyKit'te ücretsiz bir Terraform Infrastructure as Code dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Terraform Infrastructure as Code öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Terraform Infrastructure as Code kursu toplamda 4 dersten oluşur.

Yeniden Adlandırma Sorunu

Yapılandırmanızda bir kaynağı yeniden adlandırdığınızda Terraform, eski adresin ortadan kalktığını ve yeni bir adresin ortaya çıktığını görür. Varsayılan olarak kaynağı yok eder ve yeniden oluşturur; bu da hizmet kesintisine veya veri kaybına yol açabilir.

Durumu yeniden düzenleme araçları, Terraform'a kaynağın yalnızca taşındığını söylemenizi sağlar.

Durumu İnceleme

Önce durumda izlenenleri listeleyin. terraform state list komutu, yönetilen tüm kaynak adreslerini gösterir.

terraform state list

Buyurgan state mv

Klasik yaklaşım, durumdaki bir kaynağın adresini yeniden yazan terraform state mv komutudur. Burada bir örneği aws_instance.web adresinden aws_instance.app adresine yeniden adlandırıyoruz.

terraform state mv aws_instance.web aws_instance.app

state mv Komutunun Dezavantajı

state mv, elle bir kez çalıştırılan bir CLI işlemidir. Kodda kaydedilmediği için aynı değişikliği kendi makinelerinde yapan ekip arkadaşlarının işlemi tekrarlaması gerekir. Bu, iş birliğine dayalı iş akışlarında hataya açıktır.

Bildirimsel moved Blokları

moved bloğu, yeniden adlandırmayı yapılandırmanızda kaydeder. Terraform bunu bir sonraki plan sırasında herkes için otomatik olarak uygular; daha sonra bloğu kaldırabilirsiniz.

moved {
  from = aws_instance.web
  to   = aws_instance.app
}

Modüle Taşıma

moved blokları, kaynakları bir modül içine almayı da yönetir. Hedef adres, modül yolunu içerir.

moved {
  from = aws_instance.app
  to   = module.compute.aws_instance.app
}

Planla Doğrulama

Bir moved bloğu ekledikten sonra terraform plan komutunu çalıştırın. Doğru bir taşıma, yok etme veya oluşturma işlemi göstermez; yalnızca adres değişikliği gösterir. Hâlâ bir değiştirme görüyorsanız blok yanlıştır.

terraform plan

Durumdan Kaldırma

Bazen gerçek altyapıyı yok etmeden Terraform'un bir kaynağı yönetmeyi bırakmasını istersiniz. Buyurgan komut terraform state rm komutudur.

terraform state rm aws_instance.legacy

Bildirimsel removed Blokları

Daha yeni Terraform sürümleri bir removed bloğunu destekler. lifecycle { destroy = false } ile kaynak durumdan unutulur ancak gerçek altyapıya dokunulmaz.

removed {
  from = aws_instance.legacy

  lifecycle {
    destroy = false
  }
}

Durum Dosyalarını Bölme

Büyük projelerde terraform state mv -state-out, kaynakları ayrı durum dosyaları arasında taşıyabilir. Bu, tek parçalı bir yapıyı bağımsız olarak uygulanan yığınlara bölmek için kullanışlıdır.

terraform state mv -state-out=network.tfstate \
  aws_vpc.main aws_vpc.main

Yedekler ve Güvenlik

Terraform, durumu değiştirmeden önce bir .backup dosyası yazar. Yine de uzak arka uçlarla çalışırken, bozulmayı önlemek için el ile yapılan işlemlerden önce durumun bir ekip arkadaşı tarafından kilitlenmediğini her zaman doğrulayın.

Kısa Kontrol

Yeniden düzenleme bilginizi test edin.

Özet: Güvenli Durum Yeniden Düzenleme

Artık altyapıyı yok etmeden yeniden yapılandırabilirsiniz:

  • Buyurgan değişiklikler için state mv / state rm.
  • Bildirimsel yeniden adlandırmalar için moved blokları.
  • Yok etmeden unutmak için removed blokları.
  • Her zaman, değiştirme göstermeyen bir planla doğrulama yapın.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Terraform Infrastructure as Code öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
12
Dersler
48

Sıkça Sorulan Sorular

“moved ve removed ile Durumu Yeniden Düzenleme” dersi ücretsiz mi?

Evet — “moved ve removed ile Durumu Yeniden Düzenleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Terraform Infrastructure as Code kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Terraform Infrastructure as Code kursu toplamda 4 dersten oluşur.

“moved ve removed ile Durumu Yeniden Düzenleme” dersinde ne öğreneceğim?

Durum değiştirme komutlarını ve bildirime dayalı moved ve removed bloklarını kullanarak altyapıyı yok etmeden kaynakları güvenle yeniden adlandırın ve yeniden yapılandırın. Terraform Infrastructure as Code ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Terraform Infrastructure as Code öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Terraform Infrastructure as Code, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“moved ve removed ile Durumu Yeniden Düzenleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Terraform Infrastructure as Code dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Terraform Infrastructure as Code dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Uzak Durum Arka Uçları
  2. Durum Kilitleme ve Tutarlılık
  3. Mevcut Kaynakları İçe Aktarma
  4. moved ve removed ile Durumu Yeniden Düzenleme
← Terraform Infrastructure as Code Sayfasına Dön