Sağlayıcılar ve Kaynaklar
Terraform'un çeşitli bulut ve hizmet sağlayıcılarıyla nasıl etkileşim kurduğunu ve altyapının tek tek bileşenlerini kaynak olarak nasıl tanımlayacağınızı anlayın.
Sağlayıcılar ve Kaynaklar, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 1. 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Terraform'un Temel Yapı Taşları
Hoş geldiniz! Terraform, bulut altyapınızı kod kullanarak yönetmenize yardımcı olur. Peki bulut sağlayıcılarıyla gerçekte nasıl iletişim kurar ve oluşturmak istediklerinizi nasıl tanımlarsınız?
Bu derste iki temel kavram tanıtılmaktadır: Sağlayıcılar ve Kaynaklar. Bunlar her Terraform yapılandırmasının temel yapı taşlarıdır ve IaC'nin nasıl çalıştığını anlamak için kritik öneme sahiptir.
Terraform Sağlayıcıları Nedir?
Sağlayıcıyı, Terraform'un harici bir hizmetle veya API ile etkileşim kurmasını sağlayan bir eklenti olarak düşünebilirsiniz. Bu, AWS, Azure veya Google Cloud gibi bir bulut sağlayıcısı ya da GitHub, Kubernetes veya Datadog gibi hizmetler olabilir.
- Her sağlayıcı, kendi hizmeti için gereken özel API çağrılarını bilir.
- İstediğiniz altyapıyı, hizmetin gerçekleştirebileceği eylemlere dönüştürür.
- Terraform'a hangi hizmetin kullanılacağını ve kimlik doğrulamanın nasıl yapılacağını bildirmek için sağlayıcıları yapılandırırsınız.
Sağlayıcı Bloğu Tanımlama
Bir sağlayıcıyı kullanmak için Terraform yapılandırma dosyalarınızda bir provider bloğu tanımlarsınız. Bu blok, sağlayıcının adını ve bulut sağlayıcısının bölgesi gibi ihtiyaç duyduğu yapılandırma ayarlarını belirtir.
AWS sağlayıcısı için yaygın bir örnek:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}Sağlayıcı Kaynağı ve Sürümü
terraform bloğunun required_providers bölümü önemlidir. Terraform'a sağlayıcının nerede bulunacağını (source) ve hangi version sürümünün kullanılacağını söyler. Bu, tutarlılığı sağlar ve beklenmeyen davranışları önler.
- Source: Sağlayıcının kayıt defteri yolunu belirtir (ör.
hashicorp/aws). - Version: Sağlayıcı sürümünü sabitler ve yeni sürümlerdeki geriye dönük uyumsuz değişiklikleri önler.
provider "aws"bloğu, bu sağlayıcı tarafından yönetilen tüm kaynaklar için AWSregiondeğeri gibi özel ayarları yapılandırır.
Terraform Kaynakları Nedir?
Kaynak, altyapınızın tek bir bileşenini açıklayan bir bloktur. Bu, sanal bir makine (VM), ağ, veritabanı, depolama alanı veya kullanıcı hesabı olabilir.
- Her kaynak türü belirli bir sağlayıcı tarafından yönetilir (ör.
aws_s3_bucket, AWS sağlayıcısı tarafından yönetilir). - Kaynağınız için istediğiniz durumu tanımlarsınız; Terraform da bu duruma ulaşmak için çalışır.
- Kaynakların, özelliklerini tanımlayan bağımsız değişkenleri vardır (ör. boyut, ad, konum).
Kaynak Bloğu Tanımlama
Bir kaynağı resource bloğu kullanarak tanımlarsınız. Bu blok iki dize gerektirir:
- Kaynak türü (ör.
aws_s3_bucket). - Yapılandırmanız içinde benzersiz olan yerel bir ad (ör.
my_first_bucket).
Tür, Terraform'a bunun ne tür bir altyapı bileşeni olduğunu söyler; ad ise Terraform'un izleyebilmesi için benzersiz bir tanımlayıcı sağlar.
resource "aws_s3_bucket" "my_first_bucket" {
# Arguments go here to define its properties
}resource "aws_s3_bucket" "my_first_bucket" {
# Arguments go here to define its properties
}Kaynak Bağımsız Değişkenleri ve Özellikleri
Bir resource bloğunun içinde bağımsız değişkenleri belirtirsiniz. Bunlar, altyapı bileşeninin özelliklerini ve yapılandırmasını tanımlayan anahtar-değer çiftleridir. Kullanılabilecek bağımsız değişkenler, kaynak türüne ve onu yöneten sağlayıcıya bağlıdır.
- AWS S3 paketi için bağımsız değişkenler arasında
bucket(benzersiz ad),acl(erişim denetim listesi) veya etiketlendirme içintagsbulunabilir. - Terraform, buluttaki kaynağı istediğiniz duruma uyacak şekilde oluşturmak veya güncellemek için bu bağımsız değişkenleri kullanır.
Birleştirme: Sağlayıcı ve Kaynak
İşte basit ve eksiksiz bir Terraform yapılandırması. AWS sağlayıcısını tanımlar ve ardından bunu kullanarak temel bir S3 paketi oluşturur. Altyapı tanımlamaya başlamak için ihtiyacınız olan tek şey bu dosyadır!
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "my_unique_bucket" {
bucket = "my-coddykit-demo-bucket-12345" # Must be globally unique!
acl = "private"
tags = {
Environment = "Development"
Project = "CoddyKit"
}
}terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "my_unique_bucket" {
bucket = "my-coddykit-demo-bucket-12345" # Must be globally unique!
acl = "private"
tags = {
Environment = "Development"
Project = "CoddyKit"
}
}Terraform İş Akışı Bağlantısı
Terraform komutlarını yürüttüğünüzde sağlayıcılar ve kaynaklar önemli roller üstlenir:
terraform init: Gerekli sağlayıcı eklentilerini indirir.terraform plan: İstenen kaynak durumuna ulaşmak için hangi değişikliklerin gerektiğini belirlemek üzere sağlayıcıyı kullanarak bulut API'siyle iletişim kurar.terraform apply: Sağlayıcıya bu değişiklikleri gerçek bulut altyapınızda yapmasını bildirir.
Altyapınızı yönetirken temel etkileşim noktaları bunlardır.
Hızlı Kontrol: Sağlayıcının Rolü
Sağlayıcılar ve kaynaklar hakkında bilgi edindiniz. Şimdi rollerini doğru şekilde belirleyip belirleyemediğinizi görelim.
Özet: Sağlayıcılar ve Kaynaklar
Harika iş! Bu derste Terraform'daki en önemli iki kavram hakkında temel bir anlayış kazandınız:
- Sağlayıcılar: Terraform'un çeşitli bulut hizmetleri ve API'lerle etkileşim kurmasını sağlayan temel eklentilerdir. Hangi hizmetin kullanılacağını ve kimlik doğrulamanın nasıl yapılacağını belirtmek için bunları yapılandırırsınız.
- Kaynaklar: Yapılandırmanızda tanımladığınız bağımsız altyapı bileşenleridir. İstenen durumlarını tanımlamak için türleri ve bağımsız değişkenleri vardır.
Bu iki öğe birlikte çalışarak altyapınızı kod olarak verimli bir şekilde tanımlamanıza ve yönetmenize olanak tanır!
Sıkça Sorulan Sorular
“Sağlayıcılar ve Kaynaklar” dersi ücretsiz mi?
Evet — “Sağlayıcılar ve Kaynaklar” 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Sağlayıcılar ve Kaynaklar” dersinde ne öğreneceğim?
Terraform'un çeşitli bulut ve hizmet sağlayıcılarıyla nasıl etkileşim kurduğunu ve altyapının tek tek bileşenlerini kaynak olarak nasıl tanımlayacağınızı anlayın. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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 1. dersidir.
“Sağlayıcılar ve Kaynaklar” 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- Sağlayıcılar ve Kaynaklar
- Değişkenler ve Çıktılar
- Durum Yönetimi Temelleri
- Modüller ve Kod Yeniden Kullanımı