0Pricing
Terraform Infrastructure as Code · Ders

Yerel ve Uzak Çalıştırma Sağlayıcıları

Komutları Terraform'u çalıştıran makinede veya sırasıyla oluşturulan kaynaklarda çalıştırmak için `local-exec` ve `remote-exec` sağlayıcılarını uygulayın.

Yerel ve Uzak Çalıştırma Sağlayıcıları, CoddyKit'te ücretsiz bir Terraform Infrastructure as Code dersidir. Bu, 4 dersinin 2. 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.

Terraform Sağlayıcılarıyla Tanışın

Terraform bir kaynak oluşturduktan sonra bir betik veya komut çalıştırmanız gerekirse ne olur? İşte burada sağlayıcılar devreye girer!

Sağlayıcılar, yaşam döngüsünün bir parçası olarak yerel makinede veya uzak bir kaynakta eylemler gerçekleştirmenizi sağlar. Altyapı oluşturma ile ilk yazılım kurulumu arasındaki boşluğu kapatırlar.

Bunları, kaynaklarınızı oluşturulduktan hemen sonra özelleştirmenizi sağlayan kancalar olarak düşünebilirsiniz.

`local-exec`: Yerel Olarak Çalıştırma

local-exec sağlayıcısı, komutları Terraform'un çalıştırıldığı makinede çalıştırır.

Şu görevler için kullanışlıdır:

  • Yapılandırma dosyalarını yerel olarak oluşturmak.
  • Yerel betikleri veya araçları tetiklemek.
  • Kaynak silindikten sonra temizlik işlemleri gerçekleştirmek.

Bulut kaynağının üzerinde gerçekleştirilmesi gerekmeyen eylemler için idealdir.

`local-exec` Temel Örneği

local-exec sağlayıcısının bir null kaynağı oluşturulduktan sonra yerel makinenizde nasıl basit bir dosya oluşturduğuna bakalım.

null_resource, bulutta herhangi bir şey oluşturmayan ancak sağlayıcıları tetiklemek için kullanışlı olan bir yer tutucudur.

resource "null_resource" "local_file_creator" {
  provisioner "local-exec" {
    command = "echo 'Local file created by Terraform!' > local_output.txt"
  }

  triggers = {
    always_run = timestamp()
  }
}

`local-exec` Ne Zaman Kullanılır?

local-exec şu işlemler için uygundur:

  • Dağıtım sonrası bildirimler: E-posta veya Slack iletisi göndermek.
  • Yerel dosya oluşturma: Ansible veya diğer araçlar için envanter dosyaları oluşturmak.
  • Dağıtım öncesi denetimler: Yerel doğrulama betiklerini çalıştırmak.
  • Sürekli tümleştirmeyi ve sürekli teslimi tetikleme: Altyapı değişikliklerinden sonra bir işlem hattı başlatmak.

Bu sağlayıcının terraform apply komutunu çalıştırdığınız yerden işlem yaptığını unutmayın.

`remote-exec`: Kaynak Üzerinde Çalıştırma

local-exec'in aksine remote-exec sağlayıcısı komutları doğrudan uzak kaynağın üzerinde çalıştırır.

Yeni oluşturulmuş bir sunucuda şu ilk kurulum görevleri için hayati önem taşır:

  • Yazılım paketlerini yüklemek (ör. web sunucusu veya veritabanı).
  • İşletim sistemi ayarlarını yapılandırmak.
  • Uygulama kodunu dağıtmak.

Hedef kaynağa ulaşmak için ağ bağlantısı (Linux için SSH veya Windows için WinRM gibi) gerekir.

`remote-exec` İçin Bağlanma

remote-exec'in çalışması için Terraform'un kaynağınıza bağlanması gerekir.

Yaygın bağlantı türleri şunlardır:

  • SSH: Özel anahtar gerektiren Linux örnekleri için.
  • WinRM: Kimlik bilgileri gerektiren Windows örnekleri için.

Bağlantı ayrıntılarını genellikle provisioner bloğunda yapılandırır veya bunları kaynaktan devralırsınız.

EC2 Üzerinde `remote-exec`

Yeni bir AWS EC2 örneğine Apache yüklemek için remote-exec'i şu şekilde kullanabilirsiniz.

Not: Bunun için bir EC2 örneğinin sağlanmış ve SSH üzerinden erişilebilir olması gerekir. Basitlik amacıyla mevcut bir anahtar çifti ve güvenlik grubu olduğunu varsayıyoruz.

resource "aws_instance" "web_server" {
  ami           = "ami-0abcdef1234567890" # Replace with valid AMI ID
  instance_type = "t2.micro"
  key_name      = "my-ssh-key" # Replace with your SSH key name
  vpc_security_group_ids = ["sg-0123456789abcdef0"] # Replace with your SG ID

  provisioner "remote-exec" {
    inline = [
      "sudo yum update -y",
      "sudo yum install -y httpd",
      "sudo systemctl start httpd",
      "sudo systemctl enable httpd"
    ]
    connection {
      type        = "ssh"
      user        = "ec2-user"
      private_key = file("~/.ssh/my-ssh-key.pem")
      host        = self.public_ip
    }
  }
}

`remote-exec` Ne Zaman Kullanılır?

remote-exec şu işlemler için idealdir:

  • Sunucuları başlangıç için hazırlama: Web sunucuları, veritabanları veya Docker yüklemek.
  • Uygulama dağıtımı: Uygulama kodunu kopyalamak ve yapılandırmak.
  • Yapılandırma yönetimi: Ansible çalışma kitaplarını veya Chef tariflerini doğrudan çalıştırmak.
  • Oluşturma sonrası doğrulama: Yeni örnekte hizmetlerin çalıştığını doğrulamak.

Bir sunucunun ilk durumunu oluşturmak için başvuracağınız araç budur.

Yok Etme Sırasında Hazırlayıcılar

Hazırlayıcılar, bir kaynak yok edilirken de çalıştırılabilir. Bu, temizleme görevleri için kullanışlıdır.

Bir hazırlayıcı bloğunun içinde when = destroy belirtebilirsiniz. Örneğin, bir sunucu sonlandırılmadan önce yük dengeleyiciden kaydını silmek için kullanılabilir.

on_failure davranışı da yapılandırılabilir; bu seçenek, bir hazırlayıcı komutu başarısız olduğunda ne olacağını belirler. Varsayılan olarak hata verir.

Hazırlayıcı Bilgisi

Yeni oluşturulmuş bir sanal makine örneğine Nginx gibi bir web sunucusu yüklemek için hangi hazırlayıcıyı kullanırsınız?

Hazırlayıcılar: Yerel ve Uzak

Kaynak yaşam döngüsü sırasında komutları çalıştırmak için kullanılan güçlü araçlar olan Terraform hazırlayıcılarını inceledik.

  • local-exec, komutları Terraform'un çalıştırıldığı makinede çalıştırır; yerel betik çalıştırma veya bildirim gönderme işlemleri için kullanışlıdır.
  • remote-exec, komutları doğrudan hazırlanan kaynakta çalıştırır; sunucuları yazılımlarla veya yapılandırmalarla başlatmak için idealdir.

Hazırlayıcılar, altyapı dağıtımı ile ilk uygulama kurulumuyla arasındaki boşluğu kapatmaya yardımcı olur. Sırada gelişmiş durum yönetimi tekniklerini inceleyeceğiz!

Sıkça Sorulan Sorular

“Yerel ve Uzak Çalıştırma Sağlayıcıları” dersi ücretsiz mi?

Evet — “Yerel ve Uzak Çalıştırma Sağlayıcıları” 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.

“Yerel ve Uzak Çalıştırma Sağlayıcıları” dersinde ne öğreneceğim?

Komutları Terraform'u çalıştıran makinede veya sırasıyla oluşturulan kaynaklarda çalıştırmak için `local-exec` ve `remote-exec` sağlayıcılarını uygulayı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 2. dersidir.

“Yerel ve Uzak Çalıştırma Sağlayıcıları” 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. Veri Kaynaklarıyla Veri Sorgulama
  2. Yerel ve Uzak Çalıştırma Sağlayıcıları
  3. Null Kaynakları ve Tetikleyiciler
  4. Harici Verileri ve Şablonları Kullanma
← Terraform Infrastructure as Code Sayfasına Dön