Terraform ve API ile DNS Yönetimi
DNS kayıtlarını panelden tek tek düzenlemek küçük projelerde yeterlidir. Sunucu sayınız arttığında ya da altyapınızı kodla kuruyorsanız DNS yönetimini Terraform ve API ile yapmak hatayı azaltır ve değişiklikleri izlenebilir kılar. Gyro DNS'in API'si, gyro komut satırı aracı ve Terraform sağlayıcısı bu iş için hazır.

Başlamadan önce
- Bir Gyro DNS hizmetiniz olmalı. API, CLI ve Terraform ücretsiz pakette de vardır. Örneklerde hizmet numarası
789. - Müşteri panelinden bir API anahtarı oluşturun. Anahtar
wck_ile başlar. Ayrıntılar Gyro API ilk adım rehberinde. - Komut satırı aracını kurmak için gyro CLI kurulum rehberine bakın. Kurulumdan sonra
gyro configureile anahtarınızı kaydedin.
Terraform ile zone ve kayıtlar
Sağlayıcı Terraform Registry'de gyro-hosting/gyro adıyla yayında. API anahtarınızı GYRO_TOKEN ortam değişkenine verin:
terraform {
required_providers {
gyro = {
source = "gyro-hosting/gyro"
}
}
}
provider "gyro" {} # API anahtarını GYRO_TOKEN ortam değişkeninden okur
Zone için gyro_dns_zone, her ad ve tip için gyro_dns_record kaynağını kullanırsınız:
resource "gyro_dns_zone" "ornek" {
service_id = 789 # Gyro DNS hizmet numaranız
name = "ornek.com.tr"
dnssec = true
}
resource "gyro_dns_record" "www" {
service_id = gyro_dns_zone.ornek.service_id
zone = gyro_dns_zone.ornek.name
name = "www"
type = "A"
ttl = 300
records = ["203.0.113.10"]
}
resource "gyro_dns_record" "mx" {
service_id = gyro_dns_zone.ornek.service_id
zone = gyro_dns_zone.ornek.name
name = "@"
type = "MX"
records = ["10 mx1.ornek.com.tr."]
}
output "nameservers" { value = gyro_dns_zone.ornek.nameservers }
output "ds_records" { value = gyro_dns_zone.ornek.ds_records }
Birkaç önemli nokta:
- Zone, sahipliği doğrulanınca yayına girer.
statusdeğeripendingise ad sunucularınınameserversçıktısındaki adlara çevirin ya daverification_txt_name/verification_txt_valueTXT kaydını mevcut DNS'inize ekleyin. gyro_dns_recordbir adın o tipteki bütün değerlerini birlikte yönetir.recordslistesindeki her öğe zone dosyası sözdizimindedir. Sonunda nokta olmayan adlar zone'a göre görelidir.dnssec = truesonrasıds_recordsçıktısını alan adı kayıt firmanıza girin. DNSSEC'i kapatmadan önce DS kaydını oradan kaldırın.- Mevcut zone'u içe almak için:
terraform import gyro_dns_zone.ornek 789/ornek.com.tr, kayıt için:terraform import gyro_dns_record.www 789/ornek.com.tr/www/A.
Bulut sunucularını da Terraform ile kuruyorsanız kaydın değerini doğrudan sunucu kaynağından alabilirsiniz. Örnek için Terraform ile Gyro Bulut rehberine bakın.
gyro CLI ile
Komut satırı aracındaki DNS komutları gyro dns zone, gyro dns rrset, gyro dns dnssec ve gyro dns health gruplarındadır:
gyro dns zone create 789 --name ornek.com.tr
gyro dns zone list 789
gyro dns rrset set 789 ornek.com.tr --name www --type A --ttl 300 --records 203.0.113.10
gyro dns rrset list 789 ornek.com.tr
gyro dns dnssec enable 789 ornek.com.tr
gyro dns zone export 789 ornek.com.tr
Silme işlemleri onay ister. Betiklerde --yes, yalnız isteği görmek için --dry-run kullanabilirsiniz. Sağlık kontrollü kayıt örneği sağlık kontrollü DNS yazımızda.
REST API ile
DNS uçları /api/v1/client/cloud/dns/{id}/… altındadır: zone'lar, kayıtlar, DNSSEC, içe/dışa aktarma ve sağlık kontrolleri. Bir kayıt kümesini oluşturmak ya da değiştirmek için:
curl -X PUT \
https://www.gyrohosting.com/api/v1/client/cloud/dns/789/zones/ornek.com.tr/records \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"www","type":"A","ttl":300,"records":["203.0.113.10"]}'
Silme, DNSSEC kapatma ve zone içe aktarma gibi işlemler gövdede "confirm": true ister. Varsayılan sınır anahtar başına dakikada 60 istektir; yanıt başlıklarındaki X-RateLimit-* değerlerini izleyin. Tüm uçların açıklaması geliştirici belgelerinde.
Sonraki adımlar
Gyro DNS API, CLI ve Terraform rehberinde daha fazla örnek bulabilirsiniz. Gyro DNS hakkında genel bilgi için duyuru yazımıza, trafiği birden fazla sunucuya dağıtmak için Gyro Bulut Yük Dengeleyici yazısına bakabilirsiniz.
Yorumlar0
Henüz Yorum Yok
İlk düşüncenizi paylaşan siz olun.
Yorum bırakmak için lütfen giriş yapın veya kaydolun.