기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
자연어 프롬프트로 CloudTrail Lake 쿼리 생성
CloudTrail Lake 쿼리 생성기를 사용하여 제공하는 영어 프롬프트에서 쿼리를 생성할 수 있습니다. 쿼리 생성기는 생성형 인공 지능(생성형 AI)을 사용하여 프롬프트에서 즉시 사용할 수 있는 SQL 쿼리를 생성합니다. 그러면 해당 쿼리를 Lake의 쿼리 편집기에서 실행하거나 추가로 미세 조정할 수 있습니다. 쿼리 생성기를 사용하기 위해 SQL 또는 CloudTrail 이벤트 필드에 대한 광범위한 지식이 필요하지 않습니다.
프롬프트는 CloudTrail Lake 이벤트 데이터 저장소의 이벤트 데이터에 대한 질문 또는 명령문일 수 있습니다. 예를 들어 "What are my top errors in the past month?" 및 “Give me a list of users that used SNS.” 등의 프롬프트를 입력할 수 있습니다.
프롬프트는 최소 3자, 최대 500자입니다.
쿼리 생성에는 요금이 부과되지 않습니다. 그러나 쿼리를 실행하면, 비용은 스캔한 최적화된 압축 데이터의 양을 기준으로 청구됩니다. 비용을 제어하려면 쿼리에 시작 및 끝의 eventTime 타임 스탬프를 추가하여 쿼리를 제한하는 것이 좋습니다.
참고
생성된 쿼리 아래에 나타나는 좋아요 또는 싫어요 버튼을 선택하여 생성된 쿼리에 대한 피드백을 제공할 수 있습니다. 피드백을 제공하면 CloudTrail은 프롬프트와 생성된 쿼리를 저장합니다.
개인 식별 정보, 기밀 정보 또는 민감한 정보를 프롬프트에 포함하지 마세요.
이 기능은 생성형 AI 대규모 언어 모델(LLM)을 사용합니다. LLM 응답은 다시 한 번 확인하는 것이 좋습니다.
CloudTrail 콘솔 및를 사용하여 쿼리 생성기에 액세스할 수 있습니다AWS CLI.
필수 권한
AWSCloudTrail_FullAccess 및 AdministratorAccess 관리형 정책 모두 이 기능을 사용하는 데 필요한 권한을 제공합니다.
신규 또는 기존 고객 관리형 또는 인라인 정책에 cloudtrail:GenerateQuery 작업을 포함시킬 수도 있습니다.
리전 지원
이 기능은 AWS 리전다음에서 지원됩니다.
-
아시아 태평양(뭄바이) 리전(ap-south-1)
-
아시아 태평양(시드니) 리전(ap-southeast-2)
-
아시아 태평양(도쿄) 리전(ap-northeast-1)
-
캐나다(중부) 리전(ca-central-1)
-
유럽(런던) 리전(eu-west-2)
-
미국 동부(버지니아 북부) 리전(us-east-1)
-
미국 서부(오레곤) 리전(us-west-2)
제한 사항
다음은 쿼리 생성기의 제한 사항입니다.
-
쿼리 생성기는 영어 프롬프트만 수락할 수 있습니다.
-
쿼리 생성기는 CloudTrail 이벤트(관리 이벤트, 데이터 이벤트, 네트워크 활동 이벤트)를 수집하는 이벤트 데이터 스토어에 대한 쿼리만 생성할 수 있습니다.
-
쿼리 생성기는 CloudTrail Lake 이벤트 데이터와 관련이 없는 프롬프트에 대한 쿼리를 생성할 수 없습니다.
프롬프트 예제
이 섹션에서는 예제 프롬프트와 해당 프롬프트에서 생성된 결과 SQL 쿼리를 제공합니다.
이 섹션에서 예제 쿼리를 실행하려는 경우 eds-id를 쿼리하려는 이벤트 데이터 저장소의 ID로 바꾸고 타임스탬프를 사용 사례에 적합한 타임스탬프로 바꿉니다. 타임스탬프의 형식은 YYYY-MM-DD HH:MM:SS입니다.
프롬프트: What are my top errors in the past month?
SQL 쿼리:
SELECT errorMessage, COUNT(*) as eventCount FROMeds-idWHERE errorMessage IS NOT NULL AND eventTime >= timestamp '2024-05-01 00:00:00' AND eventTime <= timestamp '2024-05-31 23:59:59' GROUP BY 1 ORDER BY 2 DESC LIMIT 2;
프롬프트: Give me a list of users that used Amazon SNS.
SQL 쿼리:
SELECT DISTINCT userIdentity.arn AS user FROMeds-idWHERE eventSource = 'sns.amazonaws.com'
프롬프트: What are my API counts each day for read and write events in the past month?
SQL 쿼리:
SELECT date(eventTime) AS event_date, SUM( CASE WHEN readonly = true THEN 1 ELSE 0 END ) AS read_events, SUM( CASE WHEN readonly = false THEN 1 ELSE 0 END ) AS write_events FROMeds-idWHERE eventTime >= timestamp '2024-05-04 00:00:00' AND eventTime <= timestamp '2024-06-04 23:59:59' GROUP BY 1 ORDER BY 1 ASC;
프롬프트: Show any events with access denied errors for the past three weeks.
SQL 쿼리:
SELECT * FROMeds-idWHERE WHERE (errorCode = 'AccessDenied' OR errorMessage = 'Access Denied') AND eventTime >= timestamp '2024-05-16 01:00:00' AND eventTime <= timestamp '2024-06-06 01:00:00'
프롬프트: Query the number of calls each operator performed on the date 2024-05-01. The operator is a principal tag.
SQL 쿼리:
SELECT element_at( eventContext.tagContext.principalTags, 'operator' ) AS operator, COUNT(*) AS eventCount FROMeds-idWHERE eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59' GROUP BY 1 ORDER BY 2 DESC;
프롬프트: Give me all event IDs that touched resources within theCloudFormationstack with name myStack on the date 2024-05-01.
SQL 쿼리:
SELECT eventID FROMeds-idWHERE any_match( eventContext.tagcontext.resourcetags, rt->element_at(rt.tags, 'aws:cloudformation:stack-name') = 'myStack' ) AND eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59'
프롬프트: Count the number of events grouped by resource tag 'solution' values, listing them in descending order of count.
SQL 쿼리:
SELECT element_at(rt.tags, 'solution'), count(*) as event_count FROMeds-id, unnest(eventContext.tagContext.resourceTags) as rt WHERE eventtime < '2025-05-14 19:00:00' GROUP BY 1 ORDER BY 2 DESC;
프롬프트: Find all Amazon S3 data events where resource tag Environment has value prod.
SQL 쿼리:
SELECT * FROMeds-idWHERE eventCategory = 'Data' AND eventSource = 's3.amazonaws.com' AND eventtime >= '2025-05-14 00:00:00' AND eventtime < '2025-05-14 20:00:00' AND any_match( eventContext.tagContext.resourceTags, rt->element_at(rt.tags, 'Environment') = 'prod' )