개요
Scalable Analytics using Apache Druid on AWS는 비용 효율성, 가용성, 복원력 및 내결함성이 뛰어난 호스팅 환경인 Apache Druid on AWS를 빠르고 효율적으로 설정, 운영 및 관리하는 데 도움이 되는 AWS 솔루션입니다. 이 솔루션을 사용하면 AWS의 컴퓨팅 및 스토리지 제품에 대한 탄력성, 확장성 및 유연한 가격 책정을 최적화하면서 Apache Druid의 모든 기능을 사용할 수 있습니다.
장점
다양한 인스턴스 및 서버리스 옵션을 통해 원하는 AWS 컴퓨팅 엔진 및 스토리지를 사용함으로써 설치를 맞춤화할 수 있는 유연성을 제공합니다.
OpenID Connect 프로토콜을 통해 사용자를 인증할 ID 제공업체를 지정하거나, 솔루션에서 기본 제공되는 Lightweight Directory Access Protocol(LDAP) 지원을 사용하거나, 사용자 이름 및 암호와 같은 기본 인증 설정을 구성합니다.
Druid에서 중앙 집중식 Amazon CloudWatch 로그 그룹으로 내보낸 로그 항목을 사용하여 디버깅 및 문제 해결 활동을 촉진하고 모니터링 대시보드를 설정하여
Druid 클러스터의 상태를 추적하고 고객 선호도에 따라 경보를 구성합니다.
이 솔루션은 기본적으로 지원되는 코어 및 커뮤니티 확장 프로그램을 비롯한 Druid 확장 프로그램 로딩 기능을 사용하여 설치 및 구성합니다.
기술 세부 정보
구현 가이드를 사용하여 이 아키텍처를 자동으로 배포할 수 있습니다.
1단계
AWS WAF는 가용성에 영향을 미치거나 보안을 침해하거나 과도한 리소스를 소비할 수 있는 일반적인 웹 익스플로잇 및 봇으로부터 Druid 웹 콘솔과 Druid API 엔드포인트를 보호합니다. AWS WAF는 인터넷에 연결된 클러스터에 대해서만 프로비저닝되고 배포됩니다.
2단계
보안이 강화된 Linux 서버(Bastion Host)를 통해 외부 네트워크와 분리된 프라이빗 네트워크에서 실행되는 Druid 서버에 대한 액세스를 관리합니다. 이 서버는 SSH 터널링을 통해 프라이빗 Application Load Balancer(ALB)가 배포되는 Druid 웹 콘솔에 액세스하는 데에도 사용할 수 있습니다.
3단계
ALB는 고객을 위한 단일 연락 창구 역할을 합니다. 로드 밸런서는 들어오는 애플리케이션 트래픽을 여러 가용 영역의 여러 쿼리 서버로 분산합니다.
4단계
프라이빗 서브넷은 다음과 같이 구성됩니다.
- Druid 마스터 오토 스케일링: 오토 스케일링에 Druid 마스터 서버 컬렉션이 포함됩니다. 마스터 서버는 데이터 모으기 및 가용성을 관리하고 새 모으기 작업을 시작하며 ‘데이터 서버’의 데이터의 가용성을 조정합니다. 마스터 서버 내에서 기능은 Coordinator와 Overlord라는 두 프로세스로 분할됩니다.
- Druid 데이터 오토 스케일링: 오토 스케일링에 Druid 데이터 서버 컬렉션이 포함됩니다. 데이터 서버는 모으기 작업을 실행하고 쿼리 가능한 데이터를 저장합니다. 데이터 서버 내에서 기능은 Historical과 MiddleManager라는 두 프로세스로 분할됩니다.
- Druid 쿼리 오토 스케일링: 오토 스케일링 그룹에 Druid 쿼리 서버 컬렉션이 포함됩니다. 쿼리 서버는 쿼리를 데이터 서버 또는 다른 쿼리 서버로 라우팅하면서 사용자와 클라이언트 애플리케이션이 상호 작용하는 엔드포인트를 제공합니다. 쿼리 서버 내에서 기능은 Broker와 Router라는 두 프로세스로 분할됩니다.
- ZooKeeper 오토 스케일링: 오토 스케일링에 ZooKeeper 서버 컬렉션이 포함됩니다. Apache Druid는 Apache ZooKeeper(ZK)를 사용하여 현재 클러스터 상태를 관리합니다.
5단계
Amazon Simple Storage Service(S3) 버킷은 Apache Druid 클러스터를 위한 딥 스토리지를 제공합니다. 딥 스토리지는 세그먼트가 저장되는 위치입니다.
6단계
AWS Secrets Manager는 Amazon Relational Database Service(RDS) 암호와 관리자 암호를 비롯하여 Apache Druid에 사용되는 암호를 저장합니다. 또한 Druid 구성 요소가 서로 인증하는 데 사용하는 시스템 계정의 보안 인증 정보도 저장합니다.
7단계
Amazon CloudWatch는 로그, 지표 및 대시보드를 지원합니다.
8단계
Amazon Aurora PostgreSQL 데이터베이스는 Apache Druid 클러스터의 메타데이터 스토리지를 제공합니다. Druid는 이 메타데이터 스토어를 사용하여 시스템에 대한 메타데이터만 보관하고 실제 데이터는 저장하지 않습니다.
9단계
Amazon Simple Notification Service(SNS) 기반의 알림 시스템은 시스템 이벤트 발생 시 즉시 알림 또는 경보를 전송합니다. 따라서 문제가 발생하면 바로 인식하고 필요한 조치를 취할 수 있습니다.