Veri Kaynaklarıyla Veri Sorgulama
Mevcut altyapı veya harici hizmetler hakkındaki bilgileri almak için veri kaynaklarından yararlanın; böylece daha dinamik ve uyarlanabilir yapılandırmalar oluşturun.
Veri Kaynaklarıyla Veri Sorgulama, 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.
Veri Kaynakları Nedir?
Terraform'da çoğu zaman mevcut altyapıya veya geçerli yapılandırmamız tarafından yönetilmeyen harici verilere başvurmamız gerekir.
Veri Kaynakları tam da bu noktada devreye girer! Terraform yapılandırmanızın daha önce sağlanmış kaynaklar veya harici hizmetler hakkındaki bilgileri almasını sağlar.
Veri Kaynakları ve Kaynaklar
Veri kaynaklarını kaynaklardan ayırt etmek önemlidir.
- Kaynaklar, Terraform'un oluşturacağı, güncelleyeceği veya sileceği altyapıyı tanımlar.
- Veri Kaynakları yalnızca mevcut altyapı veya veriler hakkındaki bilgileri alır. Herhangi bir şey oluşturmaz veya değiştirmez.
Bunları altyapınız için salt okunur sorgular olarak düşünebilirsiniz.
Pratik Kullanım Alanları
Veri kaynakları şu işlemler için son derece kullanışlıdır:
- Mevcut bir Virtual Private Cloud'un (VPC) ID'sini bulmak.
- Bir EC2 örneği için en güncel Amazon Machine Image'ı (AMI) almak.
- Gizli bilgileri bir gizli bilgi yönetimi hizmetinden almak.
- DNS kayıtlarını veya ağ yapılandırmalarını aramak.
Yapılandırmalarınızı daha dinamik ve sabit kodlanmış değerlerden daha az bağımlı hâle getirirler.
Veri Kaynağı Tanımlama
Bir veri kaynağı bloğu, kaynak bloğuna benzer. data anahtar sözcüğüyle başlar; bunu sağlayıcı ve tür, ardından da yerel ad izler.
data "aws_vpc" "selected" {
filter {
name = "tag:Name"
values = ["my-existing-vpc"]
}
}Alınan Verileri Kullanma
Bir veri kaynağı bilgileri aldıktan sonra, öznitelikleri yapılandırmanızın diğer bölümlerinde kullanılabilir hâle gelir. Bunlara şu söz dizimini kullanarak başvurabilirsiniz: data.<TYPE>.<NAME>.<ATTRIBUTE>.
Örneğin, seçtiğimiz VPC'nin ID'sini almak için:
output "vpc_id" {
value = data.aws_vpc.selected.id
}En Güncel AMI'yi Alma
Yaygın görevlerden biri, bir EC2 örneği için en güncel Amazon Machine Image'ı (AMI) bulmaktır. Bu, AMI ID'lerini sabit kodlama gereğini ortadan kaldırarak yapılandırmanızı daha sağlam hâle getirir.
En güncel Amazon Linux 2 AMI'sini şu şekilde alabilirsiniz:
provider "aws" {
region = "us-east-1"
}
data "aws_ami" "amazon_linux_2" {
most_recent = true
owners = ["amazon"]
filter {
name = "name"
values = ["amzn2-ami-hvm-*-x86_64-gp2"]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
}
output "latest_ami_id" {
value = data.aws_ami.amazon_linux_2.id
}Dinamik S3 İlke Belgesi
Veri kaynakları yalnızca bulut kaynakları için kullanılmaz. aws_iam_policy_document veri kaynağı, karmaşık IAM ilkelerini yapılandırılmış bir şekilde oluşturmaya yardımcı olur.
Bir ilke oluşturmaz; bunun yerine daha sonra S3 klasörü gibi bir kaynağa uygulayabileceğiniz JSON belgesini oluşturur.
provider "aws" {
region = "us-east-1"
}
data "aws_iam_policy_document" "s3_read_only_policy" {
statement {
principals {
type = "AWS"
identifiers = ["arn:aws:iam::123456789012:user/example-user"]
}
actions = [
"s3:GetObject",
"s3:ListBucket"
]
resources = [
"arn:aws:s3:::my-example-bucket",
"arn:aws:s3:::my-example-bucket/*"
]
}
}
output "policy_json" {
value = data.aws_iam_policy_document.s3_read_only_policy.json
}Aramanızı İyileştirme
Birçok veri kaynağı filter bloklarını destekler. Bunlar, sonuçları daraltmak ve doğru kaynağı veya veriyi aldığınızdan emin olmak için ölçütler belirtmenizi sağlar.
Filtreler genellikle bir name (filtrelenecek öznitelik) ve values (bu öznitelik için kabul edilebilir değerlerin listesi) kabul eder.
data "aws_instance" "web" {
instance_state_names = ["running"]
filter {
name = "tag:Environment"
values = ["production"]
}
filter {
name = "instance-type"
values = ["t2.micro", "t3.micro"]
}
}Veri Kaynağı İçin En İyi Uygulamalar
Yapılandırmalarınızı düzenli ve verimli tutmak için:
- Belirli Olun: Belirsizliği önlemek ve ihtiyacınız olan tam veriyi almak için filtreleri kullanın.
- İdempotentlik: Veri kaynakları doğaları gereği idempotenttir; yani birden çok kez çalıştırıldıklarında aynı sonucu üretirler.
- Çağrıları Azaltın:
terraform planişlemlerini hızlandırmak için verileri yalnızca gerektiğinde alın. - Çıktılarla Birleştirin: Diğer yapılandırmaların veya kullanıcıların ihtiyaç duyabileceği alınmış verileri dışa sunmak için çıktıları kullanın.
Veri Kaynağı Testi
Aşağıdaki ifadelerden hangileri Terraform Veri Kaynakları için DOĞRUDUR?
Özet: Veri Sorgulama
Terraform veri kaynaklarının, mevcut altyapı veya harici hizmetler hakkındaki bilgileri sorgulamak ve almak için yapılandırmalarınızı nasıl etkinleştirdiğini öğrendiniz.
Bu güçlü özellik, sabit kodlanmış değerlerden kaçınarak ve ortamınızın güncel durumuna uyum sağlayarak dinamik, esnek ve sağlam yapılandırmalar oluşturmanızı sağlar. Unutmayın: veri kaynakları yalnızca okur, hiçbir zaman oluşturmaz veya değiştirmez!
Sıkça Sorulan Sorular
“Veri Kaynaklarıyla Veri Sorgulama” dersi ücretsiz mi?
Evet — “Veri Kaynaklarıyla Veri Sorgulama” 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.
“Veri Kaynaklarıyla Veri Sorgulama” dersinde ne öğreneceğim?
Mevcut altyapı veya harici hizmetler hakkındaki bilgileri almak için veri kaynaklarından yararlanın; böylece daha dinamik ve uyarlanabilir yapılandırmalar oluşturun. 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.
“Veri Kaynaklarıyla Veri Sorgulama” 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
- Veri Kaynaklarıyla Veri Sorgulama
- Yerel ve Uzak Çalıştırma Sağlayıcıları
- Null Kaynakları ve Tetikleyiciler
- Harici Verileri ve Şablonları Kullanma