본문으로 건너뛰기

"cloud-trail" 태그로 연결된 2개 게시물개의 게시물이 있습니다.

모든 태그 보기

Data Query로 조회하는 Cloud Trail과 DNS 리졸버 로그

· 약 5분
Erin (오예진)
Cloud Engineer
Tutorial new release

운영 환경에서 로그는 장애를 진단하고 보안을 점검하는 기준 데이터입니다. 다만 로그를 저장해두는 것만으로는 충분하지 않습니다. 필요한 시점에 원하는 조건으로 빠르게 조회할 수 있어야 실제 운영 문제를 분석하고 원인을 파악하는 데 활용할 수 있습니다. 특히 감사와 진단에 반복적으로 활용되는 로그는, 처음부터 저장 위치와 파일 구조, 조회 방식을 함께 고려하는 것이 중요합니다.

이번에 추가된 두 개의 튜토리얼은 Object Storage에 저장된 운영 로그를 Data CatalogData Query를 활용해 SQL로 조회하고 분석하는 방법을 다룹니다.

두 문서는 같은 데이터 분석 아키텍처를 사용하지만, 살펴보는 운영 관점은 조금 다릅니다. 하나는 사용자 활동과 리소스 변경 이력을 바탕으로 한 보안 감사와 변경 추적이고, 다른 하나는 VPC 내부의 DNS 질의 흐름을 바탕으로 한 네트워크 진단입니다. 이에 따라 분석 대상도 각각 Cloud Trail 로그DNS 리졸버 쿼리 로그가 됩니다.

운영 로그 저장 → Object Storage → Data Catalog → Data Query

즉, 분석 대상 로그는 서로 다르지만, Object Storage에 로그를 저장한 뒤 Data Catalog에서 테이블 메타데이터를 구성하고, Data Query에서 SQL로 조회하는 과정은 동일합니다.

이번 포스트에서는 각 로그가 어떤 운영 상황에서 유용한지 살펴보고, 운영 로그를 SQL 기반으로 분석하는 방법을 함께 알아보겠습니다.

Cloud Trail 로그: 리소스 변경 이력을 확인하는 기준 데이터

Cloud Trail은 카카오클라우드에서 발생한 사용자 활동과 리소스 작업 이력을 이벤트 단위로 기록합니다. 예를 들어 특정 사용자가 언제 로그인했는지, 어떤 리소스를 생성하거나 수정했는지, 어떤 서비스에서 이벤트가 발생했는지 확인할 수 있습니다. 이 로그를 Data Query와 연동하면 보안 감사나 이력 추적 시 자주 마주치는 질문에 SQL로 답할 수 있습니다.

  • 특정 날짜에 어떤 사용자가 어떤 리소스를 변경했는가?
  • 특정 서비스나 IP 주소에서 수행된 작업 이력이 있는가?
  • 특정 리소스에 대해 생성, 수정, 삭제 이벤트가 발생했는가?

Cloud Trail 로그를 Data Query를 통해 조회 튜토리얼에서는 Cloud Trail 로그를 Object Storage에 gz 형식으로 저장하고, project_event, domain_event 경로를 기준으로 Data Catalog와 Data Query 조회 환경을 구성하는 흐름을 안내합니다. 이때 date_id, hour_id 같은 파티션 컬럼을 조건으로 사용해 필요한 기간만 확인하는 방식이 중요합니다.

Cloud Trail 로그는 보안 감사나 변경 이력 추적에 활용되는 데이터이므로, 전체 로그를 한 번에 훑는 방식보다 언제, 어떤 서비스에서, 누가, 어떤 리소스에 대해라는 조건을 좁혀 조회하는 방식이 적합합니다.

DNS 리졸버 쿼리 로그: VPC 내부의 DNS 질의와 응답 확인

DNS 리졸버 쿼리 로그는 VPC 내에서 발생한 DNS 질의와 응답 정보를 기록합니다. 애플리케이션이 어떤 도메인을 조회했는지, 응답 결과가 정상인지, 특정 시간대에 실패 응답이 집중되었는지 확인할 수 있습니다. 이 로그를 Data Query로 조회하면 다음과 같은 운영 질문을 다룰 수 있습니다.

  • 특정 날짜에 가장 많이 조회된 도메인은 무엇인가?
  • NOERROR가 아닌 응답이 어느 시간대에 집중되었는가?
  • 특정 VPC에서 특정 도메인을 비정상적으로 많이 조회했는가?
  • 응답 시간이 긴 DNS 질의가 반복되고 있는가?

DNS 리졸버 쿼리 로그를 Data Query 서비스를 통해 조회 튜토리얼에서는 DNS 리졸버 쿼리 로그가 Object Storage의 KCLogs/{region-name}/{year=yyyy/month=mm/day=dd} 구조로 저장되는 점을 기준으로 테이블을 구성합니다. 이후 Data Query에서 year, month, day 파티션을 동기화하고, 도메인별 질의 수나 실패 응답 수를 집계하는 예시를 제공합니다.

DNS 로그는 네트워크 장애 분석뿐 아니라 내부 서비스의 외부 의존성, 예상하지 못한 도메인 질의, 반복적인 실패 응답을 확인하는 데도 유용합니다. Cloud Trail이 사용자와 리소스 작업의 이력을 보여준다면, DNS 리졸버 쿼리 로그는 VPC 내부에서 애플리케이션이 어떤 이름 해석 흐름을 만들고 있는지 보여주는 데이터라고 볼 수 있습니다.

두 튜토리얼이 같은 패턴을 사용하는 이유

앞에서 설명한 것처럼 Cloud Trail 로그와 DNS 리졸버 쿼리 로그는 성격이 다르지만, 운영자가 두 로그를 다루는 방식에는 공통점이 있습니다.

먼저 로그가 Object Storage에 저장됩니다. 그다음 파일 경로와 파티션 구조를 기준으로 Data Catalog에 메타데이터를 구성합니다. 마지막으로 Data Query에서 SQL을 사용해 특정 기간, 서비스, 사용자, 도메인, 응답 코드 같은 조건으로 조회합니다.

이 공통 패턴을 만들어두면 분석 대상이 바뀌더라도 저장 위치, 메타데이터 구성, SQL 조회라는 흐름을 그대로 가져갈 수 있습니다.

단계Cloud Trail 로그DNS 리졸버 쿼리 로그
저장 위치Object StorageObject Storage
주요 경로trail/project_event, trail/domain_eventKCLogs/{region-name}/{year=yyyy/month=mm/day=dd}
주요 파티션date_id, hour_idyear, month, day
주요 분석 관점사용자 활동, 리소스 변경, 서비스 이벤트도메인 질의, DNS 응답 코드, VPC별 질의 패턴
조회 도구Data QueryData Query

이 구조는 운영 로그 분석을 일관된 방식으로 관리하는 데 도움이 됩니다. 별도 도구마다 다른 조회 언어와 저장 구조를 학습하기보다, Object Storage와 Data Catalog, Data Query를 기준으로 조회 흐름을 표준화할 수 있기 때문입니다.

운영 로그 분석을 시작하는 방법

운영 로그를 장기간 보관하고 필요한 시점에 조회해야 한다면, 두 튜토리얼을 함께 살펴보는 것이 좋습니다. 예를 들어 특정 시간대에 장애가 발생했을 때 Cloud Trail 로그로 리소스 변경 이력을 확인하고, DNS 리졸버 쿼리 로그로 같은 시간대의 도메인 질의 실패나 응답 지연을 함께 볼 수 있습니다. 서로 다른 성격의 로그를 같은 방식으로 조회할 수 있으면, 개별 이벤트를 더 넓은 운영 맥락에서 해석하는 데 도움이 됩니다.

카카오클라우드 기술문서에서는 실제 운영 상황을 가정한 다양한 튜토리얼을 제공합니다. 아래 문서에서 운영 로그를 저장하고, 조회 가능한 형태로 구성한 뒤, 필요한 조건으로 분석하는 과정을 단계별로 확인할 수 있습니다.

👉 Cloud Trail 로그를 Data Query를 통해 조회
👉 DNS 리졸버 쿼리 로그를 Data Query 서비스를 통해 조회

카카오클라우드 IAM 온보딩 영상 가이드

· 약 4분
Mia (정혜원)
Technical Contents Manager
new iam onboarding video

클라우드를 사용한다는 건, 마치 열쇠가 수십 개 달린 가상의 건물을 운영하는 것과 같습니다. 🔐
누가 어떤 방에 들어갈 수 있는지, 어떤 문을 열 수 있는지를 명확히 정해두지 않으면 금세 혼란이 생기기 때문입니다.
이 열쇠를 누구에게, 어떤 조건으로 줄지를 정하는 것이 바로 IAM(Identity and Access Management)입니다. 즉, IAM은 사용자의 역할에 따라 필요한 권한만 부여해, 리소스를 효율적으로 관리하고 불필요한 접근을 줄일 수 있도록 도와주는 서비스라고 할 수 있습니다

하지만 IAM을 처음 접하는 분들에겐 이 개념이 다소 복잡하고 부담스럽게 느껴질 수도 있으실 텐데요.
콘텐츠 기획팀에서는 카카오클라우드의 IAM을 보다 정확히 이해하고 잘 활용할 수 있도록, 총 4편의 온보딩 영상 시리즈를 제작했습니다.
이번 글에서는 각 영상의 핵심 내용을 간단히 정리해 드릴게요.

🎬 1편. IAM 시작하기 – 개념과 기본 구조

IAM 온보딩 시리즈 첫 번째 영상에서는 IAM의 기본 개념과 프로젝트, 조직 단위의 구조를 소개합니다.
처음 IAM을 접하는 분들도 이 영상을 통해 IAM의 전체 구조를 쉽게 이해할 수 있습니다. 마치 도시의 지도처럼 각 영역에 어떤 권한이 배정되어야 하는지 큰 그림을 한눈에 그려보세요.

🎬 2편. IAM 그룹과 서비스 계정 – 사용자 관리 효율 높이기

2편에서는 IAM을 더 편리하고 체계적으로 운영하기 위해 꼭 알아야 할 두 가지 기능, IAM 그룹서비스 계정을 소개합니다.

  • IAM 그룹은 동일 권한이 필요한 사용자를 하나의 사용자 그룹으로 묶어 필요한 권한을 한 번에 설정하는 유용한 기능입니다. 예를 들어, 개발팀, 운영팀, 마케팅팀처럼 팀 단위로 묶고 각 팀에 필요한 권한을 그룹 단위로 설정해 두면, 새로운 팀원이 입사했을 때 해당 그룹에 추가만 하면 권한이 자동으로 부여되기 때문에 훨씬 효율적으로 사용자 관리를 할 수 있습니다.
  • 서비스 계정은 서비스 계정은 실제 IAM 사용자 계정이 아닌, 애플리케이션이나 자동화 스크립트가 프로젝트 내 리소스에 접근하거나 이를 제어하기 위해 사용되는 비사용자용 계정으로, IAM 사용자 계정 대신 API 토큰을 발급받아 카카오클라우드 API를 호출할 수 있습니다.

이 두 기능을 적절히 활용하면, 사용자 관리와 시스템 권한 설정을 더욱 체계적이고 안전하게 운영할 수 있습니다. 자세한 내용은 영상에서 살펴보세요.

🎬 3편. Cloud Trail로 IAM 변경 이력 추적하기

IAM은 처음 설정도 중요하지만, 변경 이력을 꾸준히 확인하고 관리하는 것도 중요한데요. 3편에서는 카카오클라우드 Cloud Trail을 활용하여 누가 언제 어떤 IAM 설정을 변경했는지 이벤트 단위로 추적하는 방법을 소개합니다.

🎬 4편. IAM 운영 Best Practice 살펴보기

마지막 영상에서는 IAM을 안정적으로 운영하기 위한 다섯 가지 모범 사례를 소개합니다. 우리 조직에 아래 5가지 운영 팁이 모두 적용되어 있는 지 점검해 보시기 바랍니다.

  • 불필요한 권한 없이, 꼭 필요한 권한만 최소한으로 부여하기
  • Cloud Trail을 활용해 변경 이력을 주기적으로 확인하기
  • 퇴사자 및 휴면 계정을 정기적으로 점검하고 정리하기
  • 사용자 계정과 서비스 계정을 명확히 분리해 운영하기
  • Alert Center와 연동해 이상 징후 발생 시 빠르게 감지하고 대응하기

어떠셨나요?
IAM은 단순한 권한 관리 도구를 넘어, 조직 내 리소스를 안전하게 보호하고 역할과 책임을 명확히 구분하는 중요한 기준입니다.
IAM의 기본 구조와 운영 방법을 잘 이해하면 복잡한 클라우드 환경에서도 안정적이고 신뢰할 수 있는 서비스를 꾸준히 제공할 수 있습니다.

카카오클라우드 IAM 서비스에 대해 자세히 알고 싶다면, 아래 링크를 참고해 주세요.
감사합니다 :)