퍼블릭 DNS 쿼리 로깅 - Amazon Route 53

퍼블릭 DNS 쿼리 로깅

다음과 같이 Route 53이 수신하는 퍼블릭 DNS 쿼리에 대한 정보를 로깅하도록 Amazon Route 53을 구성할 수 있습니다.

  • 요청된 도메인 또는 하위 도메인

  • 요청의 날짜 및 시간

  • DNS 레코드 유형(예: A 또는 AAAA)

  • DNS 쿼리에 응답한 Route 53 엣지 로케이션

  • DNS 응답 코드(예: NoError 또는 ServFail)

쿼리 로깅을 구성하면 Route 53는 CloudWatch Logs에 로그를 전송합니다. CloudWatch Logs 도구를 사용하여 쿼리 로그에 액세스합니다.

쿼리 로그에는 DNS 해석기가 Route 53으로 전달하는 쿼리만 포함되어 있습니다. DNS 해석기가 쿼리에 대한 응답(예: example.com의 로드 밸런서에 대한 IP 주소)을 이미 캐시한 경우 해석기는 해당 레코드에 대한 TTL이 만료될 때까지 쿼리를 Route 53에 전달하지 않고 캐시된 응답을 계속 반환합니다.

도메인 이름(example.com) 또는 하위 도메인 이름(www.example.com)에 대해 제출된 DNS 쿼리 수, 사용자가 사용하고 있는 해석기 및 레코드에 대한 TTL에 따라 쿼리 로그에는 DNS 해석기에 제출된 수천 개의 쿼리 중 한 개의 쿼리에 대한 정보만 포함될 수 있습니다. DNS 작업 방법에 대한 자세한 내용은 웹 사이트 또는 웹 애플리케이션으로 인터넷 트래픽을 라우팅하는 방식를 참조하세요.

자세한 로깅 정보가 필요하지 않은 경우에는 Amazon CloudWatch 지표를 사용해 호스팅 영역에서 Route 53이 응답하는 DNS 쿼리의 총 수를 확인할 수 있습니다. 자세한 내용은 퍼블릭 호스팅 영역에서 DNS 쿼리 지표 보기 섹션을 참조하세요.

DNS 쿼리 로깅 구성

지정된 호스팅 영역에 대한 DNS 쿼리의 로깅을 시작하려면 Amazon Route 53 콘솔에서 다음 작업을 수행합니다.

  • Route 53이 로그를 게시할 CloudWatch Logs 로그 그룹을 선택하거나 새 로그 그룹을 생성합니다.

    참고

    로그 그룹은 미국 동부(버지니아 북부) 리전에 있어야 합니다.

  • Create(생성)을 선택하여 완료합니다.

참고

사용자가 도메인에 대한 DNS 쿼리를 제출하는 경우 쿼리 로깅 구성을 생성한 후 몇 분 내에 로그에서 쿼리를 볼 수 있어야 합니다.

DNS 쿼리 로깅을 구성하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

  2. 탐색 창에서 호스팅 영역(Hosted zones)을 선택합니다.

  3. 쿼리 로깅을 구성할 호스팅 영역을 선택합니다.

  4. [Hosted zone details] 창에서 [Configure query logging]을 선택합니다.

  5. 기존 로그 그룹을 선택하거나 새 로그 그룹을 생성합니다.

  6. 권한에 대한 알림이 표시되면(이전에 새 콘솔로 쿼리 로깅을 구성하지 않은 경우 발생) 다음 중 하나를 수행합니다.

    • 이미 10개의 리소스 정책이 있는 경우 더 이상 만들 수 없습니다. 리소스 정책 중 하나를 선택하고 편집을 선택합니다. 편집을 통해, 로그 그룹에 로그를 쓸 수 있는 권한을 Route 53에 부여할 것입니다. 저장을 선택합니다. 알림이 사라지고 다음 단계로 계속 진행할 수 있습니다.

    • 이전에 쿼리 로깅을 구성한 적이 없거나 10개의 리소스 정책을 아직 생성하지 않은 경우 CloudWatch Logs 그룹에 로그를 쓸 수 있는 권한을 Route 53에 부여해야 합니다. 권한 부여를 선택합니다. 알림이 사라지고 다음 단계로 계속 진행할 수 있습니다.

  7. 권한 - 선택 사항을 선택하여 리소스 정책이 CloudWatch 로그 그룹과 일치하는지 여부와 CloudWatch에 로그를 게시할 권한이 Route 53에 있는지 여부를 보여 주는 테이블을 확인합니다.

  8. 생성을 선택합니다.

Amazon CloudWatch를 사용하여 DNS 쿼리 로그에 액세스

Amazon Route 53은 CloudWatch Logs에 직접 쿼리 로그를 전송하며, 로그는 Route 53을 통해 액세스할 수 없습니다. 대신 CloudWatch Logs를 사용하여 거의 실시간으로 로그를 보고 데이터를 검색 및 필터링하며 로그를 Amazon S3에 내보냅니다.

Route 53은 지정된 호스팅 영역에 대한 DNS 쿼리에 응답하는 각 Route 53 엣지 로케이션에 대해 하나의 CloudWatch Logs 로그 스트림을 생성하고 쿼리 로그를 해당 로그 스트림으로 전송합니다. 각 로그 스트림의 이름에 대한 형식은 hosted-zone-id/edge-location-ID(예: Z1D633PJN98FT9/DFW3)입니다.

각 엣지 로케이션은 3자 코드와 임의 배정된 번호로 식별됩니다(예: DFW3). 3자 코드는 일반적으로 엣지 로케이션 부근의 공항을 나타내는 국제 항공 수송 협회 공항 코드에 상응합니다. 이러한 약어는 향후에 변경될 수 있습니다. 엣지 로케이션의 목록은 Route 53 제품 세부 정보 페이지의 ‘Route 53 글로벌 네트워크’를 참조하세요.

참고

위의 규칙을 따르지 않는 접두사 또는 접미사가 있을 수 있습니다. 내부 전용 속성을 인코딩합니다.

자세한 설명은 다음과 같이 해당 문서를 참조하세요.

로그의 보존 기간 변경 및 Amazon S3에 로그 내보내기

기본적으로 CloudWatch Logs는 쿼리 로그를 무기한 저장합니다. CloudWatch Logs가 보존 기간보다 오래된 로그를 삭제하도록 보존 기간을 선택적으로 지정할 수 있습니다. 자세한 내용은 Amazon CloudWatch 사용 설명서CloudWatch Logs에서 로그 데이터 보존 기간 변경을 참조하세요.

로그 데이터를 보존하려고 하지만 데이터 조회 및 분석에 CloudWatch Logs 도구가 필요하지 않으면 로그를 Amazon S3에 내보낼 수 있으므로 스토리지 비용을 절감할 수 있습니다. 자세한 내용은 Amazon S3에 로그 데이터 내보내기를 참조하세요.

요금에 대한 자세한 내용은 해당하는 요금 페이지를 참조하세요.

참고

Route 53에서 DNS 쿼리 로깅 구성 시 Route 53 요금은 발생하지 않습니다.

쿼리 로깅 중지

Amazon Route 53이 CloudWatch Logs로의 쿼리 로그 전송을 중지하도록 하려면 다음 절차를 수행하여 쿼리 로깅 구성을 삭제합니다.

쿼리 로깅 구성을 삭제하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

  2. 탐색 창에서 호스팅 영역(Hosted zones)을 선택합니다.

  3. 쿼리 로깅 구성을 삭제할 호스팅 영역의 이름을 선택합니다.

  4. 호스팅 영역 세부 사항 창에서 쿼리 로깅 구성 삭제를 선택합니다.

  5. [삭제]를 선택하여 확인합니다.

DNS 쿼리 로그에 나타나는 값

각 로그 파일에는 Amazon Route 53이 해당 엣지 로케이션의 DNS 해석기로부터 수신한 각 DNS 쿼리당 하나의 로그 항목이 포함되어 있습니다. 각 로그 항목에는 다음 값이 포함되어 있습니다.

로그 형식 버전

이 쿼리 로그의 버전 번호입니다. 필드를 로그에 추가하거나 기존 필드의 형식을 변경하는 경우 이 값이 증가합니다.

쿼리 타임스탬프

ISO 8601 형식 및 협정 세계시(UTC)로 Route 53이 요청에 응답한 날짜 및 시간입니다(예: 2017-03-16T19:20:25.177Z).

ISO 8601 형식에 대한 자세한 내용은 Wikipedia 도움말 ISO 8601을 참조하세요. UTC에 대한 자세한 내용은 Wikipedia 도움말 협정 세계시를 참조하세요.

호스팅 영역 ID

이 로그의 모든 DNS 쿼리와 연결된 호스팅 영역의 ID입니다.

쿼리 이름

요청에서 지정된 도메인 또는 하위 도메인입니다.

쿼리 유형

요청에서 지정된 DNS 레코드 유형 또는 ANY입니다. Route 53이 지원하는 유형에 대한 자세한 내용은 지원되는 DNS 레코드 유형를 참조하세요.

응답 코드

Route 53이 DNS 쿼리에 대한 응답으로 반환한 DNS 응답 코드입니다.

계층 4 프로토콜

쿼리를 제출하는 데 사용된 프로토콜로, TCP 또는 UDP입니다.

Route 53 엣지 로케이션

쿼리에 응답한 Route 53 엣지 로케이션입니다. 각 엣지 로케이션은 3자 코드와 임의의 숫자로 식별됩니다(예: DFW3). 3자 코드는 일반적으로 엣지 로케이션 부근의 공항을 나타내는 국제 항공 수송 협회 공항 코드에 상응합니다. 이러한 약어는 향후에 변경될 수 있습니다.

엣지 로케이션의 목록은 Route 53 제품 세부 정보 페이지의 “Route 53 글로벌 네트워크”를 참조하세요.

해석기 IP 주소

요청을 Route 53에 제출한 DNS 해석기의 IP 주소입니다.

EDNS 클라이언트 서브넷

DNS 해석기에서 사용 가능한 경우 요청이 시작된 클라이언트의 부분 IP 주소입니다.

자세한 내용은 IETF 초안인 DNS 요청의 클라이언트 서브넷을 참조하세요.

쿼리 로그 예

다음은 쿼리 로그의 예입니다(Region은 자리 표시자).

1.0 2017-12-13T08:16:02.130Z Z123412341234 example.com A NOERROR UDP Region 192.168.1.1 - 1.0 2017-12-13T08:15:50.235Z Z123412341234 example.com AAAA NOERROR TCP Region 192.168.3.1 192.168.222.0/24 1.0 2017-12-13T08:16:03.983Z Z123412341234 example.com ANY NOERROR UDP Region 2001:db8::1234 2001:db8:abcd::/48 1.0 2017-12-13T08:15:50.342Z Z123412341234 bad.example.com A NXDOMAIN UDP Region 192.168.3.1 192.168.111.0/24 1.0 2017-12-13T08:16:05.744Z Z123412341234 txt.example.com TXT NOERROR UDP Region 192.168.1.2 -