AWS Route53: CNAME vs. ALIAS

Der Amazon Web Services DNS-Dienst Route53 ermöglicht nach einer entsprechenden Domänen-Delegation die komplette Verwaltung einer Domäne (A-, MX-, CNAME-Records, etc.).

Neben dem klassischen CNAME-Record gibt es bei AWS Route53 noch eine entsprechende Erweiterung mit dem Namen ALIAS-Record. Wo sind da genau die Unterschiede?

Beide, CNAME- und ALIAS-Records, stellen einen Pointer auf eine andere Adresse dar, bei dem ein zusätzlicher Schritt für entsprechende Auflösung notwendig ist. Der wesentliche Unterschied ist hierbei, wo dieser Schritt und die entsprechende Auflösung stattfindet:

  • Beim CNAME-Record findet dieser zusätzliche Schritt Client-seitig statt. Der DNS-Server gibt lediglich den Wert des CNAME-Records zurück und der Client muss nun in einem zweiten Schritt diesen entsprechend durch eine erneute Anfrage an den DNS-Server in einen A/AAA Record auflösen.
  • Beim ALIAS-Record findet dieser zusätzliche Schritt auf dem DNS-Server (hier AWS Route53) statt. AWS Route53 gibt also direkt nach einem internen Lookup den A/AAAA Record an den Client zurück.

Somit geht die Auflösung eines ALIAS-Records deutlich schneller als die Auflösung eines CNAME-Records.

Dazu kommt noch folgender Vorteil:

  • CNAME-Records können nicht auf eine APEX-Domäne definiert werden.
  • Also kann man bei einem Einsatz einer CloudFront-Distribution oder eines AWS Elastic Load Balancers (beide haben lediglich einen entsprechenden DNS-Namen) nur eine Subdomäne wie www.firma.de via CNAME auf z.B. den Elastic Load Balancer umleiten, für die APEX-Domäne firma.de funktioniert das nicht.
  • Über einen ALIAS-Record von AWS Route53 kann man nun auch die APEX-Domäne direkt auf einen z.B. ELB umlenken.