DNS Lexicon: Den nemme vej ud af DNS-API kaos
Slip DNS-udfordringerne: DNS Lexicon som din nye favorit
Når hver DNS-udbyder taler sit eget sprog
De fleste udviklere kender situationen. Du skal opdatere DNS-records via kode, men opdager hurtigt, at Cloudflare, Route 53, DigitalOcean og GoDaddy alle kræver deres egne metoder.
Én udbyder bruger API-nøgler, en anden OAuth, og svarene kommer i helt forskellige formater. Din kode fungerer perfekt hos én, men bryder sammen, når du skifter til en anden. Det ender med en masse ekstra arbejde og vedligeholdelse af flere forskellige scripts.
DNS Lexicon – én løsning til alle udbydere
DNS Lexicon er et open source Python-bibliotek, der løser problemet på én gang. Det fungerer som et fælles lag over alle de store DNS-udbydere, så du slipper for at lære hver enkelt API at kende.
Med DNS Lexicon får du en ensartet måde at arbejde med:
- Oprettelse og sletning af DNS-records uanset udbyder
- Automatisk validering ved udstedelse af wildcard SSL-certifikater
- DNS-styring i større skala uden at skulle læse 12 forskellige dokumentationer
- Skift mellem udbydere uden at skulle ændre hele din automatisering
Sådan fungerer DNS Lexicon
Konceptet er enkelt. Du angiver din udbyder og dine login-oplysninger én gang, og så arbejder du videre med et fast sæt metoder:
from lexicon.client import Client
client = Client({
'provider_name': 'cloudflare',
'auth_token': 'din_auth_token'
})
# Opret en TXT-record til ACME-validering
client.execute(Action.Create, 'TXT', {
'name': '_acme-challenge.example.com',
'content': 'validation-string-here'
})
# Slet den igen når den er done
client.execute(Action.Delete, 'TXT', {
'name': '_acme-challenge.example.com'
})
Du undgår at skulle lede efter specifikke REST-endpoints eller debugge forskellige autentificeringsmetoder. Alt føles mere overskueligt og præcist.
Praktiske eksempler i virkeligheden
1. Automatisk udstedelse af Let's Encrypt wildcard-certifikater
DNS Lexicon arbejder sammen med Certbot og Lego for DNS-01 validering. På den måde kan du automatiseret få wildcard SSL-certifikater erstatte manuelt arbejde.
2. DNS-styring på tværs af flere udbydere
Nogle gange ligger dine primære DNS-records hos Route 53, mens backup ligger hos Cloudflare. Lexicon giver dig mulighed for at styrre begge udbydere med samme værktøj.
3. DNS i infrastruktur-automatisering
Når du arbejder med Terraform, Ansible eller andre IaC-værktøjer, er det vigtigt, at DNS-ændringer sker på en pålidelig måde. Lexicon giver dig en stabil base uanset hvilken udbyder du bruger.
4. Automatisk disaster recovery
Ved udfald af en udbyder kan du hurtigt flytte DNS-records til en backup-udbyder. Lexicon hjælper dig med at skrive scripts, der klarer det uden manuelt indgreb.
Hvilke udbydere er supported?
DNS Lexicon har støtte til mere end 50 DNS-udbydere. Du kan bruge det med både store spillere som AWS Route 53 og Azure DNS samt mindre udbydere som Gandi og Transip.
Blandt de mest populære finder du:
- Cloudflare
- Amazon Route 53
- DigitalOcean
- Linode
- GoDaddy
- Namecheap
- OVH
- Hetzner
- Og flere flere...
DNS Lexicon og NameOcean
Hos NameOcean tror vi på, at fleksibilitet og developer empowerment hører sammen. DNS Lexicon er et eksempel på det. Det giver dig kontrol over din DNS uden vendor lock-in, regardless of hvilken udbyder du har.
Det er en solid brik i din CI/CD-pipeline eller når du bygger automatiseret infrastruktur.
Sådan kommer du i gang
Installation er simpel:
pip install dns-lexicon
Du bruger blot en få sekunder på to configurer dine udbyder-specifik login-oplysninger, og efter det kan du allerede startet med oprettelse af DNS-records via kode.
Afslutning
DNS-management bør ikke tage tid fra din kernearbejde. DNS Lexicon er et værktøj, der abstraherer den komplekse verden af DNS-API'er og giver dig en enkel og forudsigelig måde at arbejde på.
Det anbefales både for solo-udviklere, der automatiserer certifikater, og for teams, der har komplekse DNS-setup's.