DNS Lexicon: Den smarte måten å håndtere DNS på
Slutt å kjempe mot DNS-API-er: DNS Lexicon gjør det enkelt
Problemet med DNS-leverandører
De fleste som jobber med DNS-programmering har opplevd det samme: Du får det til å fungere med én leverandør, men så snart du bytter, må du starte nesten helt forfra. Hver leverandør har sin egen måte å autentisere på, sine egne endepunkter og sine egne måter å returnere data på.
Resultatet blir ofte en samling av spesialtilpassede skript som er vanskelige å vedlikeholde. Når du skal bruke flere leverandører samtidig, blir det fort rotete og tidkrevende å holde oversikt.
DNS Lexicon: Én løsning for mange leverandører
DNS Lexicon er et Python-bibliotek som lar deg jobbe med DNS på tvers av ulike leverandører gjennom ett enkelt grensesnitt. Du trenger ikke å lære deg API-et til hver enkelt leverandør – du lærer ett sett med kommandoer og kan bruke det uansett hvem som står bak domenet.
Med Lexicon kan du:
- Opprette og slette DNS-poster hos alle støttede leverandører
- Automatisere validering av ACME-sertifikater, inkludert wildcard-sertifikater
- Håndtere DNS i stor skala uten å måtte sette deg inn i dusinvis av API-dokumentasjoner
- Bytte leverandør uten å måtte skrive om hele automasjonsløsningen
Slik fungerer DNS Lexicon
Enkelheten er det som gjør Lexicon så praktisk. Du spesifiserer bare leverandør og autentiserer deg, og deretter kan du utføre vanlige DNS-operasjoner med få linjer kode.
from lexicon.client import Client
client = Client({
'provider_name': 'cloudflare',
'auth_token': 'your_auth_token'
})
client.execute(Action.Create, 'TXT', {
'name': '_acme-challenge.example.com',
'content': 'validation-string-here'
})
client.execute(Action.Delete, 'TXT', {
'name': '_acme-challenge.example.com'
})
Noen tilbyr ikke alltid en klar REST-endepunkt. Dette biblioteket gir deg en uniform og enkel måte å utføre vanlige DNS-operasjoner på.
Praktiske bruksområder
1. Automatisering av Let's Encrypt-sertifikater
Lexicon fungerer godt med både Certbot og Lego for DNS-01-validering. Du kan automatisere hele prosessen med wildcard-sertifikater uten å måtte håndtere DNS-postene manuelt.
2. DNS-håndtering hos flere leverandører
Mange kjører en blanding av Cloudflare og Route 53 eller lignen. Lexicon lar deg håndtere DNS hos flere leverandører med samme kode og samme grensesnitt.
3. Infrastruktur som kode
DNS-oppdateringer må være pålitelige når du bruker Terraform eller Ansible. Lexicon gir en stabil og konsistent måte å gjøre DNS-endringer på,无论 hvilken leverandør du bruker.
4. Automatisert failover
Når en leverandør opplever problemer, kan du bruke Lexicon til å flytte DNS-poster til en backup-leverandør uten å måtte gjøre det manuelt.
Hvilke leverandører støtter Lexicon?
Biblioteket støtter rundt 50 DNS-leverandører. Du finner alt fra store aktører som AWS Route 53 og Cloudflare og til mindre, mer nisjerte leverandører.
Støttede leverandører (eksempler)
- Cloudflare
- Amazon Route 53
- DigitalOcean
- Linode
- GoDaddy
- Namecheap
- OVH
- Hetzner
Når en leverandør ikke er støttet
Ifølge den open-source-kommuniteten er de fleste leverandører støttet eller kan være støttet med enkle tiltak.