--- title: "Object Storage 버킷 접근 로그 활용" slug: "dataquery-example-objectstorage-bucketlog-vpc" updated: 2026-09-17T09:07:29Z published: 2026-09-17T09:07:29Z canonical: "guide.ncloud-docs.com/dataquery-example-objectstorage-bucketlog-vpc" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Object Storage 버킷 접근 로그 활용 VPC 환경에서 이용 가능합니다. ## Object Storage 버킷 접근 로그 활용 데이터 쿼리를 사용하여 수집된 Object Storage 버킷 접근 로그 데이터를 분석할 수 있습니다. 이 예시는 Object Storage 버킷 접근 로그 데이터를 다양한 템플릿 쿼리로 분석하고 BI(Business Intelligence) 도구로 시각화하는 과정을 설명합니다. #### 기능 요약 - [스캐너 통한 테이블 생성](/docs/dataquery-example-objectstorage-bucketlog-vpc#%EC%9B%90%EB%B3%B8%EB%8D%B0%EC%9D%B4%ED%84%B0%ED%85%8C%EC%9D%B4%EB%B8%94%EC%83%9D%EC%84%B1) - 데이터에 대한 테이블화 by Data Catalog - [쿼리 실행 및 결과 확인](/docs/dataquery-example-objectstorage-bucketlog-vpc#%ED%85%9C%ED%94%8C%EB%A6%BF%EC%BF%BC%EB%A6%AC%EC%9D%B4%EC%9A%A9-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D) by Data Query - [BI 연계를 통한 시각화](/docs/dataquery-example-objectstorage-bucketlog-vpc#BI%ED%99%9C%EC%9A%A9%EC%98%88%EC%8B%9C) by Data Query --- ### 1. Object Storage 버킷 접근 로그 설정 Object Storage의 버킷 접근 로그에 관한 활성화 및 생성에 대해서 확인할 수 있습니다. #### 버킷 접근 로그 활성화 - Object Storage 서비스에서 버킷 접근 로그를 활성화하면, 해당 버킷의 접근 이력을 로그 파일로 저장할 수 있습니다. - 이 로그 데이터를 Data Query 서비스에서 분석 대상으로 활용할 수 있습니다. - 접근 로그 설정 예시 | 항목 | 설정 값 | | --- | --- | | 버킷 이름 | 접근 로그를 분석 대상 버킷 | | 저장 버킷 | 접근 로그가 저장될 버킷 | | 로그 파일 Prefix | bucket_access_log_ | - 접근 로그 설정 가이드는 [Object Storage 사용 가이드](/docs/objectstorage-use-bucket#%EB%A1%9C%EA%B7%B8-%EA%B4%80%EB%A6%AC)를 참조해 주십시오. #### 접근 로그 생성 클라이언트를 통해 해당 버킷에 접근하여 실제로 접근 로그 데이터가 생성되도록 합니다. 주의 - 접근 로그 저장 버킷 선택 시 다른 데이터가 포함되지 않은 새로운 버킷 사용을 권장합니다. 로그 외 다른 파일이 버킷 내 혼재되는 경우 테이블 생성 및 조회 쿼리가 기대대로 동작하지 않을 수 있습니다. - 접근 로그 파일은 실시간으로 생성되지 않습니다. 접근 로그의 생성 시점 및 주기는 [Object Storage 사용 가이드](/docs/objectstorage-use-bucket#%EB%A1%9C%EA%B7%B8-%EA%B4%80%EB%A6%AC)를 참고해 주십시오. ### 2. 분석 대상 데이터 테이블 생성 #### 데이터 테이블 생성 (데이터에 대한 테이블화) - 데이터 카탈로그 서비스의 스캐너 기능을 사용하여 Object Storage에 저장된 데이터를 참조하는 원본 데이터 테이블을 생성합니다. - 아래 설정 예시를 참고하여 값을 입력한 후 스캔 시작 버튼을 클릭하여 테이블을 추가합니다. - 스캐너 설정 예시 | 항목 | 설정 값 | | --- | --- | | 데이터 유형 | Object Storage | | 경로 | s3a://[접근 로그 설정에서 지정한 저장 버킷]/ | | 스캔 범위 | 일부, 10개 | | 실행 주기 | 온디멘드 | | 패턴 | 사용: 포함, bucket_access_log_* | | 파티션 설정 | 모든 파티셔닝 형태 | | 수집 옵션 | 테이블 정의 업데이트 | | 테이블 병합 | True | | 테이블 수 제한 | 1 | - 스캐너 관련 자세한 내용은 [Data Catalog 사용 가이드](/docs/datacatalog-scanner-vpc#%EC%8A%A4%EC%BA%90%EB%84%88-%EC%83%9D%EC%84%B1)를 참고해 주십시오. #### 데이터 테이블 생성 확인 스캐너를 통한 테이블 생성에는 수 초~수 분의 시간이 걸릴 수 있습니다. 좌측 테이블 목록에서 검색을 통해 **접근 로그 설정에서 지정한 저장 버킷** 이름의 테이블이 생성되었는지 확인할 수 있습니다. ### 3. 템플릿 쿼리를 이용한 접근 로그 데이터 분석 제공된 템플릿 쿼리를 이용하여 접근 로그 분석을 수행합니다. 콘솔 에디터, BI, CLI 등에서 쿼리하거나 JDBC, SDK를 사용하여 사용자 Application 비즈니스 로직과 통합할 수 있습니다. - [CLI 사용 가이드](/docs/dataquery-cli-vpc) : CLI 연결 및 사용 방법 - [JDBC 사용 가이드](/docs/dataquery-jdbc-vpc) : DB Tool 및 BI 연결 지원 - [SDK 사용 가이드](/docs/dataquery-python-client-vpc) : 사용자 Application 통합 - [외부 BI 연결 가이드](/docs/dataquery-bi-preparing-vpc) : Superset, Zeppelin 등의 BI와 통합 #### VIEW 테이블 생성 템플릿 쿼리 사용을 위해 아래 쿼리를 실행하여 VIEW 테이블을 생성합니다. VIEW 테이블을 생성하지 않고 스캔된 데이터 테이블 이름을 템플릿 쿼리에 직접 사용해도 동일한 결과를 확인할 수 있습니다. ``` CREATE OR REPLACE VIEW "data_catalog"."default"."bucket_access_log" AS SELECT * FROM "data_catalog"."default"."scanned_table"; -- replace database/table name with yours ``` #### 제공 템플릿 쿼리 - 특정 기간 데이터 조회 (Range Query) ``` SELECT date_trunc('second', from_unixtime(CAST(timestamp_start AS BIGINT) / 1000.0) AT TIME ZONE 'Asia/Seoul') AS log_time, remote_user, request_method, request_type, status, object_name, response_length FROM data_catalog.default.bucket_access_log WHERE from_unixtime(CAST(timestamp_start AS BIGINT) / 1000.0) AT TIME ZONE 'Asia/Seoul' BETWEEN TIMESTAMP '2025-01-01 00:00:00 Asia/Seoul' AND TIMESTAMP '2025-12-31 23:59:59 Asia/Seoul' ORDER BY log_time; ``` - 가장 많이 접근한 오브젝트 TOP 10 ``` SELECT object_name, COUNT(*) AS access_count FROM data_catalog.default.bucket_access_log WHERE object_name IS NOT NULL GROUP BY object_name ORDER BY access_count DESC LIMIT 10; ``` - 가장 많이 접근한 remote_user(access_key 구분 포함) TOP 10 ``` SELECT remote_user, COUNT(*) AS request_count FROM data_catalog.default.bucket_access_log GROUP BY remote_user ORDER BY request_count DESC LIMIT 10; ``` - HTTP 상태 코드별 요청 분포 ``` SELECT status, COUNT(*) AS request_count FROM data_catalog.default.bucket_access_log GROUP BY status ORDER BY request_count DESC; ``` - 10분 단위 메서드별 요청 수 ``` SELECT from_unixtime(floor(CAST(timestamp_start AS DOUBLE) / 1000.0 / 600.0) * 600.0) AT TIME ZONE 'Asia/Seoul' AS time_slot, request_method, COUNT(*) AS request_count FROM data_catalog.default.bucket_access_log GROUP BY 1, request_method ORDER BY 1; ``` - 시간대별 최대 트래픽 (Peak Time) ``` SELECT date_trunc('hour', from_unixtime(CAST(timestamp_start AS BIGINT) / 1000.0) AT TIME ZONE 'Asia/Seoul') AS hour_slot, COUNT(*) AS access_count FROM data_catalog.default.bucket_access_log GROUP BY date_trunc('hour', from_unixtime(CAST(timestamp_start AS BIGINT) / 1000.0) AT TIME ZONE 'Asia/Seoul') ORDER BY access_count DESC LIMIT 5; ``` #### BI 활용 예시 생성한 로그 데이터 테이블과 템플릿 쿼리를 기반으로 BI 도구(Superset 등)에서 시각화할 수 있습니다. 외부 BI 연계 방법은 [Data Query BI 연계 가이드](/docs/dataquery-bi-preparing-vpc)를 참해 주십시오. - 예시: 접근량 트렌드 차트, 시간대별 트래픽 분석, 상위 요청 오브젝트 대시보드 등 ![dataquery-example-obs-accesslog-bi.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/dataquery-example-obs-accesslog-bi.png?sv=2026-02-06&spr=https&st=2026-11-13T18%3A44%3A17Z&se=2026-11-13T19%3A44%3A17Z&sr=c&sp=r&sig=9O%2FpnrTmMWMkKiZw4szSY7n0p6I10OHq37WkrLV%2FRes%3D)