Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

채록채록

[AWSCloudClubs] Route53, Health Check 본문

Cloud Computing

[AWSCloudClubs] Route53, Health Check

김책은 2024. 9. 28. 11:13

예전에 Hostinger에서 도메인을 발급은 받았지만 CNAME, A 등을 몰라서 그냥 돈만 내고 냅둔 적이 있다. 

역시 뭔가를 해보는 것도 중요하지만 '알고' 해봐야 했을 때 의미가 더 깊은 것 같다. 

그리고 도메인은 그냥 검색하기 쉬우라고(?) 존재하는 줄로만 알았는데,
보안, 확장성 등의 개발적 측면에서도 중요하다는 것을 알게되었다. 


Route 53

  • authoritative DNS : 도메인 소유자가 Route 53에서 DNS 레코드를 직접 관리할 수 있다는 뜻.
  • Records : How you want to route traffic for a domain(특정 도메인에 대한 DNS 정보, 어떤 ip주소와 연결되는지 등 / domain name과 domain에 연관된 리소스 (ip addr, server) 사이의 매핑을 정의한다.
    • Domain/SubDomain name, Value, Routing Policy(쿼리에 대해 Route 53이 어떻게 응답하는지), TTL(Time To Live : record cached at DNS Resolvers)
    • DNS record types
      • A : 호스트 이름과 IPv4를 매핑 / AAAA : 호스트 이름과 IPv6 매핑
      • CNAME : 호스트 이름을 다른 호스트 이름으로 향하게 할 수 있다. =도메인 이름을 다른 도메인 이름으로 매핑하는 DNS 레코드
        • CNAME 레코드를 도메인의 최상위 노드(Zone Apex)에 설정할 수 없다. = ONLY FOR NON ROOT DOMAIN
        • 즉, Record name에 대한 value값이 domain name(ex : ALB)이 되는 것이다.
      • Alias : hostname이 특정 AWS Resource로 향하도록 할 수 있다.
        • CNAME과 달리, Alias records는 Zone Apex라는 DNS 네임스페이스의 상위노드로 사용될 수 있다.
        • Route53에 의해 자동으로 설정이 되므로 TTL을 사용할 수 없다.
        • EC2 DNS name에 대해서는 Alias record를 설정할 수 없다.
      • NS : name servers for hosted zone, 서버의 DNS 이름 또는 ip주소
        • 호스팅 존에 대한 dns 쿼리에 응답할 수 있다?
        • 트래픽이 도메인으로 라우팅되는 방식을 제어한다?
    • Public Hosted Zones : records containter that specify how to route traffic on the internet (public domain names)
      • 공개된 클라이언트(웹 브라우저)로부터 온 쿼리에 응답
    • Private Hosted Zones : records container that specify how you route traffic withine VPCs (private domain names)
      • 해당 vpc에서만 가능, private ip 응답
  • Routing Policies
    • Route53이 DNS쿼리에 응답하는 것을 돕는다.
    • DNS는 트래픽을 라우팅하지 않는다. 트래픽은 DNS를 통과하지 않는다.
    • DNS는 DNS 쿼리에만 응답한다. DNS는 hostname을 클라이언트가 실제 사용가능한 endpoint로 변환하는 것을 돕는다. 클라이언트는 이를 통해 HTTP 쿼리 등을 어떻게 처리해야 하는지 알 수 있게 된다.
    • Simple : 만약 다수의 values (ip 등)을 Route53이 반환하면, client측에서 랜덤하게 고른다. Health check는 하지 않는다.
    • Weighted, Latency-based : Health check 가능
    • Geoproximity : bias를 증가시킴으로써 한 리전에서 다른 리전으로 트래픽을 보낼 때 유용하다.
    • IP-based : 클라이언트의 ip범위인 CIDR 목록을 정의하여 트래픽을 어느 로케이션으로 보내야하는지 정한다.
    • Multi-Value : 클라이언트 측면의 로드밸런싱인 것. ELB 와 다르다.
      • 다중값이 있는 simple routing의 경우에는 상태확인을 허용하지 않기 때문에 simple routing 정책의 쿼리가 반환하는 리소스 중 하나는 비정상일 가능성이 있다.

Health Check

  • Monitor an Endpoint
  • Calculated Health Checks : 여러 개의 상태 확인 결과를 하나로 합쳐주는 기능
  • private endpoints (private VPC의 private subnet에 있는 EC2 인스턴스, 온프레미스 자원 등) 엔 접근 불가능하므로 CloudWatch Metric을 만들어 CloudWatch 알람을 할당하는 식으로 경보를 상태확인에 활용한다.

오답노트

Q. 여러분은 Amazon Route 53 Registrar를 위해 mycoolcompany.com를 구매했으며, 이 도메인이 Elastic Load Balancer인 my-elb-1234567890.us-west-2.elb.amazonaws.com를 가리키게끔 하려 합니다. 이런 경우, 다음 중 어떤 Route 53 레코드 유형을 사용해야 할까요?
A. CNAME (X)
alias (O)
→ DNS namespace(Zone Apex)의 상위노드(이 경우, mycoolcompany.com)와 동일한 이름을 가진 CNAME 레코드는 생성이 불가능하다.