Amazon OpenSearch Service에서 직접 쿼리를 사용하는 데 대한 권장 사항 - Amazon OpenSearch Service

Amazon OpenSearch Service에서 직접 쿼리를 사용하는 데 대한 권장 사항

이 페이지에서는 Amazon OpenSearch Service 직접 쿼리를 사용하여 CloudWatch Logs, Amazon S3 및 Amazon Security Lake의 데이터를 분석하기 위한 권장 사항을 제공합니다. 이러한 모범 사례를 사용하면 데이터 수집이나 중복 없이 성능을 최적화하고 효율적인 쿼리를 보장할 수 있습니다.

일반 권장 사항

직접 쿼리를 사용할 때는 다음을 수행하는 것이 좋습니다.

  • COALESCE SQL 함수를 사용하여 누락된 열을 처리하고 결과가 반환되도록 보장합니다.

  • 쿼리에서 제한을 사용하여 너무 많은 데이터를 가져오지 않도록 합니다.

  • 동일한 데이터 세트를 여러 번 분석하려는 경우 인덱싱된 뷰를 생성하여 데이터를 완전히 수집한 후 OpenSearch로 인덱싱하고 분석을 완료하면 삭제합니다.

  • 더 이상 필요하지 않은 경우 가속화 작업과 인덱스를 삭제합니다.

  • 동일하지만 대소문자만 다른 필드 이름을 포함하는 쿼리(예: field1FIELD1)는 지원되지 않습니다.

    예를 들어 다음 쿼리는 지원되지 않습니다.

    Select AWSAccountId, AwsAccountId from LogGroup Select a.@LogStream, b.@logStream from Table A INNER Join Table B ona.id = b.id

    단, 다음 쿼리는 필드 이름(@logStream)이 두 로그 그룹에서 동일하기 때문에 지원됩니다.

    Select a.@logStream, b.@logStream from Table A INNER Join Table B on a.id = b.id
  • 함수와 표현식은 필드 이름에 대해 작동해야 하며 FROM 절에 지정된 로그 그룹이 있는 SELECT 문의 일부여야 합니다.

    예를 들어 다음 쿼리는 지원되지 않습니다.

    SELECT cos(10) FROM LogGroup

    다음 쿼리는 지원됩니다.

    SELECT cos(field1) FROM LogGroup

Amazon S3 권장 사항

Amazon OpenSearch Service를 사용하여 Amazon S3에서 쿼리 데이터를 전달하는 경우 다음 사항도 권장합니다.

  • 연도, 월, 일, 시간의 파티션 형식을 사용하여 Amazon S3에 데이터를 수집하여 쿼리 속도를 높입니다.

  • 건너뛰기 인덱스를 빌드할 때는 높은 카디널리티에는 블룸 필터를 사용하고 값 범위가 큰 필드에는 최소/최대 인덱스를 사용합니다. 카디널리티가 높은 필드의 경우 값 기반 접근 방식을 사용하여 쿼리 효율성을 개선하는 것이 좋습니다.

  • 인덱스 상태 관리를 사용하여 구체화된 뷰 및 커버링 인덱스에 대한 스토리지를 유지 관리합니다.

CloudWatch Logs 권장 사항

Amazon OpenSearch Service를 사용하여 CloudWatch Logs에서 쿼리 데이터를 전달하는 경우 다음 사항도 권장합니다.

  • 특정 쿼리에서 여러 로그 그룹을 검색할 때는 적절한 구문을 사용합니다. 자세한 내용은 다중 로그 그룹 함수 섹션을 참조하세요.

  • SQL 또는 PPL 명령을 사용하는 경우 성공적으로 쿼리하려면 특정 필드를 백틱으로 묶습니다. 백틱은 특수 문자(비영숫자 및 비숫자)가 있는 필드에 필요합니다. 예를 들어 @message, Operation.Export,Test::Field는 백틱으로 묶습니다. 알파벳으로만 된 이름의 열을 백틱으로 묶을 필요는 없습니다.

    단순 필드가 있는 쿼리 예:

    SELECT SessionToken, Operation, StartTime FROM `LogGroup-A` LIMIT 1000;

    백틱이 추가된 유사한 쿼리:

    SELECT `@SessionToken`, `@Operation`, `@StartTime` FROM `LogGroup-A` LIMIT 1000;

Security Lake 권장 사항

Amazon OpenSearch Service를 사용하여 Security Lake에서 쿼리 데이터를 전달하는 경우 다음 사항도 권장합니다.

  • Security Lake 상태를 확인하고 문제 없이 원활하게 실행되고 있는지 확인합니다. 자세한 문제 해결 단계는 Amazon Security Lake 사용 설명서의 데이터 레이크 상태 문제 해결을 참조하세요.

  • 쿼리 액세스 권한을 확인합니다.

  • 쿼리 템플릿과 사전 구축된 대시보드를 탐색하여 분석을 바로 시작할 수 있습니다.

  • Open Cybersecurity Schema Framework(OCSF)와 Security Lake에 대해 알아봅니다.

  • Security Lake가 쿼리를 지원하는 SQL 구문 숙지 자세한 내용은 지원되는 OpenSearch SQL 명령 및 함수 섹션을 참조하세요.