Boru hatlarınıza uyan DNS
Terraform, OctoDNS, Certbot, REST API ve düzgün bir CLI – sabit ücretli yönetilen bir arka uçta DNS-as-Code.
DNS neden yığınınızdaki son manuel şeydir
Infrastructure-as-Code DNS dışında her şeyi kapsar, çünkü DNS genellikle API'si eskimiş bir sağlayıcıdadır.
Neredeyse çalışan Terraform sağlayıcıları
Yarı bakımlı topluluk sağlayıcıları, eksik kayıt türleri, üç ayda bir bozulan kimlik doğrulama. DNS, başarısız olan terraform apply adımı haline gelir.
Düzgün bir CLI yok
Bir bölge değişikliğini betikle yapmak istiyorsunuz. Sağlayıcı bir web arayüzü, eski bir Python SDK ve başka hiçbir şey sunmuyor.
Sorgu başına faturalama sürprizleri
Sorgu başına faturalandırma, maliyeti bir dağıtım planından öngörmeyi zorlaştırır – trafik artışı faturayı habersiz yükseltir.
ACME DNS-01, var olmayan bir eklenti gerektirir
DNS-01 aracılığıyla joker sertifikalar, hangi DNS sağlayıcısında olursanız olun özel bir Certbot kancası yazmak anlamına gelir.
NexDNS ile neler elde edersiniz
DNS'inizin Terraform'unuzla aynı depoda yaşadığını varsayan araçlar.
- Resmi Terraform sağlayıcısı
- Terraform Registry'de
nexdns/nexdns.nexdns_zonevenexdns_recordkaynakları, tam yaşam döngüsü yönetimi, platformla eşzamanlı bakım. - DNS-as-Code ile Go CLI
nexdns apply -f nexdns.yaml– bölgelerinizin bildirimsel YAML temsilini uygulayın. Idempotent, dry-run destekli, CI dostu çıkış kodları.- OctoDNS sağlayıcısı
- OctoDNS'in desteklediği herhangi bir sağlayıcıdan (BIND, Route 53, Cloudflare, Hetzner ve daha fazlası) tek bir
octodns-syncçağrısıyla bölgeleri NexDNS'e senkronize edin. - Let's Encrypt için Certbot DNS eklentisi
certbot-dns-nexdnsresmi bir DNS-01 eklentisidir. Joker sertifikalar otomatik olarak düzenlenir ve yenilenir – özel kanca betikleri yok, webhook proxy'leri yok.- Kapsamlı anahtarlara sahip REST API
- Her panel eyleminin belgelenmiş bir API endpoint'i vardır. API anahtarları belirli eylemlerle sınırlandırılır (
zones.read,records.write,dnssec.manage). Hız sınırları, sizi etkilemeden önce görünür hale gelir. - Sabit fiyatlandırma, sorgu başına faturalama yok
- Starter, Pro, Business, Enterprise – planı ne kadar trafik yönlendirdiğinize göre değil, bölge/kayıt limitlerine göre seçin. Dağıtım planından öngörülebilir maliyet.
Tipik bir DevOps kurulumu
DNS değişiklikleri her şey gibi git incelemesinden geçer.
-
1
Terraform aracılığıyla bölgeler sağlayın
resource "nexdns_zone" "app" { name = "example.com" }– ana Terraform yapılandırmanızın bir parçası, VPC'ler ve Kubernetes kümeleriyle birlikte planlanır ve uygulanır. -
2
Kayıtları kod olarak tanımlayın
Terraform
nexdns_recordkaynaklarını,nexdns applyile YAML'ı veya OctoDNS YAML'ını kullanın. Pipeline'ınızın geri kalanına hangisi uyuyorsa – üçü de aynı arka uca karşı çalışır. -
3
PR'larda DNS değişikliklerini inceleyin
DNS değişiklikleri diff'tir. İnceleyen, tam olarak hangi kayıtların eklendiğini, değiştirildiğini veya silindiğini görür. Artık "biri MX kaydını değiştirdi ve şimdi e-posta bozuk" yok.
-
4
Joker sertifikalar için Certbot'u bağlayın
certbot certonly --dns-nexdns --dns-nexdns-credentials /etc/letsencrypt/nexdns.ini -d '*.example.com'– DNS-01 sınaması uçtan uca işlenir, standart Certbot cron'u aracılığıyla otomatik yenilenir. -
5
API kotalarını izleyin ve uyarı alın
NexDNS hız sınırı başlıkları kalan kotayı açığa çıkarır. Bunları olağan izlemenizle (Prometheus, Datadog) toplayın ve istekler dağıtımlarda başarısız olmaya başlamadan önce uyarı alın.
-
Evet – Terraform Registry'de yayınlanan resmi birinci taraf sağlayıcıdır. Kaynak şekli semver sürümleme ile kararlıdır; kırıcı değişiklikler yalnızca büyük sürüm atlamalarında olur. Durum yönetimi beklediğiniz şekilde çalışır: Terraform bir plan hesaplar, idempotent olarak uygular, sapma algılamayı işler.
-
DNS daha geniş bir altyapı durumunun parçasıysa (karışık kaynaklar, plan-and-apply disiplini) Terraform doğru tercihtir.
nexdns applyile YAML daha hafiftir – DNS birincil ilgi alanı olduğunda daha iyidir (örneğin başka altyapısı olmayıp 50 alan adı yöneten bir ekip). Aynı hesapta her ikisini de kullanabilirsiniz. -
Eklenti DNS-01 sınamasını ele alır; Certbot geri kalan her şeyi yapar. Joker karakterler için DNS-01'i (gerekli olduğu yerde) ve tek adlar için HTTP-01'i (daha basit olduğu yerde) kullanın. Eklenti yalnızca Certbot'un DNS-01'e ihtiyacı olduğunda devreye girer.
-
REST API dakikada 60 isteğe izin verir – hesap başına (kimliği doğrulanmamış isteklerde IP başına). Limit her planda aynıdır, plana bağlı kademe yoktur. Her yanıt
X-RateLimit-Limit,X-RateLimit-RemainingveX-RateLimit-Resetbaşlıklarını, 429 durumunda iseRetry-Afterbaşlığını içerir; böylece istekler başarısız olmaya başlamadan önce hızınızı azaltabilirsiniz. -
Evet. CLI tek bir Go ikilisidir (runner içinde
curl -sL https://get.nexdns.tech/cli | shile kurulabilir) ve Terraform'unnexdnssağlayıcısı standart Terraform CI desenleriyle çalışır. API anahtarları, gereken minimum izinlerle sınırlandırılarak CI gizli değişkenlerinize konulur.
Zaten sahip olduğunuz DNS araçlarını kullanın
Terraform, CLI, OctoDNS, Certbot – zaten kullandığınız araçlar, yerel olarak desteklenir.