Ana içeriğe geç

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_zone ve nexdns_record kaynakları, 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-nexdns resmi 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. 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. 2

    Kayıtları kod olarak tanımlayın

    Terraform nexdns_record kaynaklarını, nexdns apply ile YAML'ı veya OctoDNS YAML'ını kullanın. Pipeline'ınızın geri kalanına hangisi uyuyorsa – üçü de aynı arka uca karşı çalışır.

  3. 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. 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. 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.

Sıkça Sorulan Sorular

En sık sorulan sorular, yanıtlandı.

Belgelere göz atı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 apply ile 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-Remaining ve X-RateLimit-Reset başlıklarını, 429 durumunda ise Retry-After baş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 | sh ile kurulabilir) ve Terraform'un nexdns sağ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.

Bu web sitesinin düzgün çalışmasını sağlamak ve deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bazı çerezler sitenin çalışması için zorunludur, diğerleri ise isteğe bağlıdır.

Tüm çerezleri kabul edebilir veya yalnızca zorunlu olanlarla sınırlayabilirsiniz. Ayrıntılar için Gizlilik Politikası ve Çerez Politikası sayfalarımızı inceleyebilirsiniz.