출시

Elasticsearch 검색 가능한 스냅샷 소개

7.10에서 검색 가능한 스냅샷의 베타 버전을 릴리즈하게 되어 매우 기쁩니다. 검색 가능한 스냅샷은 여러분께서 선택한 Object Store 즉, 객체 저장소(AWS S3, Microsoft Azure Storage, Google Cloud Storage 또는 이에 상응)를 사용하여 스토리지 비용을 크게 절감하고 Elastic Stack에 더 많은 데이터를 수집하고 보유하는 방법을 획기적으로 바꿀 수 있는 기능입니다. Elastic에서는 오랫동안 저렴한 객체 저장소에 데이터를 백업할 수 있도록 지원해왔지만 이제 검색 가능한 스냅샷을 통해 데이터 저장 및 검색에 적극적으로 활용하실 수 있습니다.

검색 가능한 스냅샷을 사용하여 콜드 티어(7.10에서 베타로 제공)와 향후 프로즌 티어라는 두 가지 새로운 일급 데이터 티어를 지원할 예정입니다. 빠른 속도를 위한 핫 티어와 성능은 낮지만 저렴한 웜 티어 등 데이터 수명 주기 관리를 위해 오랫동안 여러 데이터 티어를 지원해왔습니다. 검색 가능한 스냅샷에서 지원하는 새로운 콜드 티어는 데이터의 중복 사본(Replica)을 저렴한 객체 저장소로 오프로드하여 읽기 전용 데이터의 로컬 저장 공간 밀도를 높임으로써 저장 공간 비용을 최대 50%까지 줄일 수 있습니다. 현재 개발 중인 프로즌 티어는 여기에서 한 걸음 더 나아가 데이터를 오로지 저렴한 객체 저장소에만 저장하면서도 모든 데이터를 검색 가능한 상태로 유지하고 자주 액세스하는 데이터를 빠르게 쿼리할 수 있도록 로컬 캐시를 제공합니다. Elastic에서 구축하는 다른 기능과 마찬가지로 검색 가능한 스냅샷이 객체 저장소에서 데이터를 로드하고 관리하고 검색하는 방법을 직접 제어할 수 있도록 API가 제공됩니다. 이러한 새로운 기능을 사용하면 Elastic에서 갈수록 증가하는 데이터 볼륨을 좀 더 쉽고 저렴하게 관리할 수 있습니다. 즉, 데이터 보존 요구 사항을 비용 효율적으로 충족하는 동시에 보안 조사를 위해 무제한 룩백을 실행하거나 블랙 프라이데이의 전년 대비 성과를 비교하는 등 새로운 사용 사례를 지원할 수 있습니다.

진화로의 여정

시계열 데이터는 어디에나 있습니다. 로그, 메트릭, Trace, 보안 이벤트도 시계열 데이터로, 보안과 통합 가시성 사용 사례, 그리고 그 외 많은 사용 사례에서 중추적인 역할을 합니다. Elatsic에서는 시간이 지남에 따라 이러한 데이터를 더 쉽고 빠르며 효율적으로 관리하고 확장할 수 있도록 지속적으로 투자해 왔습니다. 데이터의 증가 속도를 생각하면 이는 정말 중요한 부분입니다. 예를 들어, 매일 1 테라바이트의 데이터를 수집하고 있는 경우 일주일이면 7 테라바이트가 됩니다. 몇 년이 지나면 금방 페타바이트 규모로 데이터가 증가합니다. 사용자는 이렇게 기하급수적으로 증가하는 저장 공간을 관리하면서도 여전히 데이터를 검색할 수 있는 방법이 필요합니다.

Elastic에서는 데이터 수명 주기를 통해 이 문제를 해결할 수 있는 방법을 찾았습니다. 데이터가 처음 수집되면 자주 검색될 가능성이 높습니다. 예를 들어 사고를 조사하는 경우 문제를 식별하고 해결하기 위해 모든 관련 데이터에 빠르게 액세스해야 합니다. 공격자가 호스트 또는 애플리케이션을 손상시킬 때, 신속한 대응 능력이 침해의 영향을 결정하는 경우가 많습니다. 데이터도 소스 또는 유형에 따라 다양한 사용 수준으로 분류할 수 있습니다. 일부 데이터는 법적 또는 규정 준수 용도로만 보관하거나 비교 목적으로 가끔 룩백을 수행할 필요가 있을 수 있습니다. 따라서 사용자는 기간, 데이터 소스 또는 기타 기준 등 서로 다른 요구 수준에 맞는 다양한 수준의 저장 공간 및 처리 능력이 필요합니다.

Elastic에서는 사용자의 요구 사항에 맞춰 비용, 성능 및 기능 간에 균형을 유지할 수 있도록 지원해왔습니다. 여기에는 스택의 모든 레벨에 대한 투자가 포함되지만, 접근 방식의 핵심축은 데이터 수명 주기를 관리하는 데이터 티어입니다. 이 개념은 새로운 것이 아니며 Elasticsearch의 초기 버전부터 존재해 왔습니다. 인덱스 수명 주기 관리(ILM)는 핫 노드(SSD를 포함하는 빠른 시스템)와 웜 노드(회전 디스크가 있을 수 있는 저렴한 시스템) 전체에 걸쳐 데이터를 쉽게 관리할 수 있는 몇 가지 규칙을 제공하며, Elastic Cloud에서는 수년간 이를 지원해 왔습니다. 스냅샷 수명 주기 관리(SLM)를 활용하면 AWS, Google, Azure 및 온-프레미스 저장 공간 공급업체의 저렴한 객체 저장소를 사용하여 더욱 쉽게 백업을 수행하고 저장할 수 있습니다. 이러한 스냅샷은 많은 배포에서 핵심적인 역할을 했지만 데이터 티어링에는 활발히 사용되지 않았습니다. 왜 그럴까요? 스냅샷이 검색 가능하지 않았기 때문입니다. 그러나 이제 검색 가능한 스냅샷으로 이 모든 것이 바뀝니다. 이 기능을 통해 저렴한 객체 저장소를 활용하면서 동시에 백업에 생명력을 불어넣을 수 있는 새롭고 저렴한 데이터 티어를 만들 수 있게 되었습니다.

검색 가능한 스냅샷 소개

S3 및 다른 객체 저장소를 완전히 새로운 방식으로 사용할 수 있다는 점에서 검색 가능한 스냅샷은 정말 획기적입니다. 백업 데이터를 스냅샷으로 저장하는 데 객체 저장소를 계속 사용할 수도 있지만, 이제 Elasticsearch에서 스냅샷을 바로 검색할 수 있게 하여 객체 저장소를 항상 온라인 상태로 사용 가능하게 유지함으로써 객체 저장소에 생명력을 불어넣을 수 있습니다. 이 기능을 구축하고 우수한 경험을 제공하기 위해 Kibana부터 Elasticsearch, 그리고 Lucene까지 제품의 모든 계층을 변경했습니다. 실제로 Lucene에 대한 심층적인 전문 지식을 사용하여 쿼리에 응답하거나 대시보드를 로드하는 데 꼭 필요한 스냅샷 인덱스의 하위 집합만 가져오도록 검색 메커니즘을 최적화했습니다. 검색 가능한 스냅샷을 사용하면 S3 또는 다른 객체 저장소의 스냅샷 지원 인덱스에서 데이터를 빠르고 원활하게 복구하거나 검색할 수 있으며, 이를 통해 더 낮은 비용으로 더 큰 가치를 제공하는 새로운 데이터 티어를 개발할 수 있게 되었습니다.

콜드 티어

7.10 릴리즈에서 베타 버전으로 제공되는 새로운 콜드 티어는 웜 티어와 비교하여 클러스터 저장 공간을 최대 50%까지 줄입니다. 핫 티어 및 웜 티어와 동일한 수준의 안정성과 중복성을 유지하며 어떤 노드에서나 하드웨어 장애 시 자동 복구를 완벽하게 지원합니다. 따라서 “현재 급증 상황을 지난달과 비교하면 어떻게 됩니까?” 또는 “이 사용자가 지난 6개월 동안 제한된 시스템에 로그인한 적이 있나요?”와 같은 데이터에 대한 질문에 훨씬 더 비용 효율적으로 대답할 수 있습니다.

작동 방식을 설명해 드리죠. 핫 티어와 웜 티어에서는 디스크의 절반이 복제본 샤드를 저장하는 데 사용됩니다. 이러한 중복 복사본은 빠르고 일관된 쿼리 성능을 보장하고 시스템 장애 시 복원력을 제공합니다. 장애가 발생하면 복제본이 원활하게 기본 샤드로 승격되고 색인과 검색이 중단 없이 계속됩니다.

diagram-primary-shard-disk-replica-shard.jpg

하지만 데이터가 읽기 전용이 되면 중복성을 쉽게 오프로드할 수 있습니다. 스냅샷 리포지토리는 이 작업에 매우 적합합니다. 로컬 SSD 또는 회전 디스크보다 S3에 데이터를 저장하는 것이 훨씬 저렴하기 때문입니다. 콜드 티어에서는 복제본 샤드가 S3에 스냅샷으로 저장됩니다. 그 결과, 쿼리 성능에 큰 영향 없이 이전과 동일한 비용으로 콜드 노드의 사용 가능 용량이 두 배로 늘어났습니다.

diagram-higher-performing-disk-es-snapshot-on-s3.jpg

콜드 티어에서 로컬 노드 또는 디스크에 장애가 발생하는 경우 검색 가능한 스냅샷을 사용하여 S3에 스냅샷으로 저장된 복제본 인덱스를 통해 자동으로 복구하므로, 일반적인 스냅샷 복원에 걸리는 시간보다 훨씬 짧은 시간에 이러한 인덱스를 사용하여 검색 요청을 처리할 수 있습니다. 콜드 티어는 이렇게 운영됩니다.

프로즌 티어

보안 조사를 위해 무제한 룩백을 실행하거나 APM에서 원시 데이터로 드릴다운하여 지난 2년간 고객의 행동 변화를 확인할 수 있다면 어떨까요? 이때 프로즌 티어가 필요합니다. 프로즌 티어는 이전에는 Elasticsearch를 사용하기에 비용 효율적이지 않았던 데이터 유형과 볼륨이 모두 포함된 완전히 새로운 사용 사례를 지원할 수 있습니다. 검색 가능한 S3라는 개념이 비즈니스 목표에 얼마나 강력한 영향을 미칠 수 있는지 생각해 보세요. 현재 활발하게 개발 중인 프로즌 티어를 사용하면 S3 또는 원하는 객체 저장소에 저장된 데이터를 직접 검색할 수 있게 됩니다. 프로즌 티어가 있다면 데이터를 로컬에 저장할 필요가 전혀 없습니다. 모두 S3에 스냅샷으로 저장하면 됩니다. 그리고 감사 또는 보안 조사를 위해 데이터에 액세스해야 하더라도 프로즌 데이터를 가져와 리하이드레이션할 필요가 없습니다. 프로즌 티어의 멋진 점이죠. 검색 가능한 스냅샷을 사용하여 직접 쿼리를 실행할 수 있습니다.

Elastic에서는 프로즌 티어를 통해 S3에 데이터를 저장하는 비용에 근접한 비용으로 필요할 때 거의 무제한의 데이터를 검색할 수 있는 전례 없는 기능을 제공하고자 합니다. 완전 자동화된 데이터 수명 주기는 핫에서 웜, 콜드, 그리고 프로즌으로 완성되며, 최대한 저렴한 저장 공간 비용으로 필요한 액세스 및 검색 성능을 유지하도록 보장합니다.

최상의 사용자 경험을 제공하도록 최적화

새롭고 혁신적인 기능을 출시하는 것은 중요하며 Elastic에서는 언제나 고객을 위해 이를 구현하려고 최선을 다하고 있습니다. 중요한 또 다른 요소는 최상의 사용자 경험을 제공하기 위해 다른 모든 요소가 새로운 기능과 조화롭게 작동하도록 보장하는 것입니다.

  • 데이터 티어 구성 간소화: 데이터 티어를 설정하는 방식과 데이터 노드에 지정하는 새로운 역할로 ILM 정책을 구성하는 방식을 대폭 간소화했습니다. 이는 인덱스 수명 주기 관리(ILM)를 사용할 때 Elastic Stack에서 데이터를 적절한 티어에 자동으로 할당하는 데 사용됩니다.
  • 비동기식 검색: S3를 빠르게 검색할 수 있도록 최선을 다했지만, Elastic에서 모든 검색을 요술처럼 즉각적으로 처리할 수는 없습니다. S3에 대한 쿼리는 밀리초보다 조금 더 오래 걸립니다. 쿼리 실행 시 가능한 최상의 사용자 경험을 제공하고자 Elasticsearch에서 비동기식 검색 메커니즘을 개발했습니다. 비동기식 검색은 Kibana에서 장기 실행 쿼리에 대한 사용자 경험을 현저히 개선합니다. 이제 결과를 기다릴 필요 없이 검색 요청을 비동기식으로 실행할 수 있습니다. 대신, 요청 진행 상황을 모니터링하고 나중에 결과를 확인할 수 있습니다. 검색이 완료되기 전에 사용 가능한 결과를 부분적으로 확인할 수도 있습니다.
  • 쿼리 효율성: 검색을 실행할 때 일치하지 않거나 불필요한 인덱스 검색을 건너뛸 수 있도록 일련의 개선 사항을 도입했습니다. 예를 들어 일치하는 항목이 없다는 것을 알고 있는 인덱스는 데이터의 시간 또는 다른 속성에 따라 사전 필터링하여 자동으로 건너뜁니다. 또한 텍스트 검색에 Block-Max WAND를 사용하고 검색하는 샤드를 정렬하는 정렬된 쿼리를 사용하여 일치하는 항목이 충분히 있을 때 검색을 중단하는 등 가능한 경우 검색을 일찍 종료합니다.

각 개선 사항은 그 자체만으로도 가치를 제공하지만 함께 사용될 때 그 가치는 배가됩니다. 기능을 개발할 때 항상 더 큰 그림을 염두에 두고 있으며 Elastic Stack에서 이미 제공하는 모든 기능과 원활하게 연동되도록 연결하고 있습니다.

사용 사례 및 솔루션 해결

S3와 같은 객체 저장소에서 검색 가능한 스냅샷으로 수년간의 로그, 메트릭, APM 추적을 쉽고 비용 효과적으로 검색할 수 있다면 어떤 가치를 실현할 수 있을지 상상해 보세요. 데이터 리하이드레이션은 이제 그만! 검색 가능한 스냅샷과 Elastic Observability를 사용하면 검색을 수행하기 전에 스냅샷에서 인덱스를 복원하는 느리고 비용이 많이 드는 프로세스를 거치지 않고도 아카이브된 수년간의 데이터를 직접 쿼리할 수 있습니다.

검색 가능한 스냅샷을 통해 위협 추적가 및 분석가가 S3와 같은 객체 저장소에 수년 동안 축적된 대량의 보안 데이터 소스에 쉽게 액세스하도록 지원할 수 있다면 어떨까요? 검색 가능한 스냅샷과 Elastic Security를 사용하면 IDS, NetFlow, DNS, PCAP 또는 엔드포인트 데이터와 같은 대량의 보안 관련 데이터를 더 큰 규모로 수집하고, 검색 가능성을 유지하면서 비용을 절감하는 새로운 데이터 티어에서 이전보다 더 오랫동안 액세스할 수 있습니다.

마지막으로 검색 가능한 스냅샷을 통해 객체 저장소를 검색하여 큰 비용을 들이지 않고도 모든 애플리케이션 콘텐츠 및 과거 작업 공간 레코드 전체에 걸쳐 검색할 수 있는 기능을 고려해야 합니다. Elastic Stack에서 출시되는 새로운 검색 가능한 스냅샷 기능은 Elastic Enterprise Search에도 유용합니다. 더 큰 규모의 애플리케이션 콘텐츠를 지원하든, S3와 같은 객체 저장소에 안전하게 저장할 수 있는 회사의 과거 레코드를 검색하든, 큰 비용을 들이지 않고도 모든 아카이브된 콘텐츠와 과거의 콘텐츠를 검색 가능한 방식으로 저장할 수 있습니다.

계속되는 여정

7.10에서 검색 가능한 스냅샷과 콜드 티어의 베타 릴리즈를 통해 얻은 큰 성과에 대해 매우 기쁘게 생각합니다. 그리고 앞으로 나아갈 방향에 대해서도 기대가 큽니다. 프로즌 티어와 더불어 Elastic Cloud에서 간단한 슬라이더를 사용하여 사용자의 가입 및 구독 흐름을 크게 간소화한 관리형 콜드 티어와 프로즌 티어도 곧 출시될 예정입니다. 언제나 그렇듯이 Elastic에게는 계속되는 여정이며 릴리즈마다 고객에게 지속적으로 추가적인 가치를 제공한다는 긍지가 저희의 원동력입니다.

diagram-searchable-snapshots-today-next-future.jpg

지금 시작하세요

검색 가능한 스냅샷을 시작하고 콜드 티어에 데이터를 저장하려면 Elasticsearch Service에서 클러스터를 구동하거나 Elastic Stack의 최신 버전을 설치하세요. 이미 Elasticsearch를 실행 중이신가요? 그렇다면 클러스터를 7.10으로 업그레이드하신 후 다시 사용해보세요. 자세한 내용은 데이터 티어검색 가능한 스냅샷 문서에서 확인하실 수 있습니다.