DNS
<aside>
💡 Domain Name System의 약자로, 인터넷 전화번호부라고 할 수 있다.
사람이 읽을 수 있는 도메인 이름(www.amazon.com)을
컴퓨터가 인식할 수 있는 IP주소(192.0.2.44)로 변환하는 것을 의미한다.
</aside>
사람은 nytimes.com 또는 espn.com과 같은 도메인 이름을 통해 온라인으로 정보에 접근한다.
웹 브라우저는 인터넷 프로토콜(IP) 주소를 통해 상호작용한다.
DNS는 브라우저가 인터넷 자원을 로드 할 수 있도록 도메인 이름을 IP 주소로 변환한다.
인터넷에 연결된 각 기기에는 다른 컴퓨터가 기기를 찾는 데 사용하는 고유한 IP 주소가 있다.
DNS 서버를 사용하면 사람이 192.168.1.1(IPv4의 경우)과 같은 IP 주소 또는 2400:cb00:2048:1::c629:d7a2(IPv6의 경우)처럼 영문과 숫자로 된 복잡한 IP 주소를 기억할 필요가 없다.
(웹 브라우저를 열고 웹 사이트로 이동할 때는 긴 숫자를 기억해 입력할 필요가 없다.)
대신 example.com과 같은 도메인 이름을 입력해도 원하는 웹 사이트로 갈 수 있다.
DNS 서비스는 전 세계에 배포된 서비스로,
www.example.com과 같이 사람이 읽을 수 있는 이름을 → 192.0.2.1과 같은 숫자 IP 주소로 변환하여
컴퓨터가 서로 통신할 수 있도록 한다.
DNS는 이름과 숫자 간의 매핑을 관리하여 전화번호부와 같은 기능을 한다.
DNS 서버는 이름을 IP 주소로 변환하여 도메인 이름을 웹 브라우저에 입력할 때
최종 사용자를 어떤 서버에 연결할 것인지를 제어하는데, 이 요청을 쿼리라고 부른다.
🌐 DNS는 웹 애플리케이션에 어떻게 라우팅할까?

- 사용자가 웹 브라우저를 열어 주소 표시줄에 www.example.com을 입력하고 Enter 키를 누릅니다.
- www.example.com에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은 인터넷 서비스 제공업체(ISP)가 관리하는 DNS 해석기로 라우팅됩니다.
- ISP의 DNS 해석기는 www.example.com에 대한 요청을 DNS 루트 이름 서버에 전달합니다.
- ISP의 DNS 해석기는 www.example.com에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달합니다. .com 도메인의 이름 서버는 example.com 도메인과 연관된 4개의 Amazon Route 53 이름 서버의 이름을 사용하여 요청에 응답합니다.
- ISP의 DNS 해석기는 Amazon Route 53 이름 서버 하나를 선택해 www.example.com에 대한 요청을 해당 이름 서버에 전달합니다.
- Amazon Route 53 이름 서버는 example.com 호스팅 영역에서 www.example.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환합니다.
- ISP의 DNS 해석기가 마침내 사용자에게 필요한 IP 주소를 확보하게 됩니다. 해석기는 이 값을 웹 브라우저로 반환합니다. 또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 기간 example.com의 IP 주소를 캐싱(저장)합니다. 자세한 내용은 Time to Live(TTL)를 참조하세요.
- 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.example.com에 대한 요청을 전송합니다. 여기가 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷 또는 Amazon EC2 인스턴스에서 실행되는 웹 서버입니다.