[
{
"feature": "Service name",
"category": "General",
"aws": "Amazon Route 53",
"azure": "Azure DNS",
"gcp": "Cloud DNS"
},
{
"feature": "Global anycast network",
"category": "General",
"aws": "Yes, globally distributed authoritative DNS",
"azure": "Yes, hosted on Azure global network",
"gcp": "Yes, served from Google edge locations worldwide"
},
{
"feature": "SLA",
"category": "General",
"aws": "100% availability SLA",
"azure": "100% availability SLA",
"gcp": "100% availability SLA"
},
{
"feature": "Hosted zone cost",
"category": "Pricing",
"aws": "$0.50/zone/month (first 25 zones)",
"azure": "$0.50/zone/month",
"gcp": "$0.20/zone/month"
},
{
"feature": "Query pricing",
"category": "Pricing",
"aws": "$0.40 per million queries (standard); $0.60 latency-based",
"azure": "$0.40 per million queries",
"gcp": "$0.20 per million queries (first 1B); $0.10 after"
},
{
"feature": "DNSSEC",
"category": "Security",
"aws": "Yes, DNSSEC signing for public hosted zones",
"azure": "Yes, DNSSEC support for public zones",
"gcp": "Yes, managed DNSSEC for public zones"
},
{
"feature": "Private zones",
"category": "Security",
"aws": "Yes, private hosted zones associated with VPCs",
"azure": "Yes, Azure Private DNS zones linked to VNets",
"gcp": "Yes, private managed zones for VPC networks"
},
{
"feature": "Health checks",
"category": "Routing",
"aws": "Yes, built-in health checks with endpoint monitoring and failover",
"azure": "Via Azure Traffic Manager health probes (separate service)",
"gcp": "No built-in DNS health checks; use Cloud Load Balancing for failover"
},
{
"feature": "Routing policies",
"category": "Routing",
"aws": "Simple, weighted, latency-based, geolocation, geoproximity, failover, multivalue answer",
"azure": "Via Traffic Manager: priority, weighted, performance, geographic, multivalue, subnet",
"gcp": "Weighted round-robin, geolocation, failover routing policies"
},
{
"feature": "Alias / CNAME-like records",
"category": "Routing",
"aws": "Alias records (free queries for AWS resources, zone apex support)",
"azure": "Alias record sets pointing to Azure resources (Traffic Manager, CDN, Public IP)",
"gcp": "Standard CNAME records only; no zone-apex alias equivalent"
},
{
"feature": "Record types supported",
"category": "Features",
"aws": "A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT, CAA, NAPTR, DS",
"azure": "A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT, CAA",
"gcp": "A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT, CAA, DNSKEY, DS, IPSECKEY, SSHFP, TLSA"
},
{
"feature": "API / CLI support",
"category": "Features",
"aws": "AWS CLI, SDKs (Boto3, etc.), REST API",
"azure": "Azure CLI, Azure PowerShell, SDKs, REST API",
"gcp": "gcloud CLI, client libraries, REST API"
},
{
"feature": "Terraform support",
"category": "Features",
"aws": "Yes, aws_route53_zone and aws_route53_record resources",
"azure": "Yes, azurerm_dns_zone and azurerm_dns_*_record resources",
"gcp": "Yes, google_dns_managed_zone and google_dns_record_set resources"
},
{
"feature": "Domain registration",
"category": "Features",
"aws": "Yes, Route 53 Registrar supports domain registration and transfer",
"azure": "No, use Azure App Service Domains or third-party registrar",
"gcp": "No, use Cloud Domains (separate service) or third-party registrar"
},
{
"feature": "Logging and monitoring",
"category": "Features",
"aws": "DNS query logging to CloudWatch Logs; CloudTrail for API calls",
"azure": "Activity logs and Azure Monitor diagnostic logs for DNS zones",
"gcp": "Cloud Logging for DNS queries; Cloud Monitoring metrics"
}
]