TTL(Time To Live)
TTL은 Route53의 Create record 에서 레코드 생성시 설정할 수 있습니다.
TTL을 높게 설정한 경우(eg. 24hrs)
- Route53으로 가는 트래픽이 줄어듭니다.
- 클라이언트가 오래된 데이터를 받게 될 가능성이 있습니다.
- 서버에서 레코드의 값에 대하여 변경이 일어난 뒤, 클라이언트에 적용되는 시간이 길어집니다.
TTL을 낮게 설정한경우(eg. 60s)
- Route53으로 가는 트래픽이 증가해 더 많은 네트워크 비용이 듭니다.
- 높게 설정한 경우에 반해 비교적 최신 데이터를 볼 수 있습니다.(오래된 데이터가 존재하는 시간이 짧습니다).
- 캐시되는 시간이 그리 길지 않기 때문에 웹 서버에 변경이 있어도 1분 뒤면 적용되므로 데이터를 변경하기가 쉽습니다.
CNAME vs Alias
CNAME
- CNAME은 호스트명을 다른 호스트명에 매핑해 주는 역
할을 합니다.
- app.example.com => new.domain.com
- NS인 기본 도메인 mydomain.com은 지정할 수 없으며 루트 도메인이 아닌 경우만 사용할 수 있습니다.
-api.blabla.example.com
Alias
- Alias는 호스트명이 특정 AWS 리소스를 가리킬 수 있도록 해줍니다.(app.mydomain.com => blabla.amazonaws.com)
- EC2는 안됩니다.
- ELB, cloudFront, API gateway, Elastic Beanstalk, S3 Websites, VPC Interface Endpoints, Global Accelerator, Route 53 Record 가능
- CNAME에서와는 달리 루트 도메인이어도 되고 루트 도메인이 아니어도 사용이 가능합니다.
app.example.com
- 무료이고,
- 헬스 체크가 제공 됩니다.
- TTL 설정할 수 없습니다.
Alias
- 호스트명을 AWS 리소스로 매핑 해주는 역할을 합니다.
- DNS 기능의 확장이라고 보면 됩니다.
- 리소스 IP 주소에 변화가 생기면 자동으로 인식하기 때문에 만약 ALB의 IP는 그대로인데 DNS가 변화한다고 해도 추가적으로 설정해 줄 필요가 없습니다.
(주소가 자주 바뀌는 ALB에 적합)
- CNAME과는 달리, DNS Hosted Zone의 top node로 사용할 수 있습니다.
- ex) example.com(top node - NS와 같은 호스트명)을 CNAME에서는 사용할 수 없지만 Alias에서는 사용할 수 있습니다.
- 위에서 설명했듯이 TTL 설정이 불가능하며 기본 제공되는 TTL을 사용해야 한다.
- Alias 설정을 할 경우 A/AAAA IPv4인 지/ IPv6인 지에 따른 설정 역시 해주어야 합니다.
사진출처 -https://enlear.academy/lets-talk-about-aws-route-53-7896acfe98d5?gi=07fa5b4116ad
AWS Certified Solutions Architect Associate 시험합격!