DNS (Domain Name System)
- 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발
- www.example.com과 같이 사람이 읽을 수 있는 이름을 192.0.2.1과 같은 숫자 IP 주소로 변환하여 컴퓨터가 서로 통신할 수 있도록 한다.
- 인터넷의 DNS 시스템은 이름과 숫자 간의 매핑을 관리하여 마치 전화번호부와 같은 기능
- DNS 서버는 이름에 대한 요청을 IP 주소로 변환하여 최종 사용자가 도메인 이름을 웹 브라우저에 입력할 때 해당 사용자를 어떤 서버에 연결할 것인지를 제어한다. 이 요청을 쿼리라고 한다.
- ex) Amazon Route 53(신뢰할 수 잇는 DNS 시스템)
Domain 구조
- 인터넷상에서 사용되는 도메인은 전 세계적으로 고유하게 존재하는 이름
- 인터넷상의 모든 도메인은 ".(dot)" 또는 루트(root)라 불리는 도메인 아래에 그림과 같이 나무를 거꾸로 위치시킨 역트리(Inverted tree)구조로 계층적으로 구성되어 있음
- 루트 도메인 바로 아래의 단계를 1단계 도메인 또는 최상위도메인(TLD, Top Level Doamin)이라고 부르며, 그 다음 단계를 2단계 도메인(SLD, Second Level Domailn)이라고 함
- 도메인은 일반최상위도메인(gTLD: Generic Top Level Domain)과 국가최상위도메인(ccTLD: Country Code Top Level Domain)로 구분할 수 있으며 여기서 일반최상위도메인은 다시 스폰서도메인(Sponsored TLD)과 언스폰서도메인(Unsponsored TLD)으로 구분
Domain Name
- 사용자가 웹 사이트 또는 웹 애플리케이션에 액세스하기 위해 웹 브라우저의 주소 표시줄에 입력하는 example.com과 같은 이름
- 인터넷에서 웹 사이트 또는 웹 애플리케이션을 사용할 수 있도록 하려면 먼저 도메인 이름을 등록해야 한다
Domain Registrar (도메인 등록 기관)
- 국제인터넷주소관리기구(ICANN)가 인증한, 특정 최상위 도메인(TLD) 등록을 처리하는 회사
- 예를 들어 Amazon Registrar, Inc.는 .com, .net, .org 도메인의 등록 대행자
- Amazon의 등록 대행 협력사인 Gandi는 .apartments, .boutique, .camera 등 수백 가지 TLD의 도메인 등록 대행자
Domain Registry (도메인 등록처)
- 특정 최상위 도메인을 가진 도메인을 판매할 권리를 소유한 회사.
- 예를 들어 VeriSign은 .com TLD를 가진 도메인을 판매할 권리를 소유한 등록 기관
- 도메인 등록 기관은 지리적 TLD를 위한 거주 요건 등 도메인 등록 규칙을 정의
- 도메인 등록 기관은 동일한 TLD를 갖는 모든 도메인 이름의 권한 데이터베이스도 유지
- 등록 기관의 데이터베이스에는 각 도메인의 연락처 정보와 이름 서버 등의 정보가 포함
Domain Seller (도메인 리셀러)
- Amazon Registrar 같은 등록 기관을 위해 도메인 이름을 판매하는 회사
- Amazon Route 53은 Amazon Registrar 및 Amazon 등록 기관 협력사인 Gandi의 도메인 리셀러
TLD (Top-Level Domain, 상위 수준 도메인)
- .com, .org 또는 .ninja 등 도메인 이름의 마지막 부분
이런 TLD는 일반적으로 사용자에게 웹 사이트에서 무엇을 보게 될지 알려 줍니다. 예를 들어 .bike라는 TLD를 가진 도메인 이름은 모터사이클 또는 자전거 업체나 조직의 웹 사이트와 연관되는 경우가 많습니다. 몇 가지 예외는 있지만 원하는 어떤 TLD건 사용할 수 있으므로 자전거 클럽의 도메인 이름에 .hockey TLD가 사용될 수도 있습니다.
지리적 최상위 도메인이 TLD는 국가나 도시 같은 지리적 영역과 연관됩니다. 일부 지리적 TLD의 등록 기관에는 거주 요건이 있는 반면 .io(영국령 인도양 식민지) 같은 등록 기관은 일반 TLD 사용을 허용하거나 심지어 권장합니다.
유지 시간(TTL, Time to Live)
레코드의 현재 값을 얻기 위해 Route 53에 또 다른 요청을 제출하기 전에 DNS 해석기가 해당 레코드의 값을 캐싱(저장)할 시간(초).
DNS 해석기가 TTL 만료 전에 동일한 도메인에 대한 또 다른 요청을 수신하는 경우, 해석기는 캐싱된 값을 반환
TTL이 길수록 Route 53 요금이 줄어드는데, 요금은 Route 53이 응답하는 DNS 쿼리 수에 부분적으로 기반하기 때문
TTL이 짧으면 www.example.com 웹 서버의 IP 주소 변경 등을 통해 레코드에서 값을 변경한 후 DNS 해석기가 예전의 리소스로 트래픽을 라우팅하는 시간이 줄어듬
DNS 서비스 유형
신뢰할 수 있는 DNS
신뢰할 수 있는 DNS 서비스는 개발자가 퍼블릭 DNS 이름을 관리하는 데 사용하는 업데이트 메커니즘을 제공합니다. 이 메커니즘을 통해 DNS 시스템은 DNS 쿼리에 응답하고 도메인 이름을 IP 주소로 변환합니다. 그러면 컴퓨터가 서로 통신할 수 있게 됩니다. 신뢰할 수 있는 DNS는 도메인에 대해 최종 권한이 있으며 재귀적 DNS 서버에 IP 주소 정보가 담긴 답을 제공할 책임이 있습니다. Amazon Route 53은 신뢰할 수 있는 DNS 시스템입니다.
재귀적 DNS
대개 클라이언트는 신뢰할 수 있는 DNS 서비스에 직접 쿼리를 수행하지 않습니다. 대신에 해석기 또는 재귀적 DNS 서비스라고 알려진 다른 유형의 DNS 서비스에 연결하는 경우가 일반적입니다. 재귀적 DNS 서비스는 호텔 컨시어지와 같은 역할을 합니다. DNS 레코드를 소유하고 있지 않지만 사용자를 대신해서 DNS 정보를 가져올 수 있는 중간자의 역할을 합니다. 재귀적 DNS가 일정 기간 캐시된 또는 저장된 DNS 참조를 가지고 있는 경우, 소스 또는 IP 정보를 제공하여 DNS 쿼리에 답을 합니다. 그렇지 않다면, 해당 정보를 찾기 위해 쿼리를 하나 이상의 신뢰할 수 있는 DNS 서버에 전달합니다.
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 인스턴스에서 실행되는 웹 서버입니다.
- 192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시합니다.
DNS resolver
- 인터넷 서비스 제공업체(ISP)가 관리하며 사용자 요청과 DNS 이름 서버 사이에서 중개 역할을 하는 DNS 서버
References
'IT 기초 > Infra' 카테고리의 다른 글
Linux 서버 부팅 실패 (0) | 2021.12.27 |
---|---|
Infra 모니터링 방법 (0) | 2021.12.27 |
Host disk 모니터링 툴 (0) | 2021.12.27 |
SAN/NAS/DAS (0) | 2021.12.27 |
DB availability (0) | 2021.12.27 |