AWS

AWS Route53 records, alias_records, subject_alternative_names 설명

devfinger 2024. 10. 24. 20:24

1. records

  • 설명: 일반적인 DNS 레코드입니다. 도메인에 대한 기본적인 DNS 설정을 할 때 사용됩니다.
  • 사용 시기:
    • 도메인 이름에 대한 CNAME, A, MX, TXT 등의 기본 DNS 레코드를 정의할 때 사용됩니다.
    • 예를 들어, 웹사이트의 도메인(www.example.com)을 특정 IP 주소나 CloudFront 배포와 같은 서비스에 연결하고자 할 때 CNAME 레코드나 A 레코드를 사용합니다.
  • 예시:
records = [
  {
    name    = "cdn.test.com"
    type    = "CNAME"
    records = [ "****.cloudfront.net" ]
    ttl     = 300
  }
]

 

위 예시는 cdn.test.com을 CloudFront 배포에 연결하는 CNAME 레코드입니다. TTL(Time to Live)은 캐싱을 위해 300초로 설정되었습니다.

  • 일반적인 레코드 유형:
    • A Record: 도메인 이름을 IP 주소로 변환.
    • CNAME Record: 도메인을 다른 도메인에 연결.
    • MX Record: 메일 서버 설정을 위해 사용.
    • TXT Record: 도메인 소유권 검증 또는 SPF 설정에 사용.

2. alias_records

  • 설명: AWS에서 제공하는 Alias 레코드입니다. AWS 서비스(예: S3, CloudFront, ELB 등)에 도메인을 직접 연결할 때 사용됩니다.
  • 사용 시기:
    • 일반적인 CNAME 레코드와 비슷하지만, AWS에서 제공하는 서비스와의 통합을 위해 사용됩니다.
    • 특징: Alias 레코드는 추가 비용 없이 DNS 쿼리 요청을 처리하며, AWS의 서비스 간에 원활하게 도메인을 연결할 수 있습니다.
    • 예를 들어, CloudFront, ELB(Application Load Balancer), S3 같은 AWS 리소스에 직접 도메인을 연결할 때 주로 사용됩니다.
  • 예시:
alias_records = [
  {
    name                   = "cdn.test.com"
    type                   = "A"
    alias = {
      name                   = aws_lb.app_alb.dns_name
      zone_id                = aws_lb.app_alb.zone_id
      evaluate_target_health = true
    }
  }
]

위 예시는 cdn.test.com을 AWS의 Application Load Balancer(ALB)에 연결하는 Alias 레코드입니다. evaluate_target_health 옵션은 대상의 상태에 따라 트래픽을 라우팅할지를 설정합니다.

  • 일반적인 사용 사례:
    • S3 Static Website Hosting: Alias 레코드를 사용하여 S3에서 호스팅되는 정적 웹사이트에 도메인을 연결.
    • CloudFront: 콘텐츠 전송 네트워크(CDN) 배포에 도메인을 연결.
    • Elastic Load Balancer (ELB): 웹 트래픽을 여러 인스턴스에 로드밸런싱.

3. subject_alternative_names

  • 설명: SSL/TLS 인증서에서 사용되는 항목으로, 하나의 인증서로 여러 도메인을 인증할 때 사용됩니다. 일반적으로 AWS의 ACM(Amazon Certificate Manager)에서 인증서를 발급할 때 사용됩니다.
  • 사용 시기:
    • 도메인에 대한 HTTPS 트래픽을 처리할 때 필요합니다.
    • 특히 여러 도메인이나 서브도메인을 하나의 인증서로 관리하고자 할 때 subject_alternative_names를 설정합니다.
    • 와일드카드 도메인(*.example.com)을 지원하므로, 여러 하위 도메인에 대해 개별적으로 인증서를 발급할 필요 없이 하나의 인증서로 처리할 수 있습니다.
  • 예시:
subject_alternative_names = [
  "*.test.com"
]

 

요약

  • records: 기본 DNS 레코드(A, CNAME 등)를 정의할 때 사용.
  • alias_records: AWS 서비스(S3, CloudFront, ELB 등)에 도메인을 연결할 때 사용하는 특수한 레코드 유형.
  • subject_alternative_names: SSL 인증서 발급 시, 여러 서브도메인 또는 도메인을 포함시키기 위해 사용.

이 각각의 설정들은 도메인 관리, SSL 인증서 발급, AWS 서비스와의 통합에서 중요한 역할을 합니다. 상황에 맞게 이들을 활용하여 도메인 설정을 할 수 있습니다.