DNScale ondersteunt nu DNSControl: DNS als code, eenvoudig gemaakt
Beheer uw DNS-infrastructuur met DNSControl. Definieer zones en records in JavaScript, bekijk wijzigingen vooraf en pas ze toe met een enkel commando.
Heeft u ooit gewenst dat DNS-beheer zo eenvoudig was als dnscontrol push? Dat is het nu.
Wij kondigen de officiele DNScale-provider voor DNSControl aan, de open-source DNS-beheertool van StackExchange. Deze integratie stelt u in staat uw volledige DNS-configuratie in een JavaScript-bestand te definieren, wijzigingen te bekijken voordat u ze toepast en meerdere domeinen te beheren vanuit een enkele bron van waarheid.
Waarom DNSControl?
DNSControl hanteert een andere benadering van DNS-as-code. In plaats van HCL of YAML schrijft u uw configuratie in gewoon JavaScript. Dit geeft u echte programmeerconstructies ā variabelen, functies, lussen ā terwijl uw DNS-definities declaratief en leesbaar blijven.
Met de DNScale-provider kunt u:
- DNS schrijven als JavaScript - Gebruik variabelen, functies en macro's om herhaling te elimineren
- Vooraf bekijken voor toepassing - Zie precies wat er verandert voordat het live gaat
- Meerdere providers ondersteunen - DNSControl werkt met tientallen DNS-providers, waardoor migraties eenvoudig zijn
- Wijzigingen bijhouden in Git - Uw
dnsconfig.jsis uw DNS-documentatie - Automatiseren met CI/CD - Voer
previewuit bij pull requests,pushbij merge
Wat u kunt beheren
De DNScale-provider ondersteunt alle 14 DNS-recordtypes die beschikbaar zijn op het platform: A, AAAA, ALIAS, CAA, CNAME, HTTPS, MX, NS, PTR, SRV, SSHFP, SVCB, TLSA en TXT.
Zones
Zones worden automatisch aangemaakt wanneer u dnscontrol push uitvoert. Geen aparte installatiestap nodig:
D("myapp.com", REG_NONE, DnsProvider(DSP_DNSCALE),
A("@", "203.0.113.10")
);Records
Definieer elk recordtype met een overzichtelijke, leesbare syntax:
D("myapp.com", REG_NONE, DnsProvider(DSP_DNSCALE),
A("api", "203.0.113.10", TTL(300)),
AAAA("api", "2001:db8::10", TTL(300)),
CNAME("www", "myapp.com."),
MX("@", 10, "mail.myapp.com."),
TXT("@", "v=spf1 include:_spf.google.com ~all"),
CAA("@", "issue", "letsencrypt.org")
);Snel aan de slag
Beginnen vergt drie stappen.
1. Configureer inloggegevens ā maak creds.json aan:
{
"dnscale": {
"TYPE": "DNSCALE",
"api_key": "your-api-key-here"
}
}2. Definieer uw DNS ā maak dnsconfig.js aan:
var REG_NONE = NewRegistrar("none");
var DSP_DNSCALE = NewDnsProvider("dnscale");
D("example.com", REG_NONE, DnsProvider(DSP_DNSCALE),
A("@", "192.0.2.1"),
A("www", "192.0.2.1"),
MX("@", 10, "mail.example.com."),
TXT("@", "v=spf1 include:_spf.google.com ~all")
);3. Bekijk en pas toe:
dnscontrol preview # Bekijk wat er zou veranderen
dnscontrol push # Pas de wijzigingen toeDat is alles. Uw zone is aangemaakt, records zijn geconfigureerd en alles is gedefinieerd in een bestand dat u in Git kunt committen.
Praktijkvoorbeelden
Multi-domeinbeheer
Beheer tientallen domeinen vanuit een bestand met JavaScript-variabelen en functies:
var MAIL_SERVERS = [
MX("@", 10, "mx1.mailprovider.com."),
MX("@", 20, "mx2.mailprovider.com.")
];
D("company.com", REG_NONE, DnsProvider(DSP_DNSCALE),
A("@", "192.0.2.1"),
MAIL_SERVERS
);
D("company.org", REG_NONE, DnsProvider(DSP_DNSCALE),
A("@", "192.0.2.1"),
MAIL_SERVERS
);Migreren van andere providers
DNSControl ondersteunt tientallen DNS-providers. U kunt stapsgewijs naar DNScale migreren door de provider-declaratie te wijzigen terwijl u uw recorddefinities ongewijzigd laat.
CI/CD-integratie
Voer dnscontrol preview uit bij pull requests om DNS-misconfiguraties op te vangen voordat ze productie bereiken. Merge naar main om automatisch dnscontrol push te triggeren.
Hoe het werkt
De DNScale-provider communiceert met de DNScale REST API via uw API-sleutel. Wanneer u dnscontrol push uitvoert:
- DNSControl leest uw
dnsconfig.js-configuratie - De provider haalt de huidige records op via de DNScale API
- Er wordt een diff berekend tussen de gewenste en huidige staat
- Alleen de noodzakelijke wijzigingen (aanmaken, bijwerken, verwijderen) worden toegepast
Deze diff-gebaseerde aanpak betekent dat u push veilig herhaaldelijk kunt uitvoeren ā als er niets is veranderd in uw configuratie, verandert er niets in uw DNS.
Begin vandaag nog
- Leerhandleiding: DNS beheren met DNSControl
- DNSControl-documentatie: docs.dnscontrol.org
- DNSControl GitHub: github.com/StackExchange/dnscontrol
Heeft u nog geen DNScale-account? Meld u aan en haal uw API-sleutel op vanuit het dashboard. Uw eerste zone is gratis.
Wat komt er nog
Deze eerste release dekt de volledige DNScale-functionaliteit. We zijn van plan:
- Uitgebreide documentatie en migratiehandleidingen
- Meer CI/CD-voorbeelden voor GitLab CI, Bitbucket Pipelines en anderen
- Communitybijdragen upstream aan het DNSControl-project
Heeft u feedback? Neem contact op met ons team of open een issue op de DNSControl-repository.
DNS-as-code hoeft niet ingewikkeld te zijn. Met DNSControl en DNScale krijgt u een JavaScript-configuratiebestand, een preview-before-push workflow en ondersteuning voor elk recordtype. Uw DNS-configuratie krijgt eindelijk dezelfde behandeling als al het andere in uw stack: versiebeheerd, gereviewd, geautomatiseerd en betrouwbaar.
dnscontrol push uw DNS vandaag nog.