Что указывается в CNAME-записи в AWS?

«Что указывается в CNAME-записи в AWS?» — вопрос из категории Облачные платформы, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В AWS, как и в стандартном DNS, CNAME-запись (Canonical Name) указывает на другое доменное имя, а не напрямую на IP-адрес. Она создаёт псевдоним (алиас) одного доменного имени для другого.

Типичные сценарии использования в AWS:

  1. Перенаправление поддомена на основной домен:
    • www.example.comexample.com
  2. Направление трафика на AWS-сервисы:
    • Поддомен assets.example.com может указывать на CloudFront-дистрибутив (d111111abcdef8.cloudfront.net).
    • Поддомен api.example.com может указывать на DNS-имя Application Load Balancer (ALB).

Пример CNAME-записи в Route 53 (консольный формат):

Имя: www.example.com
Тип: CNAME
Значение: example.com
TTL: 300

Критически важные ограничения и нюансы в AWS:

  • CNAME для корневой зоны (apex domain): Вы не можете создать стандартную CNAME-запись для корневого домена (example.com). Это ограничение DNS-стандарта.
  • Alias-записи Route 53: Для решения проблемы с корневым доменом AWS Route 53 предоставляет специальный тип — Alias-запись (A или AAAA запись с включённой опцией Alias). Alias-запись может указывать напрямую на AWS-ресурсы (S3 bucket, CloudFront, ALB, API Gateway) и является бесплатной для запросов в пределах зоны. Это предпочтительный способ для связывания доменов с AWS-сервисами.
    • Пример Alias-записи для корневого домена:
      Имя: example.com
      Тип: A (Alias включён)
      Значение: d1234abcd.cloudfront.net (CloudFront дистрибутив)

Вывод для DevOps: При проектировании DNS-структуры в AWS для корневых доменов и критичных поддоменов используйте Alias-записи Route 53 для лучшей производительности, надёжности и интеграции с AWS-сервисами. CNAME подходит для внутренних или менее критичных поддоменов.