Amazon Web Services 한국 블로그
Amazon Route 53 Resolver, Query Logs를 통한 VPC DNS 질의 로그 기능 출시 (서울 리전 포함)
Amazon Route 53 팀에서 Route 53 Resolver Query Logs라는 새로운 기능을 출시했습니다. 이 기능은 Amazon Virtual Private Cloud 내에서 리소스가 보내는 모든 DNS 질의를 로그로 기록합니다. Amazon Elastic Compute Cloud(EC2) 인스턴스든, AWS Lambda 함수 또는 컨테이너든, 이들이 Virtual Private Cloud에 있고 DNS 쿼리를 보내는 경우, 이 기능이 쿼리를 로깅합니다. 그러면 애플리케이션 작동 방식을 살펴보고 더 잘 이해할 수 있습니다.
AWS 고객들께서 DNS 쿼리 로그가 중요하다는 의견을 보내주셨습니다. 어떤 고객은 규정을 준수하는 데 로그가 필요하다고 하셨고, 어떤 고객은 DNS 쿼리 동작을 모니터링해서 보안 위협을 알아내는 데 필요하다고 하셨습니다. 단순히 DNS와 관련된 애플리케이션 문제를 해결하려는 고객도 있었습니다. Amazon Route 53 팀은 고객의 의견에 기반하여 (제 생각이지만) 멋지고 사용하기 편리한 솔루션을 개발했습니다.
Route 53 Resolver에 대해서 잘 모르는데도 불구하고 설명서를 잠깐 본 것만으로 쿼리 로깅을 구성하고 작동시킬 수 있었습니다. 이는 제가 Route 53 또는 DNS 쿼리 로깅에 많은 경험이 있어서가 아니라 이 기능이 그만큼 직관적이라는 걸 보여주는 증거라고 생각합니다.
DNS 쿼리 로그를 3가지 AWS 서비스(Amazon CloudWatch Logs, Amazon Simple Storage Service(S3), Amazon Kinesis Data Firehose) 중 하나로 보낼 수 있습니다. 선택한 대상 서비스는 주로 데이터 사용 용도에 따라 달라집니다. 규정 준수 의무(예: 호주의 IRAP(Information Security Registered Assessors Program))가 있을 경우, 로그를 Amazon Simple Storage Service(S3)에 저장하는 것도 좋습니다. DNS 쿼리를 실시간으로 모니터링 및 분석하거나 타사 데이터 분석 도구(예: Kibana) 또는 SEIM 도구(예: Splunk)와 로그를 통합하려면 Amazon Kinesis Data Firehose가 적합할 수 있습니다. 검색, 쿼리, 지표 모니터링 또는 경보를 위한 간편한 기능을 찾고 계신다면 Amazon CloudWatch Logs가 적절합니다. 다음 데모는 이 옵션을 사용하여 보여드릴 것입니다.
Amazon Route 53 Console의 [Resolver] 메뉴 섹션 근처에 [쿼리 로깅]이라는 새 항목이 보입니다. 이 항목을 클릭하면 로깅을 구성하는 화면이 나옵니다.
대시보드에 설정된 현재 구성이 표시됩니다. [쿼리 로깅 구성]을 클릭하여 시작합니다.
콘솔에 친숙한 이름 등의 몇 가지 필수 정보를 입력해야 합니다. 저는 demoNewsBlog라고 입력했습니다.
이제 로그를 보낼 대상을 선택하라는 메시지가 표시됩니다. [CloudWatch Logs 로그 그룹]을 선택하고 [로그 그룹 생성] 옵션을 선택합니다. 새 로그 그룹 이름을 /aws/route/demothebeebsnet라고 입력합니다.
그다음에는 쿼리를 로깅할 VPC를 선택해야 합니다. 여기서 선택한 VPC에 있는 모든 리소스의 DNS 쿼리가 로깅됩니다. 이 구성에 태그를 추가할 수도 있습니다. 저는 데모에서 사용하는 모든 것에 demo라는 태그를 붙이는 습관이 있습니다. 계정의 데모 리소스와 라이브 리소스를 쉽게 구분하기 위해서입니다.
마지막으로 [쿼리 로깅 구성] 버튼을 누르면 구성이 저장됩니다. 잠시 후 서비스에서 VPC의 쿼리 로깅이 활성화됩니다.
몇 분 후에 Amazon CloudWatch Logs 콘솔에 로그인하면 로그가 나타나기 시작합니다.
아래에서 볼 수 있듯이, Amazon CloudWatch Logs Insights를 사용하여 로그를 빠르게 검색하고 쿼리를 실행할 수 있습니다.
Amazon CloudWatch Logs 서비스는 다양하게 활용할 수 있습니다. 예를 들어 CloudWatch Metric Filters를 사용하여 지표를 자동 생성하거나 대시보드를 생성할 수도 있습니다. 이 데모를 만들면서 Amazon CloudWatch Logs에서 Contributor Insights라는 기능을 발견했습니다. 이 기능은 로그 데이터를 분석하고 가장 빈도가 높은 것을 표시해주는 시계열을 생성합니다. 이 그래프는 시간에 지남에 따라 가장 많이 발생한 DNS 쿼리를 보여주며, 매우 빠르게 작성할 수 있었습니다.
이 기능은 Route 53 Resolver 엔드포인트를 지원하는 모든 AWS 상업 리전에서 사용할 수 있으며, API 또는 AWS Console에서 시작할 수 있습니다. Route 53 Resolver Query Logs는 무료로 제공되지만 선택한 대상 서비스에서 로그를 처리하는 데는 비용이 발생합니다.
예를 들어 Amazon Kinesis Data Firehose를 사용하기로 했다면 Amazon Kinesis Data Firehose 서비스로 로그를 처리하는 데는 일반 요금이 발생합니다.
즐거운 로깅을 직접 체험해보세요!