Amazon Elasticsearch Service이란 무엇입니까? - Amazon Elasticsearch Service

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

Amazon Elasticsearch Service이란 무엇입니까?

Amazon Elasticsearch Service(Amazon ES)는 AWS 클라우드에서 Elasticsearch 클러스터를 쉽게 배포, 운영 및 조정할 수 있는 관리형 서비스입니다. Elasticsearch는 로그 분석, 실시간 애플리케이션 모니터링, 클릭 스트림 분석 같은 사용 사례를 위한 인기 있는 오픈 소스 검색 및 분석 엔진입니다. Amazon ES를 사용하면 Elasticsearch API에 바로 액세스해 기존 코드 및 애플리케이션을 서비스를 통해 원활하게 사용할 수 있습니다.

Amazon ES는 Elasticsearch 클러스터의 리소스를 모두 프로비저닝하고 클러스터를 시작합니다. 또한 실패한 Elasticsearch 노드를 자동으로 감지한 다음 교체해 자체 관리형 인프라와 관련된 오버헤드를 줄입니다. API를 한 번만 호출하거나 콘솔에서 몇 번만 클릭하여 클러스터를 조정할 수 있습니다.

Amazon ES 사용을 시작하려면 도메인을 만듭니다. Amazon ES 도메인은 Elasticsearch 클러스터와 동의어입니다. 도메인은 설정, 인스턴스 유형, 인스턴스 수, 스토리지 리소스를 지정한 설정입니다. 각 인스턴스는 Elasticsearch 노드.

Amazon ES 콘솔을 사용하여 몇 분 만에 도메인을 설정 및 구성할 수 있습니다. 프로그래밍 방식 액세스를 선호하는 경우 AWS CLI 또는 AWS SDK를 사용할 수 있습니다.

Amazon Elasticsearch Service의 특징

Amazon ES에는 다음 기능이 포함됩니다.

크기 조정

  • 다양한 CPU, 메모리 및 스토리지 용량 구성(인스턴스 유형이라고 함)

  • 최대 3PB의 연결된 스토리지

  • 읽기 전용 데이터를 위한 비용 효율적인 UltraWarm 스토리지

[Security]

  • AWS Identity and Access Management(IAM) 액세스 제어

  • Amazon VPC 및 VPC 보안 그룹을 사용하는 쉬운 통합

  • 저장 중 데이터 암호화 및 노드 간 암호화

  • Amazon Cognito 또는 Kibana에 대한 HTTP 기본 인증

  • 인덱스 수준, 문서 수준 및 필드 수준 보안

  • Kibana 멀티테넌시

안정성

  • 리소스를 위한 여러 지리적 위치(리전가용 영역이라고 함)입니다.

  • 동일한 리전의 가용 영역 두 개 또는 세 개에 걸친 노드 할당(다중 AZ)입니다.

  • 클러스터 관리 작업 부담을 줄여주는 전용 마스터 노드

  • 자동 스냅샷으로 Amazon ES 도메인 백업 및 복원

유연성

  • BI(비즈니스 인텔리전스) 애플리케이션과의 통합을 위한 SQL 지원

  • 검색 결과 개선을 위한 사용자 지정 패키지

유명 서비스와의 통합

  • Kibana를 사용하는 데이터 시각화

  • Amazon ES 도메인 지표 및 설정 경보 모니터링을 위한 Amazon CloudWatch와의 통합

  • Amazon ES 도메인에 대한 구성 API 호출 감사를 위한 AWS CloudTrail과의 통합

  • Amazon ES로 스트리밍 데이터 로드를 위한 Amazon S3, Amazon Kinesis 및 Amazon DynamoDB와의 통합

  • 데이터가 특정 임계값을 초과하는 경우 Amazon SNS의 알림

지원되는 Elasticsearch 버전

Amazon ES에서는 현재 다음과 같은 Elasticsearch 버전을 지원합니다.

  • 7.7, 7.4, 7.1

  • 6.8, 6.7, 6.5, 6.4, 6.3, 6.2, 6.0

  • 5.6, 5.5, 5.3, 5.1

  • 2.3

  • 1.5

Elasticsearch의 이전 버전에 비해 7.x 및 6.x 버전은 보다 빠르고 안전하며 손쉽게 사용할 수 있는 강력한 기능을 제공합니다. 몇 가지 주요 내용은 다음과 같습니다.

  • 향상된 인덱싱 성능 – 최신 버전의 Elasticsearch는 인덱싱 기능이 우수해서 데이터 업데이트 처리량이 크게 늘었습니다.

  • 보호 조치 개선 – 최신 Elasticsearch 버전은 지나치게 광범위하거나 복잡한 쿼리가 클러스터의 성능 및 안정성에 부정적인 영향을 미치지 않도록 합니다.

  • Vega 가상화 – Kibana 6.2 이상 버전은 Vega 가상화 언어를 지원합니다. 이를 통해 컨텍스트 인식 Elasticsearch 쿼리를 만들고, 여러 데이터 소스를 하나의 그래프에 통합하며, 사용자 상호 작용을 그래프에 추가하는 등의 작업을 할 수 있습니다.

  • Java 상위 수준 REST 클라이언트 – 이 클라이언트는 하위 수준 클라이언트와 비교하여 개발 환경을 단순화하고 대다수 Elasticsearch API를 지원합니다. 코드 샘플은 HTTP 요청 서명을 참조하십시오.

자세한 내용은 지원되는 Elasticsearch 작업, Elasticsearch 버전별 기능, Elasticsearch 버전별 플러그인 단원을 참조하십시오.

Elasticsearch 프로젝트를 새로 시작하는 경우에는 지원되는 최신 버전의 Elasticsearch를 선택하는 것이 좋습니다. Elasticsearch 구 버전을 사용하는 기존 도메인이 있으면 그 도메인을 유지하거나 데이터를 마이그레이션할 수 있습니다. 자세한 정보는 Elasticsearch 업데이트 단원을 참조하십시오.

Amazon Elasticsearch Service 가격

Amazon ES에서는 EC2 인스턴스의 사용 시간과 인스턴스에 연결된 EBS 스토리지 볼륨의 누적 크기에 대해 요금을 지불합니다. 이때 표준 AWS 데이터 전송 요금도 적용됩니다.

하지만 알아둘 만한 데이터 전송 예외가 몇 가지 존재합니다. 도메인에서 다중 가용 영역을 사용하는 경우, Amazon ES는 도메인이 속하는 두 가용 영역 간의 트래픽에 대해 요금을 청구하지 않습니다. 또한 샤드 할당 및 재분배 과정에서는 도메인 내부에서 상당한 데이터 전송이 발생합니다. 이때 일어나는 트래픽에 대해서도 Amazon ES는 측정하거나 요금을 청구하지 않습니다. 마찬가지로, Amazon ES는 Ultrawarm 노드와 Amazon S3 간의 데이터 전송에 대해 요금을 청구하지 않습니다

전체 요금 내역은 Amazon Elasticsearch Service 요금을 참조하십시오. 구성 변경 도중 발생하는 변경 사항에 대한 자세한 내용은 구성 변경 비용 단원을 참조하십시오.

Amazon Elasticsearch Service 시작하기

AWS 계정이 아직 없는 경우 시작하려면 계정에 가입해야 합니다. 계정을 설정하면 Amazon Elasticsearch Service에 대한 시작하기 자습서를 완료합니다. 이 서비스에 대해 알아보는 중 추가 정보가 필요한 경우 다음 소개 주제를 참조하십시오.

자체 관리 Elasticsearch 클러스터에서 Amazon ES로의 마이그레이션에 대한 자세한 내용은 Amazon Elasticsearch Service로 마이그레이션 단원을 참조하십시오.

Amazon ES는 일반적으로 다음 서비스와 함께 사용됩니다.

Amazon CloudWatch

Amazon ES 도메인은 CloudWatch에 지표를 자동으로 보내므로 도메인 상태 및 성능을 모니터링할 수 있습니다. 자세한 정보는 Amazon CloudWatch를 사용하여 클러스터 지표 모니터링 단원을 참조하십시오.

CloudWatch Logs가 다른 방향으로 진행될 수도 있습니다. 분석을 위해 데이터를 Amazon ES로 스트리밍하도록 CloudWatch Logs를 구성할 수도 있습니다. 자세히 알아보려면 Amazon CloudWatch에서 Amazon ES로 스트리밍 데이터 로드 단원을 참조하십시오.

AWS CloudTrail

AWS CloudTrail을 사용하면 계정의 Amazon ES 구성 API 호출 및 관련 이벤트 내역을 확인할 수 있습니다. 자세한 정보는 Amazon Elasticsearch Service의 로깅 및 모니터링 단원을 참조하십시오.

Amazon Kinesis

Kinesis는 방대한 규모의 스트리밍 데이터를 실시간으로 처리하는 관리형 서비스입니다. 자세한 내용은 Amazon Kinesis Data Streams에서 Amazon ES로 스트리밍 데이터 로드Amazon Kinesis Data Firehose에서 Amazon ES로 스트리밍 데이터 로드 단원을 참조하십시오.

Amazon S3

Amazon Simple Storage Service(Amazon S3)는 인터넷용 스토리지를 제공합니다. 이 가이드에서는 Amazon S3 통합을 위한 Lambda 샘플 코드를 제공합니다. 자세한 정보는 Amazon S3에서 Amazon ES로 스트리밍 데이터 로드 단원을 참조하십시오.

AWS IAM

AWS Identity and Access Management(IAM)는 Amazon ES 도메인에 대한 액세스 관리를 위해 사용할 수 있는 웹 서비스입니다. 자세한 정보는 Amazon Elasticsearch Service의 자격 증명 및 액세스 관리 단원을 참조하십시오.

AWS Lambda

AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. 이 가이드는 DynamoDB, Amazon S3 및 Kinesis의 데이터를 스트리밍하기 위한 Lambda 샘플 코드를 제공합니다. 자세한 정보는 Amazon Elasticsearch Service로 스트리밍 데이터 로드 단원을 참조하십시오.

Amazon DynamoDB

Amazon DynamoDB는 완벽하게 관리되는 NoSQL 데이터베이스 서비스로, 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공합니다. Amazon ES에 데이터를 스트리밍하는 데 대한 자세한 내용은 Amazon DynamoDB에서 Amazon ES로 스트리밍 데이터 로드 단원을 참조하십시오.