DNS dopasowany do Twoich pipeline'ów
Terraform, OctoDNS, Certbot, REST API i pełnoprawne CLI – DNS jako kod na zarządzanym backendzie w cenie ryczałtowej.
Dlaczego DNS to ostatnia rzecz w stacku robiona ręcznie
Infrastructure-as-Code pokrywa wszystko poza DNS, bo DNS zwykle leży u dostawcy z przestarzałym API.
Providerzy Terraform, którzy prawie działają
Zaniedbane providerzy społecznościowi, brakujące typy rekordów, autoryzacja psująca się co kwartał. DNS staje się tym krokiem terraform apply, który się sypie.
Brak pełnoprawnego CLI
Chcesz zeskryptować zmianę w strefie. Dostawca oferuje UI web, przeterminowany SDK w Pythonie i nic więcej.
Niespodzianki w rozliczeniach per zapytanie
Rozliczanie za zapytanie utrudnia przewidzenie kosztu z planu wdrożenia – skok ruchu podnosi rachunek bez ostrzeżenia.
ACME DNS-01 wymaga wtyczki, której nie ma
Certyfikaty wildcard przez DNS-01 oznaczają pisanie własnego hooka Certbota pod aktualnego dostawcę DNS.
Co otrzymujesz z NexDNS
Oprzyrządowanie, które zakłada, że DNS żyje w tym samym repo co Twój Terraform.
- Oficjalny provider Terraform
nexdns/nexdnsw Terraform Registry. Zasobynexdns_zoneinexdns_record, pełne zarządzanie cyklem życia, utrzymywane w synchronizacji z platformą.- Go CLI z deklaratywnym DNS
nexdns apply -f nexdns.yaml– zastosuj deklaratywną reprezentację stref w YAML. Idempotentne, z dry-run, z kodami wyjścia przyjaznymi CI.- Provider OctoDNS
- Synchronizuj strefy z dowolnego dostawcy obsługiwanego przez OctoDNS (BIND, Route 53, Cloudflare, Hetzner i inne) do NexDNS jednym wywołaniem
octodns-sync. - Wtyczka Certbot DNS dla Let's Encrypt
certbot-dns-nexdnsto oficjalna wtyczka DNS-01. Certyfikaty wildcard wydawane i odnawiane automatycznie – bez własnych hooków, bez webhook-proxy.- REST API z kluczami o określonym zakresie
- Każda akcja z panelu ma udokumentowany endpoint API. Klucze API z zakresem na konkretne akcje (
zones.read,records.write,dnssec.manage). Limity zapytań widać, zanim zaczną doskwierać. - Płaski cennik, bez rozliczeń per zapytanie
- Starter, Pro, Business, Enterprise – wybór planu po limitach stref/rekordów, nie po wolumenie ruchu. Przewidywalny koszt już z planu wdrożenia.
Typowy setup DevOps
Zmiany DNS przechodzą przez recenzję w gicie tak jak wszystko inne.
-
1
Provisionuj strefy przez Terraform
resource "nexdns_zone" "app" { name = "example.com" }– część głównego pliku Terraform, planowana i aplikowana razem z VPC i klastrami Kubernetes. -
2
Definiuj rekordy jako kod
Używaj zasobów Terraform
nexdns_record, YAML-a przeznexdns applylub YAML-a OctoDNS. Cokolwiek pasuje do reszty pipeline'u – wszystkie trzy działają na tym samym backendzie. -
3
Recenzuj zmiany DNS w pull requestach
Zmiany DNS to diffy. Recenzent widzi dokładnie, które rekordy są dodawane, modyfikowane lub usuwane. Koniec ze zdaniem „ktoś zmienił MX i poczta leży”.
-
4
Podłącz Certbot do certyfikatów wildcard
certbot certonly --dns-nexdns --dns-nexdns-credentials /etc/letsencrypt/nexdns.ini -d '*.example.com'– wyzwanie DNS-01 obsłużone od A do Z, auto-odnowienia przez standardowego crona Certbota. -
5
Monitoruj i alertuj o limitach API
Nagłówki limitów NexDNS ujawniają pozostałą kwotę. Zbieraj je zwykłym monitoringiem (Prometheus, Datadog) i alertuj, zanim zapytania zaczną padać w deploy'ach.
Najczęściej zadawane pytania
Najczęściej zadawane pytania wraz z odpowiedziami.
Przeglądaj dokumentację-
Tak – to oficjalny, pierwszostronny provider opublikowany w Terraform Registry. Kształt zasobów jest stabilny z wersjonowaniem semver; breaking changes pojawiają się tylko przy zmianach major. Zarządzanie stanem działa standardowo: Terraform wylicza plan, aplikuje idempotentnie, wykrywa drift.
-
Terraform pasuje, gdy DNS jest częścią większego stanu infrastruktury (mieszane zasoby, dyscyplina plan-and-apply). YAML przez
nexdns applyjest lżejszy – lepszy, gdy DNS jest głównym przedmiotem (np. zespół zarządza 50 domenami, a nie inną infrastrukturą). Oba można stosować równolegle na tym samym koncie. -
Wtyczka obsługuje wyzwanie DNS-01; resztą zajmuje się Certbot. Użyj DNS-01 dla wildcardów (gdy wymagane) i HTTP-01 dla pojedynczych nazw (gdy prościej). Wtyczka uruchamia się tylko wtedy, gdy Certbot potrzebuje DNS-01.
-
REST API pozwala na 60 żądań na minutę – na konto (lub na IP dla żądań nieuwierzytelnionych). Limit jest taki sam na każdym planie, bez progów zależnych od planu. Każda odpowiedź zawiera nagłówki
X-RateLimit-Limit,X-RateLimit-RemainingiX-RateLimit-Reset, a przy 429 takżeRetry-After, więc możesz zwolnić, zanim żądania zaczną zawodzić. -
Tak. CLI to pojedynczy plik binarny w Go (instalowalny przez
curl -sL https://get.nexdns.tech/cli | shw runnerze), a providernexdnsdla Terraform działa w standardowych wzorcach CI Terraforma. Klucze API trafiają do sekretów CI, z minimalnym wymaganym zakresem uprawnień.
Korzystaj z narzędzi DNS, które już masz
Terraform, CLI, OctoDNS, Certbot – narzędzia, z których już korzystasz, obsługiwane natywnie.