Amazon Web Services 한국 블로그

Amazon S3와 Amazon OpenSearch Service zero-ETL 통합 발표 (미리 보기)

오늘 Amazon OpenSearch Service와 Amazon S3의 제로 ETL 통합의 미리보기를 발표합니다. 이를 통해 Amazon OpenSearch Service에서 서비스 간에 전환할 필요 없이 Amazon S3에 저장된 운영 로그를 쿼리할 수 있는 새로운 방법입니다. 이제 클라우드 오브젝트 저장소에서 자주 쿼리되지 않는 데이터를 분석하고 OpenSearch Service의 운영 분석 및 시각화 기능을 동시에 사용할 수 있습니다.

Amazon OpenSearch Service의 Amazon S3를 사용한 직접 쿼리는 제로 ETL 통합을 제공하여 고객이 운영 데이터를 직접 쿼리할 수 있도록 지원함으로써, 데이터 복제 또는 여러 분석 도구의 관리에 따르는 운영 복잡성을 줄이고, 비용을 절감하며, 작업 실행 시간을 단축합니다. 이러한 제로 ETL 통합은 OpenSearch Service 내에서 구성할 수 있습니다. OpenSearch Service에서는 사전 정의된 대시보드를 비롯한 다양한 로그 유형 템플릿을 활용하고 해당 로그 유형에 맞게 데이터 가속을 구성할 수 있습니다. 템플릿에는 VPC Flow Logs, Elastic Load Balancing 로그, NGINX 로그가 포함되며 가속화에는 인덱스 건너뛰기, Materialized 뷰, 커버드 인덱스가 있습니다.

Amazon S3를 사용한 직접 쿼리를 사용하면 여러 데이터 소스의 데이터 상관 관계를 분석하는 보안 포렌식 및 위협 분석에 중요한 복잡한 쿼리를 수행할 수 있으므로 팀이 서비스 가동 중지 시간과 보안 이벤트를 조사하는 데 도움이 됩니다. 통합을 생성한 후 OpenSearch 대시보드 또는 OpenSearch API에서 직접 데이터 쿼리를 시작할 수 있습니다. 연결을 쉽게 감사하여 확장 가능하고 비용 효율적이며 안전한 방식으로 설정되었는지 여부를 확인할 수 있습니다.

Amazon S3를 사용한 다이렉트 쿼리 시작하기
AWS Management Console 또는 API를 통해 OpenSearch Service를 위한 새로운 Amazon S3 직접 쿼리 데이터 소스를 생성하여 쉽게 시작할 수 있습니다. 각각의 새 데이터 소스는 AWS Glue 데이터 카탈로그를 사용하여 S3 버킷을 나타내는 테이블을 관리합니다. 데이터 소스를 생성한 후에는 OpenSearch 대시보드에서 Amazon S3 테이블과 데이터 인덱싱을 구성하고 데이터를 쿼리할 수 있습니다.

1. OpenSearch Service에서 데이터 소스 생성
데이터 소스 생성에 앞서 버전 2.11 이상의 OpenSearch Service 도메인과 적절한 IAM 권한이 있는 AWS Glue 데이터 카탈로그에 대상 Amazon S3 테이블이 있어야 합니다. IAM에는 원하는 S3 버킷에 대한 액세스 권한과 AWS Glue 데이터 카탈로그에 대한 읽기 및 쓰기 권한이 필요합니다. IAM 사전 요구 사항에 대해 자세히 알아보려면 AWS 설명서의 데이터 소스 생성을 참조하세요.

OpenSearch 서비스 콘솔로 이동하여 새 데이터 소스를 설정하려는 도메인을 선택합니다. 도메인 세부정보 페이지에서 일반 정보 아래에 있는 연결 탭을 선택하고 직접 쿼리 섹션을 확인합니다.

새 데이터 소스를 생성하려면 생성을 선택하고, 새 데이터 소스 이름을 입력하며, 데이터 소스 유형을 AWS Glue 데이터 카탈로그와 Amazon S3로 선택하고, 데이터 소스의 IAM 역할을 선택합니다.

데이터 소스를 생성한 다음에는 도메인의 OpenSearch 대시보드로 이동하여 액세스 제어를 구성하고, 테이블을 정의하며, 자주 사용되는 로그 유형에 대한 로그 유형 기반 대시보드를 설정하고, 데이터를 쿼리할 수 있습니다.

2. OpenSearch 대시보드에서 데이터 소스 구성
OpenSearch 대시보드에서 데이터 소스를 구성하려면 콘솔에서 구성을 선택하고 OpenSearch 대시보드로 이동합니다. OpenSearch 대시보드의 좌측 탐색 메뉴에 있는 관리 아래에서 데이터 소스를 선택합니다. 데이터 소스 관리에서 콘솔에서 생성한 데이터 소스의 이름을 선택합니다.

OpenSearch Service에서 Amazon S3로 직접 쿼리하는 경우 AWS Glue 데이터 카탈로그에 있는 Spark 테이블을 사용합니다. 직접 쿼리하려는 새 테이블을 생성하려면 검색 플러그인 열기 메뉴의 쿼리 워크벤치로 이동합니다.

이제 다음 SQL 문에서와 같이 실행하여 http_logs 테이블을 생성하고 MSCK REPAIR TABLE mys3.default.http_logs 명령을 실행하여 카탈로그의 메타데이터를 업데이트합니다.

CREATE EXTERNAL TABLE IF NOT EXISTS mys3.default.http_logs (
   `@timestamp` TIMESTAMP,
    clientip STRING,
    request STRING, 
    status INT, 
    size INT, 
    year INT, 
    month INT, 
    day INT) 
USING json PARTITIONED BY(year, month, day) OPTIONS (path 's3://mys3/data/http_log/http_logs_partitioned_json_bz2/', compression 'bzip2')

Amazon S3에서 데이터를 신속하게 사용할 수 있도록 OpenSearch Service로 데이터를 인덱싱하는 세 가지 유형의 가속 기능(예: 인덱스 건너뛰기, Materialized 뷰, 인덱스 포함)을 설정할 수 있습니다. 성능 향상을 위해 외부 데이터 연결에서 OpenSearch 색인을 생성하려면 가속 테이블을 선택합니다.

  • 인덱스를 건너뛰면 Amazon S3에 저장된 데이터의 메타데이터만 인덱싱할 수 있습니다. 인덱스를 건너뛰면 데이터가 저장된 특정 위치의 범위를 좁혀 저장된 데이터를 빠르게 식별할 수 있습니다.
  • Materialized 뷰를 사용하면 대시보드 시각화를 쿼리 또는 강화하는 데 사용 가능한 집계 등의 복잡한 쿼리를 사용할 수 있습니다. Materialized 뷰는 이상 탐지 또는 지리공간 기능을 위해 OpenSearch Service로 데이터를 수집합니다.
  • 커버링 인덱스는 지정된 테이블 열의 모든 데이터를 수집합니다. 커버링 인덱스는 세 가지 인덱싱 유형 중 가장 성능이 좋습니다.

3. OpenSearch 대시보드에서 데이터 소스를 쿼리합니다
테이블을 설정한 다음 탐색을 사용하여 데이터를 쿼리할 수 있습니다. AWS Glue 데이터 카탈로그 테이블에서 생성한 http_logs 테이블에 대해 샘플 SQL 쿼리를 실행할 수 있습니다.

자세한 내용은 AWS 설명서에서 Amazon S3를 사용한 Amazon OpenSearch Service 직접 쿼리를 사용하여 작업하기를 참조하세요.

평가판 사용해 보기
Amazon S3을 갖춘 Amazon OpenSearch Service 제로 ETL 통합은 이제 미국 동부(오하이오), 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(도쿄), 유럽(프랑크푸르트) 및 유럽(아일랜드) 리전에서 평가판으로 사용할 수 있습니다.

OpenSearch Service는 외부 데이터를 쿼리하고 OpenSearch Service에서 인덱스를 유지 관리하는 데 필요한 컴퓨팅 유닛에 대해서만 요금을 별도로 청구합니다. 자세한 내용은 Amazon OpenSearch Service 요금 페이지를 참조하십시오.

시도해보시고 일반 AWS Support 문의처 또는 Amazon OpenSearch Service용 AWS re:Post로 피드백을 보내주세요.

Channy