를 사용하여 CloudTrail Lake 쿼리 실행 및 관리 AWS CLI - AWS CloudTrail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용하여 CloudTrail Lake 쿼리 실행 및 관리 AWS CLI

를 사용하여 CloudTrail Lake 쿼리 AWS CLI 를 실행하고 관리할 수 있습니다. 를 사용할 때는 명령이 프로필에 AWS 리전 구성된에서 실행된다는 점을 AWS CLI기억하세요. 다른 리전에서 명령을 실행하려는 경우 프로필의 기본 리전을 변경하거나 명령에 --region 파라미터를 사용합니다.

CloudTrail Lake 쿼리에 사용 가능한 명령

CloudTrail Lake에서 쿼리를 실행하고 관리하기 위한 명령은 다음과 같습니다.

CloudTrail Lake 이벤트 데이터 스토어에 사용할 수 있는 명령 목록은 섹션을 참조하세요이벤트 데이터 저장소에 대해 사용 가능한 명령.

CloudTrail Lake 대시보드에 사용할 수 있는 명령 목록은 섹션을 참조하세요대시보드에 사용 가능한 명령.

CloudTrail Lake 통합에 사용할 수 있는 명령 목록은 섹션을 참조하세요 CloudTrail Lake 통합에 사용 가능한 명령.

를 사용하여 자연어 프롬프트에서 쿼리 생성 AWS CLI

generate-query 명령을 실행하여 영어 프롬프트에서 쿼리를 생성합니다. 의 경우 쿼리하려는 이벤트 데이터 스토어의 ARN (또는의 ID 접미사ARN)를 --event-data-stores제공합니다. 이벤트 데이터 스토어는 하나만 지정할 수 있습니다. 의 경우 프롬프트를 영어로 --prompt제공합니다.

aws cloudtrail generate-query --event-data-stores arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE \ --prompt "Show me all console login events for the past week?"

성공하면 명령이 SQL 문을 출력하고 start-query 명령과 함께 이벤트 데이터 스토어에 대해 쿼리를 실행하는 데 QueryAlias 사용할를 제공합니다.

{ "QueryStatement": "SELECT * FROM $EDS_ID WHERE eventname = 'ConsoleLogin' AND eventtime >= timestamp '2024-09-16 00:00:00' AND eventtime <= timestamp '2024-09-23 00:00:00' AND eventSource = 'signin.amazonaws.com'", "QueryAlias": "AWSCloudTrail-UUID" }

를 사용하여 쿼리 시작 AWS CLI

다음 예제 AWS CLI start-query 명령은 쿼리 문에서 ID로 지정된 이벤트 데이터 스토어에서 쿼리를 실행하고 쿼리 결과를 지정된 S3 버킷에 전달합니다. --query-statement 파라미터는 작은 따옴표로 묶인 SQL 쿼리를 제공합니다. 선택적 파라미터에는 쿼리 결과를 지정된 S3 버킷에 전달하기 위해 --delivery-s3-uri가 포함됩니다. CloudTrail Lake에서 사용할 수 있는 쿼리 언어에 대한 자세한 내용은 섹션을 참조하세요CloudTrail Lake SQL 제약.

aws cloudtrail start-query --query-statement 'SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10' --delivery-s3-uri "s3://aws-cloudtrail-lake-query-results-123456789012-us-east-1"

응답은 QueryId 문자열이 됩니다. 쿼리 상태를 가져오려면 start-query에 의해 반환한 값 QueryId을(를) 사용하여 describe-query을(를) 실행합니다. 쿼리가 성공하면 get-query-results을(를) 실행하여 결과를 가져옵니다.

출력

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE" }
참고

한 시간 이상 실행되는 쿼리는 시간이 초과될 수 있습니다. 쿼리가 시간 초과되기 전에 처리된 부분적인 결과를 계속 가져올 수 있습니다.

선택적 --delivery-s3-uri 파라미터를 사용하여 쿼리 결과를 S3 버킷에 전달하는 경우 버킷 정책은 쿼리 결과를 버킷에 전송할 수 있는 권한을 부여 CloudTrail해야 합니다. 버킷 정책의 수동 편집에 대한 자세한 내용은 CloudTrail Lake 쿼리 결과에 대한 Amazon S3 버킷 정책 단원을 참조하세요.

를 사용하여 쿼리에 대한 메타데이터 가져오기 AWS CLI

다음 예제 AWS CLI describe-query 명령은 쿼리 실행 시간, 스캔 및 매칭된 이벤트 수, 스캔된 총 바이트 수, 쿼리 상태를 포함하여 쿼리에 대한 메타데이터를 가져옵니다. BytesScanned 값은 쿼리가 아직 실행 중이지 않는 한 계정에서 쿼리에 대해 청구되는 바이트 수와 일치합니다. 쿼리 결과가 S3 버킷에 전달된 경우 응답은 S3 URI 및 전달 상태도 제공합니다.

--query-id 또는 --query-alias 파라미터 중 하나를 값으로 지정해야 합니다. --query-alias 파라미터를 지정하면 별칭에 대해 마지막으로 실행한 쿼리에 대한 정보가 반환됩니다.

aws cloudtrail describe-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

다음은 응답의 예입니다.

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "QueryStatus": "RUNNING", "QueryStatistics": { "EventsMatched": 10, "EventsScanned": 1000, "BytesScanned": 35059, "ExecutionTimeInMillis": 3821, "CreationTime": "1598911142" } }

를 사용하여 쿼리 결과 가져오기 AWS CLI

다음 예제 AWS CLI get-query-results 명령은 쿼리의 이벤트 데이터 결과를 가져옵니다. start-query 명령에서 반환되는 --query-id 값을 지정해야 합니다. BytesScanned 값은 쿼리가 아직 실행 중이지 않는 한 계정에서 쿼리에 대해 청구되는 바이트 수와 일치합니다. 선택적 파라미터에는 --max-query-results이 포함되며, 단일 페이지에서 반환할 명령의 최대 결과 수를 지정합니다. 지정한 --max-query-results 값보다 많은 결과가 있는 경우, 명령을 다시 실행해 반환된 NextToken 값을 추가함으로써 결과의 다음 페이지를 가져옵니다.

aws cloudtrail get-query-results --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

출력

{ "QueryStatus": "RUNNING", "QueryStatistics": { "ResultsCount": 244, "TotalResultsCount": 1582, "BytesScanned":27044 }, "QueryResults": [ { "key": "eventName", "value": "StartQuery", } ], "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "NextToken": "20add42078135EXAMPLE" }

를 사용하여 이벤트 데이터 스토어의 모든 쿼리 나열 AWS CLI

다음 예제 AWS CLI list-queries 명령은 지난 7일 동안 지정된 이벤트 데이터 스토어에 대한 쿼리 및 쿼리 상태 목록을 반환합니다. ARN 또는에 대한 ARN 값의 ID 접미사를 지정해야 합니다--event-data-store. 선택적으로 결과 목록을 줄이려면 --start-time--end-time 파라미터, --query-status 값을 추가하여 타임스탬프로 서식이 지정된 시간 범위를 지정할 수 있습니다. QueryStatus에 대한 유효한 값에는 QUEUED, RUNNING, FINISHED, FAILED, 또는 CANCELLED 등이 있습니다.

또한 list-queries에는 선택적 페이지 매김 파리미터도 있습니다. --max-results을(를) 사용하여 단일 페이지에서 반환할 명령의 최대 결과 수를 지정합니다. 지정한 --max-results 값보다 많은 결과가 있는 경우, 명령을 다시 실행해 반환된 NextToken 값을 추가함으로써 결과의 다음 페이지를 가져옵니다.

aws cloudtrail list-queries --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE --query-status CANCELLED --start-time 1598384589 --end-time 1598384602 --max-results 10

출력

{ "Queries": [ { "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598911142 }, { "QueryId": "EXAMPLE2-4e89-9230-2127-5dr3aEXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598296624 } ], "NextToken": "20add42078135EXAMPLE" }

를 사용하여 실행 중인 쿼리 취소 AWS CLI

다음 예제 AWS CLI cancel-query 명령은 상태의 쿼리를 취소합니다RUNNING. --query-id의 값을 지정해야 합니다. cancel-query을(를) 실행할 때 cancel-query 작업이 아직 완료되지 않았음에도 쿼리 상태가 CANCELLED과 같이 표시됩니다.

참고

쿼리를 취소해도 요금이 발생할 수 있습니다. 쿼리를 취소하기 전에 검색한 데이터 양에 대해 계정에 여전히 요금이 청구됩니다.

다음은 CLI 예제입니다.

aws cloudtrail cancel-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

출력

QueryId -> (string) QueryStatus -> (string)