• Buradasın

    Terraform Eğitim Videosu: Temel Kullanım ve AWS Kaynakları

    youtube.com/watch?v=3WmYXH4ITBA

    Yapay zekadan makale özeti

    • Bu video, DevOps engineer Enver Güner tarafından sunulan Terraform eğitim serisinin ilk dersidir. Eğitmen, daha önce kanalında Linux dersleri de paylaştığını belirtmektedir.
    • Video, Terraform'un ne olduğu, temel özellikleri ve kullanım alanları ile başlayıp, kurulum adımlarını göstermektedir. Ardından AWS hesabına giriş yapma, sanal makine oluşturma, Terraform kurulumu, temel komutlar (init, validate, plan, apply, destroy, fmt) ve AWS kullanıcı, grup ve S3 bucket oluşturma işlemleri adım adım anlatılmaktadır.
    • Eğitim, Terraform'un "infrastructure as code" olarak bilinen, manuel işleri otomatikleştiren bir araç olduğunu vurgulayarak, declarative dil kullanımı, state file tutması ve birden fazla engineer tarafından aynı anda kullanılabilmesi gibi avantajlarını açıklamaktadır. Ayrıca, hata ayıklama teknikleri, provider yapılandırması ve hata mesajlarının nasıl yorumlanacağı da videoda ele alınan konular arasındadır.
    00:06Terraform Dersine Giriş
    • Enver Güner, bir firmada DevOps engineer olarak çalışmakta ve bu kanalda Linux dersleri ve birkaç video çekmiştir.
    • Bugün on veya on iki derslik bir Terraform ders serisi başlatacak ve beginner seviyesinde Terraform'u anlamaya çalışacaktır.
    • İlk derste Terraform'un ne olduğu, ne için kullanıldığı, temel komutları ve bileşenleri hakkında bilgi verilecektir.
    01:14Terraform Nedir?
    • Terraform, manuel olarak yapılan işleri otomatik hale getiren bir araçtır ve "Infrastructure as Code" (İAAC) olarak bilinir.
    • AWS gibi cloud sağlayıcılarında EWS, S3, bucket, EC2, VPC gibi kaynaklara tek tek kod yazarak konsola gidip click by click demeden her şeyi otomatik halde yapabilirsiniz.
    • Terraform, özellikle DevOps engineerleri için olmazsa olmaz bir araçtır çünkü altyapı oluşturmayı otomatikleştirir.
    04:22Terraform'un Avantajları
    • Terraform açık kaynaklı (open source) bir araçtır, bu sayede kullanıcılar eklemeler yapabilir ve eksik gördükleri yerleri düzeltebilir.
    • Çok fazla markette kullanıldığı için karşılaşılan problemlerin çözümleri blog sayfalarında bulunabilir.
    • Terraform diğer cloud sağlayıcılarında da çalışabilir, sadece AWS değil, Azure ve Google Cloud gibi büyük sağlayıcıların kaynaklarını da oluşturabilir.
    06:37Terraform'un Dil ve Çalışma Prensibi
    • Terraform, açık ve anlaşılır bir dil olan HCL (HashiCorp Cloud Language) kullanır.
    • Terraform, declarative (açıklayıcı) bir yaklaşım kullanır; kullanıcılar istedikleri şeyleri bir dosyaya yazıp Terraform bunu otomatik olarak uygular.
    • Imperative (zorunlu) yaklaşım ise, her şeyi tek tek belirtmek gerektiği için daha karmaşık bir yöntemdir.
    10:12Terraform'un Ek Özellikleri
    • Terraform, state file adı verilen bir dosyada yapılan tüm işlemleri tutar, bu da diğer araçlardan ayıran önemli bir özellik.
    • Terraform'un destroy komutu ile yapılan tüm işlemleri saniyeler içinde silip eski haline getirebilirsiniz.
    • Luck statefile özelliği sayesinde aynı firmada çalışan mühendisler aynı anda aynı değişiklikleri yapamaz, böylece karışıklık engellenir.
    12:31Terraform Import ve Virjinler
    • Terraform import commenti, daha önce manuel olarak oluşturulan kaynakları Terraform'un bünyesine alarak sıfırdan başlamamayı sağlar.
    • Terraform virjinleri arasında büyük değişiklikler vardır; örneğin, 0.1.1'den 0.1.4'e geçişte üç virjinde de önemli değişiklikler yapılmıştır.
    • Virjin numarası 0, bir ile başlarsa hala kararsız ve istikrarsız olduğunu, 1.1 ile başlarsa ise kararlı ve istikrarlı bir araç olduğunu gösterir.
    15:31AWS Hesabı ve Makine Oluşturma
    • Bugün AWS hesabına gidip bir instance (makine) oluşturup Terraform'u yükleyip nasıl çalıştığını göreceğiz.
    • AWS konsolunda EC2 (Virtual Makineler) bölümüne giderek North Virginia region'ında yeni bir makine oluşturuyoruz.
    • Makine oluştururken, Terraform'un AWS'de bazı resources oluşturabilmesi için ona bir rol vermemiz gerekiyor.
    18:45Rol Oluşturma ve Makine Kurulumu
    • AWS'de AWS Identity and Access Management (IAM) bölümünden yeni bir rol oluşturuyoruz.
    • Oluşturulan rolü, makine kurulumunda "Role" seçeneğinde seçerek makineye veriyoruz.
    • Makine kurulumunda 22 portun açık olduğunu ve SSH ile bağlanabileceğimizi görüyoruz.
    23:13Makineye Bağlanma ve Terraform Kurulumu
    • Makineye SSH ile bağlanmak için "ssh ec2-user@public-ip" komutunu kullanıyoruz.
    • Makineye Terraform kurmadan önce wget ve anzip gibi gerekli paketleri yüklememiz gerekiyor.
    • Amazon'un oluşturduğu Linux makinesinde wget ve anzip hazır olarak gelmektedir.
    25:38Terraform Kurulumu
    • Terraform kurulumu için Google'da "terraform install" araması yapılarak HP web sitesinden indirme yapılabilir.
    • İndirme işlemi için işletim sistemi seçimi yapılmalı (Mac, Linux, OpenBSD, Solaris, Windows) ve en son versiyon seçilmelidir.
    • İndirilen zip dosyası anzip komutu ile açılıp, bin klasörüne taşınmalıdır.
    29:26Terraform Komutları
    • Terraform'u çalıştırmadan önce "terraform init" komutu ile çalışma ortamı hazırlanmalıdır.
    • "terraform validate" komutu ile yapılandırma dosyalarının doğruluğu kontrol edilebilir.
    • "terraform plan" komutu ile yapılacak işlemler planlanır, "terraform apply" komutu ile uygulanır ve "terraform destroy" komutu ile oluşturulan yapılar silinir.
    33:39GitHub ve Git Kullanımı
    • Yapılan işlemler için GitHub'da yeni bir depo oluşturulabilir.
    • Git, GitHub'daki depoları klonlamak için kullanılan bir araçtır.
    • Git kurulumu için "yum install git" komutu kullanılabilir.
    37:03Terraform Dosyaları
    • Terraform dosyaları .tf uzantısıyla bitmelidir.
    • Terraform ile kullanıcı oluşturma işlemi için bir dosya oluşturulmalıdır.
    38:05Terraform ile AWS Kullanıcı Oluşturma
    • Terraform kullanarak AWS kullanıcı oluşturmak için "terraform user create" komutu kullanılır.
    • En çok kullanılacak web sitesi "char.io registery" olup, birden fazla resource'un beraber kullanıldığı karmaşık bir web sitesidir.
    • İlk derslerde sadece bir resource (kullanıcı) oluşturmak için ilk web sitesi kullanılmalıdır.
    39:40Terraform Kodunun Yapısı
    • Her resource'un bir adı vardır ve bu ad değiştirilemez, sadece resource'un ismi değiştirilebilir.
    • Terraform kodlarında tırnak işareti yerine "curly braket" (körlü braket) kullanılır.
    • Birden fazla resource oluşturmak istendiğinde, her resource için unique isimler kullanılmalıdır.
    41:46Terraform Kodunu Düzenleme
    • Terraform koduna insert modu geçerek yeni resource eklenebilir.
    • "tag" (etiket) özelliği, resource'ları kolayca bulmak için kullanılır ve unique bilgiler içerir.
    • Tag'lar, resource'ın kim tarafından oluşturulduğunu veya hangi ortamda kullanıldığını belirtmek için kullanılabilir.
    45:33Terraform Uygulamasını Çalıştırma
    • Terraform komutunu çalıştırmak için önce Amazon hesabına giriş yapılır ve AWS Users bölümüne gidilir.
    • Terraform komutu çalıştırılmadan önce "terraform init" komutu ile çalışma ortamı hazır hale getirilir.
    • "terraform apply" komutu ile kod çalıştırılır ve belirtilen resource'lar oluşturulur.
    49:15Terraform ve Provider Dosyaları
    • Terraform, AWS'e gitmek için "provider" dosyası oluşturur.
    • Provider dosyası oluşturmak için "provider.tf" dosyası oluşturulmalıdır.
    • Provider dosyası oluşturmak için "terraform docs provider" araması yapılabilir.
    50:25Terraform Provider Yapılandırması
    • Terraform'da provider yapılandırması için gerekli olan "provider tf" komutu kullanılmalıdır.
    • Kodun önüne rakam işareti koyarak açıklama olarak işaretleyebilirsiniz, böylece Terraform bu kısmı kod olarak okumaz.
    • Terraform 13.0 ve sonrası için "provider tf" komutunun kullanılması önerilmektedir.
    52:33Terraform State Dosyası ve Backup
    • Terraform state dosyası, Terraform'un kendi oluşturduğu ve mevcut durumu tutan bir dosyadır.
    • Terraform state backup dosyası, bir önceki durumu gösterir ve gerekirse eskiye dönmek için kullanılabilir.
    • Terraform'un avantajlarından biri, yapılan işlemlerden sonra eskiye dönmek için kolay bir yol sunmasıdır.
    53:52Terraform Komutları ve Grup Oluşturma
    • Terraform'da "tf init" komutu ile yeni bir proje başlatılır ve "tf init" komutu ile açılır.
    • Grup oluşturmak için "aws i" komutu kullanılır ve Terraform'da "io" sayfası özellikle kullanılır.
    • Grup oluştururken "resource name" ve "group id" gibi bilgiler belirtilir, diğer alanlar otomatik olarak oluşturulur.
    57:51Terraform Format Kontrolü ve Uygulama
    • Terraform'da "tffmt" komutu ile format kontrolü yapılabilir ve hatalar tespit edilebilir.
    • "tffmt" komutu, fazladan boşluk gibi hataları düzeltir.
    • "apply" komutu ile değişiklikler uygulanabilir ve "auto-approve" parametresi ile onay sorusu sormadan uygulama yapılabilir.
    1:02:24Grup Üyeliği
    • AWS'de grup üyeliği, bir kişiyi bir gruba atama işlemidir.
    • Gruplar, farklı kullanıcı gruplarına erişim vermek için kullanılır.
    • Bir kişi grupta ise, o gruba verilen erişimlere otomatik olarak sahip olur, gruptan çıkarılırsa da bu erişimlerden yoksun olur.
    1:03:19Terraform ile Grup Üyeliği Oluşturma
    • Google'da "i groups identity management" araması yapılarak grup üyeliği (group membership) konusuna ulaşılmıştır.
    • Terraform ile grup üyeliği oluşturmak için "resource" kullanılarak yeni bir grup ve kişi oluşturulup, bu kişi gruba eklenecektir.
    • Normalde kullanıcı ve grup ayrı ayrı oluşturulurken, bu kod ile aynı anda hem kullanıcı hem grup oluşturulup, kullanıcı gruba otomatik olarak dahil edilecektir.
    1:06:33Terraform Kodu Oluşturma
    • Terraform dosyasında "resources" bölümünde grup ve kullanıcı oluşturulma kodları kopyalanmıştır.
    • Kullanıcı ismi "Ayşe" olarak, grup ismi "Yeni Developers" olarak değiştirilmiştir.
    • Terraform kodu test edildiğinde hata alındı ve çözüm olarak provider kısmında "tf" dosyasının eklenmesi önerilmiştir.
    1:14:27AWS S3 Bucket Oluşturma
    • Amazon'da S3 bucket oluşturmak için "Amazon S3 bucket" araması yapılmıştır.
    • Terraform ile S3 bucket oluşturmak için "resource" kullanılarak benzersiz bir isim verilmesi gerekmektedir.
    • Bucket için ACL (Access Control List) ayarları yapılabilir ve "visibility" özelliği "public" veya "private" olarak belirlenebilir.
    1:17:02Terraform ile AWS Bucket Oluşturma
    • Terraform'da yeni bir özellik olan "virgin" kullanılarak silinen veriler geri getirilebiliyor.
    • Süslü parantez içindeki kodlar kopyalanıp, ACL ve tag ile aynı hizada insert modda ekleniyor.
    • Süslü parantez, "virgin link" ile başladığı için "virgin" altında bitmesi gerekiyor.
    1:18:21Terraform Uygulaması
    • Terraform planlamasını yaparak, st bucket oluşturulacağını ve tag'ler ekleneceğini gösteriyor.
    • "Terraform apply" komutu ile AWS'e gidip bucket oluşturma işlemi başlatılıyor.
    • AWS'de bucket isimleri unique olduğu için, mevcut bir isimle birden fazla bucket oluşturulamıyor.
    1:20:09Bucket Oluşturma ve Kontrol
    • Yeni bir bucket ismi (örneğin "enver youtube iki") belirlenerek "apply" komutu ile oluşturuluyor.
    • Terraform, AWS'e gidip bucket oluşturma işlemini başlatıyor ve başarılı olduğunda bucket'ı kaydediyor.
    • AWS panelinde refresh yapılarak oluşturulan bucket (örneğin "enver youtube iki") görüntülenebiliyor ve özellikleri kontrol edilebiliyor.
    1:22:09Video Kapanışı
    • Bu video, Terraform ile AWS bucket oluşturma konusunda temel bir ders olarak sunulmuş.
    • Video çekiminde ciddi zaman harcanmış ve birkaç kere hata ile karşılaşılmış.
    • İzleyicilerden videoyu beğenmeleri, yorum yapmaları ve paylaşmaları isteniyor, çünkü eğitim videolarının maddi beklentisi yok, amacın daha çok insana ulaşmak.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor