DNS

Master this essential documentation concept

Quick Definition

Domain Name System - the internet's addressing system that translates human-readable domain names (like docs.yourcompany.com) into the numeric IP addresses computers use to locate servers.

How DNS Works

sequenceDiagram participant Browser participant RecursiveResolver as Recursive Resolver participant RootServer as Root DNS Server participant TLDServer as .com TLD Server participant AuthServer as Authoritative Server Browser->>RecursiveResolver: Query: docs.yourcompany.com RecursiveResolver->>RootServer: Who handles .com? RootServer-->>RecursiveResolver: TLD Server: 192.5.6.30 RecursiveResolver->>TLDServer: Who handles yourcompany.com? TLDServer-->>RecursiveResolver: Auth Server: 205.251.196.1 RecursiveResolver->>AuthServer: What is docs.yourcompany.com? AuthServer-->>RecursiveResolver: A Record: 203.0.113.42 RecursiveResolver-->>Browser: IP Address: 203.0.113.42 Browser->>Browser: Connect to 203.0.113.42

Understanding DNS

Domain Name System - the internet's addressing system that translates human-readable domain names (like docs.yourcompany.com) into the numeric IP addresses computers use to locate servers.

Key Features

  • Centralized information management
  • Improved documentation workflows
  • Better team collaboration
  • Enhanced user experience

Benefits for Documentation Teams

  • Reduces repetitive documentation tasks
  • Improves content consistency
  • Enables better content reuse
  • Streamlines review processes

When DNS Changes Break Things: Capturing Institutional Knowledge from Video

DNS configuration is one of those areas where your team's most critical knowledge often lives in recorded onboarding sessions, incident retrospectives, and walkthrough videos. Someone explains how your subdomain structure maps to internal services, or walks through a DNS propagation issue during a postmortem call — and that knowledge gets buried in a video file that nobody can search.

The problem with video-only documentation for DNS is timing. When a developer is staring at a broken deployment because docs.yourcompany.com isn't resolving, they need to find your DNS architecture notes in seconds, not scrub through a 45-minute recording hoping the relevant segment appears. DNS issues are time-sensitive by nature — propagation windows are narrow, and misconfigured records affect real users immediately.

Converting those recordings into structured documentation means your team can search directly for terms like "TTL settings" or "CNAME records" and land on the exact explanation from your infrastructure lead's walkthrough. A recorded architecture review becomes a living reference your team can actually use during an incident — not just something filed away in a video library.

If your team regularly captures DNS knowledge through meetings and training sessions, see how converting those recordings into searchable documentation can make that knowledge accessible when it matters most.

Real-World Documentation Use Cases

Migrating a Documentation Portal to a New Hosting Provider Without Downtime

Problem

Engineering teams switching their docs site (e.g., from GitHub Pages to Netlify or Confluence Cloud) face a window where users hit broken links or land on the old server mid-migration, causing support tickets and lost trust.

Solution

DNS TTL (Time-To-Live) values can be lowered before migration so changes propagate globally within minutes rather than 48 hours, and a CNAME record swap atomically redirects docs.yourcompany.com to the new host.

Implementation

['One week before migration, lower the TTL on the docs.yourcompany.com A or CNAME record from 86400 seconds to 300 seconds in your DNS registrar (e.g., Route 53, Cloudflare).', 'On migration day, deploy content to the new host (e.g., Netlify) and verify it serves correctly via its direct URL before touching DNS.', "Update the CNAME record for docs.yourcompany.com to point to your-site.netlify.app and confirm propagation using 'dig docs.yourcompany.com' or dnschecker.org.", 'After 24 hours of stable traffic on the new host, raise TTL back to 86400 seconds to restore caching efficiency and reduce resolver load.']

Expected Outcome

Zero user-facing downtime during the migration window, with DNS propagation completing globally in under 10 minutes due to the pre-lowered TTL.

Setting Up Versioned Documentation Subdomains for Multiple Product Releases

Problem

Developer-facing products (like APIs or SDKs) need to maintain documentation for v1, v2, and v3 simultaneously, but teams manually manage server configs and URLs, leading to broken links when infrastructure changes.

Solution

DNS CNAME records for v1.docs.yourcompany.com, v2.docs.yourcompany.com, and v3.docs.yourcompany.com each point to dedicated hosting targets, decoupling the public URL from the underlying server so infrastructure can change independently.

Implementation

['Create separate CNAME records in your DNS zone file: v1.docs.yourcompany.com → v1-docs.netlify.app, v2.docs.yourcompany.com → v2-docs.netlify.app, v3.docs.yourcompany.com → v3-docs.netlify.app.', 'Configure your hosting provider to respond to each subdomain with the correct versioned build (e.g., using branch deploys in Netlify or separate S3 buckets behind CloudFront).', "Add a wildcard fallback CNAME (*.docs.yourcompany.com) pointing to a 'version not found' page to handle requests for deprecated or nonexistent versions gracefully.", "Document the DNS record ownership and TTL values in your team's runbook so on-call engineers can update records without escalating to a DNS admin."]

Expected Outcome

Each product version has a stable, bookmarkable URL that survives infrastructure changes, and adding a new version requires only one DNS record addition rather than server reconfiguration.

Enforcing HTTPS on Internal Documentation Sites Using DNS CAA Records

Problem

Internal documentation portals (e.g., intranet wikis or API reference sites) sometimes get SSL certificates issued by unauthorized certificate authorities due to misconfiguration, exposing teams to man-in-the-middle risks.

Solution

DNS CAA (Certification Authority Authorization) records restrict which certificate authorities are permitted to issue SSL certificates for docs.yourcompany.com, preventing rogue or accidental cert issuance.

Implementation

["Audit which CA currently issues your documentation site's certificate (check via browser padlock or 'openssl s_client -connect docs.yourcompany.com:443').", 'Add a CAA record in your DNS zone: \'0 issue "letsencrypt.org"\' to restrict issuance to Let\'s Encrypt only, or use your corporate CA\'s domain.', 'Add a CAA iodef record (\'0 iodef "mailto:security@yourcompany.com"\') so unauthorized issuance attempts trigger an email alert to your security team.', "Verify the CAA record is correctly published using 'dig CAA docs.yourcompany.com' and test with the SSL Labs CAA checker before closing the ticket."]

Expected Outcome

Unauthorized certificate issuance attempts are blocked at the DNS layer and trigger immediate alerts, reducing the attack surface for documentation portal impersonation.

Implementing Geo-Based DNS Routing to Serve Region-Specific Documentation

Problem

Global companies with localized documentation (e.g., GDPR-compliant EU docs, region-specific API endpoints) serve all users from a single origin, causing latency for distant users and compliance gaps for regulated regions.

Solution

DNS geo-routing (via AWS Route 53 Geolocation policies or Cloudflare Load Balancing) resolves docs.yourcompany.com to different IP addresses based on the user's geographic location, serving EU users from Frankfurt and US users from Virginia.

Implementation

['Set up two hosting origins: one in eu-west-1 (Frankfurt) serving GDPR-compliant docs builds and one in us-east-1 (Virginia) serving the standard build.', 'In Route 53, create Geolocation routing records: a European Union geolocation record pointing to the Frankfurt origin IP, and a default record pointing to the Virginia origin.', 'Configure health checks on both origins so Route 53 automatically fails over to the Virginia origin if the Frankfurt server becomes unhealthy.', "Test routing behavior using a VPN set to a German IP and verify 'dig docs.yourcompany.com' returns the Frankfurt IP, then repeat from a US IP to confirm the Virginia record resolves."]

Expected Outcome

EU users experience 40-60% lower latency for documentation page loads, and the EU origin can serve a GDPR-compliant build with data residency guarantees without changing the public URL.

Best Practices

Lower TTL Values 24–48 Hours Before Any DNS Record Change

TTL (Time-To-Live) controls how long DNS resolvers cache your records. If you change an A or CNAME record while TTL is set to 86400 seconds (24 hours), users may be routed to the old server for up to a day. Pre-lowering TTL to 300 seconds ensures the change propagates globally within minutes after you make it.

✓ Do: Set TTL to 300 seconds at least 24 hours before a planned migration or record change, then restore it to 3600–86400 seconds after the change is confirmed stable.
✗ Don't: Don't change critical DNS records like docs.yourcompany.com while TTL is still set to 86400 seconds, assuming the change will be instant — it won't be, and users will hit stale records.

Use CNAME Records for Documentation Subdomains Instead of Hardcoded A Records

A records tie your documentation subdomain (docs.yourcompany.com) directly to a specific IP address. When you change hosting providers or scale infrastructure, every A record must be manually updated. CNAME records point to a hostname (e.g., your-site.netlify.app), letting the hosting provider manage the underlying IP transparently.

✓ Do: Create docs.yourcompany.com as a CNAME pointing to your hosting provider's hostname so IP changes on their end are absorbed without requiring your DNS records to change.
✗ Don't: Don't hardcode an A record to a cloud provider's IP address (like an AWS EC2 public IP) — these IPs can change on instance restart, immediately breaking your documentation URL.

Publish CAA Records to Restrict SSL Certificate Issuance for Documentation Domains

Without CAA records, any of the hundreds of trusted certificate authorities can issue a certificate for your documentation domain, creating risk of fraudulent certificates being used in phishing or impersonation attacks. CAA records act as a DNS-layer allowlist, restricting issuance to your approved CAs only.

✓ Do: Add CAA records specifying your approved certificate authority (e.g., '0 issue "letsencrypt.org"') and an iodef record pointing to your security team's email for violation alerts.
✗ Don't: Don't leave your documentation domain without CAA records and assume your hosting provider's default SSL setup is sufficient — unauthorized CA issuance is invisible without active monitoring.

Document All DNS Records for Documentation Infrastructure in a Version-Controlled Runbook

DNS configurations are often undocumented tribal knowledge, meaning on-call engineers can't safely make changes during incidents without risking cascading failures. Maintaining a version-controlled record of all DNS entries (subdomains, TTLs, record types, and owning teams) prevents accidental deletions and speeds up incident response.

✓ Do: Keep a YAML or Markdown file in your infrastructure repo listing every DNS record for documentation domains, including the record type, value, TTL, purpose, and the team responsible for it.
✗ Don't: Don't rely solely on your DNS registrar's web console as the source of truth — it has no audit trail for who changed what and when, making post-incident analysis nearly impossible.

Configure DNS Health Checks and Automatic Failover for High-Availability Documentation Sites

Documentation downtime during incidents (e.g., a hosting outage) forces users to file support tickets or rely on cached versions, eroding trust. DNS health checks (available in Route 53, Cloudflare, and similar providers) automatically reroute traffic to a backup origin when the primary server fails to respond, keeping docs accessible.

✓ Do: Set up an active-passive DNS failover with health checks pinging your docs origin every 30 seconds, automatically switching to a static S3 or Cloudflare Pages backup if the primary returns errors.
✗ Don't: Don't configure a failover DNS record without attaching a health check — a static failover record won't activate automatically and provides no actual redundancy during an outage.

How Docsie Helps with DNS

Build Better Documentation with Docsie

Join thousands of teams creating outstanding documentation

Start Free Trial