Amazon Web Services 한국 블로그

AWS CloudTrail Lake, 자연어 쿼리 생성 기반 CloudTrail 로그 분석 간소화 (미리보기)

오늘은 규정 준수, 보안 및 운영 요구 사항 충족을 위해 AWS CloudTrail 활동 로그를 캡처, 저장, 액세스 및 분석하는 관리형 데이터 레이크인 AWS CloudTrail Lake의 생성형 인공 지능(AI) 기반 자연어 쿼리 생성 기능 평가판을 공개하겠습니다. SQL 쿼리를 작성할 기술 전문 지식이 없거나 활동 이벤트의 정확한 구조를 디코딩하는 데 시간을 할애하지 않고도 CloudTrail Lake에 저장된 이러한 활동 로그(관리 및 데이터 이벤트)에 대해 자연어를 사용하여 질문할 수 있습니다. 예를 들어, ‘스냅샷 없이 삭제된 데이터베이스 인스턴스 수 알려줘’라고 물으면 해당 질문이 CloudTrail Lake 쿼리로 변환됩니다. 이 쿼리를 있는 그대로 실행하거나 요청된 이벤트 정보를 얻기 위해 수정할 수 있습니다. 자연어 쿼리 생성을 사용하면 AWS 활동 로그를 탐색하는 프로세스가 더 간단해집니다.

이제 자연어 쿼리 생성을 시작하는 방법을 보여드리겠습니다.

자연어 쿼리 생성 시작하기
자연어 쿼리 생성기는 생성형 AI를 사용하여 프롬프트에서 바로 사용할 수 있는 SQL 쿼리를 생성합니다. 이렇게 생성된 쿼리를 CloudTrail Lake의 쿼리 편집기에서 실행하도록 선택할 수 있습니다.

AWS CloudTrail 콘솔레이크 아래에서 쿼리를 선택합니다. 쿼리 생성기는 CloudTrail 관리 및 데이터 이벤트를 수집하는 이벤트 데이터 스토어에 대한 쿼리만 생성할 수 있습니다. 이벤트 데이터 스토어의 드롭다운 목록에서 CloudTrail Lake 쿼리를 위한 이벤트 데이터 스토어를 선택합니다. 쿼리 생성기에서 자연어를 사용하여 프롬프트 필드에 다음 프롬프트를 입력합니다.

지난 한 달 동안 오류가 몇 개 기록되었어?

그런 다음 쿼리 생성을 선택합니다. 다음과 같은 SQL 쿼리가 자동으로 생성됩니다.

SELECT COUNT(*) AS error_count
FROM 8a6***
WHERE eventtime >= '2024-04-21 00:00:00'
    AND eventtime <= '2024-05-21 23:59:59'
    AND (
        errorcode IS NOT NULL
        OR errormessage IS NOT NULL
    )

실행을 선택하여 결과를 확인합니다.

흥미롭긴 하지만 더 자세한 내용을 알고 싶습니다. 어느 서비스에 가장 많은 오류가 발생했는지, 왜 이러한 오류가 발생했는지 확인하고 싶습니다. 그래서 다음 프롬프트를 입력하여 추가 세부 정보를 요청합니다.

지난 한 달 동안 각 서비스에 대해 기록된 오류는 몇 개이며 각 오류의 원인은 뭐야?

쿼리 생성을 선택하면 다음과 같은 SQL 쿼리가 생성됩니다.

SELECT eventsource,
    errorcode,
    errormessage,
    COUNT(*) AS errorCount
FROM 8a6***
WHERE eventtime >= '2024-04-21 00:00:00'
    AND eventtime <= '2024-05-21 23:59:59'
    AND (
        errorcode IS NOT NULL
        OR errormessage IS NOT NULL
    )
GROUP BY 1,
    2,
    3
ORDER BY 4 DESC;

실행을 선택하여 결과를 확인합니다.

결과를 보면 내 계정에 Amazon S3와 관련된 오류가 가장 많으며 상위 오류는 CORS 및 객체 수준 구성과 관련된 것으로 나타났습니다. 추가 질문을 통해 더 자세히 알아볼 수 있습니다. 이제 자연어 쿼리 생성기에 다른 명령을 내리겠습니다. 프롬프트 필드에 다음 프롬프트를 입력합니다.

지난 달에 사용한 상위 10개 AWS 서비스는 뭐야? 이벤트 이름도 알려줘.

쿼리 생성을 선택하면 다음과 같은 SQL 쿼리가 생성됩니다. 이 SQL 문은 자연어로 요청한 대로 필드 이름(eventSource,
eventName, COUNT(*) AS event_count)을 검색하고 WHERE 절에서 지난 달의 날짜 간격으로 행을 제한하고, eventSourceeventName별로 행을 그룹화하고, 사용 횟수로 정렬하고, 결과를 10개 행으로 제한합니다.

SELECT eventSource,
    eventName,
    COUNT(*) AS event_count
FROM 8a6***
WHERE eventTime >= timestamp '2024-04-21 00:00:00'
    AND eventTime <= timestamp '2024-05-21 23:59:59'
GROUP BY 1,
    2
ORDER BY 3 DESC
LIMIT 10;

다시 실행을 선택하여 결과를 확인합니다.

이제 지난 한 달 동안 얼마나 많은 오류가 기록되었는지, 오류가 발생한 서비스는 무엇인지, 오류의 원인은 무엇인지 더 잘 파악할 수 있게 되었습니다. 일반 언어로 질문하고 로그에 대해 생성된 쿼리를 실행하여 데이터에서 어떤 결과가 나오는지 확인할 수 있습니다.

평가판 사용해 보기
자연어 쿼리 생성 기능은 CloudTrail Lake의 일부로 미국 동부(버지니아 북부) 리전에서 평가판으로 제공됩니다.

추가 비용 없이 자연어 쿼리 생성 기능 평가판을 사용할 수 있습니다. 쿼리를 실행하여 결과를 생성할 때 CloudTrail Lake 쿼리 요금이 적용됩니다. 자세한 내용은 AWS CloudTrail 요금을 참조하세요.

자세히 알아보고 자연어 쿼리 생성을 시작하려면 AWS CloudTrail Lake 사용 설명서를 참조하세요.

– Esra