솔루션 참조 아키텍처: GDC 에어갭에 Elastic Stack의 생성형 AI 기능 배포

개요

이 참조 아키텍처는 Google Distributed Cloud (GDC) 에어 갭에 Elastic Stack (Elasticsearch 및 Kibana)을 배포하고 대규모 언어 모델 (LLM) 서비스와 통합하여 Elastic의 생성형 AI 기능을 사용 설정하기 위한 개념적 설계를 정의합니다.

Elastic Stack은 널리 채택된 검색, 모니터링 가능성, 보안 분석 플랫폼입니다. 최근 Elastic 출시에는 Elastic AI 에이전트, Agent Builder로 빌드된 커스텀 에이전트, 및 공격 검색을 비롯한 생성형 AI 기능이 Kibana에 추가되었습니다. 이러한 기능은 LLM을 사용하여 자연어 요청을 Elasticsearch 쿼리로 변환하고, 다단계 도구 호출을 오케스트레이션하고, 보안 알림을 상호 연결합니다.

이 아키텍처는 GDC 에어 갭 Marketplace에서 사용할 수 있는 공식 Elastic Cloud on Kubernetes(ECK) 연산자 를 사용하여 Elastic Stack을 배포하고, GDC 경계 내에서 호스팅되는 LLM 추론 엔드포인트(GDC의 관리형 Gemini 서비스 또는 Ollama 또는 vLLM과 같은 자체 관리형 OpenAI 호환 추론 서버)에 Kibana를 연결합니다.

특징 및 기능

이 솔루션은 AI 지원 검색, 모니터링 가능성, 보안 분석을 위한 여러 가지 핵심 기능 구성요소를 제공합니다.

  • Marketplace 기반 수명 주기 관리: 공유 클러스터의 프로젝트 네임스페이스로 GDC 에어 갭 Marketplace에서 ECK 연산자를 설치하고 Elasticsearch 및 Kibana 커스텀 리소스의 프로비저닝, 구성, 조정을 자동화합니다.
  • 자연어 데이터 조사: Elastic AI 에이전트를 사용하여 자연어로 Elasticsearch 데이터를 탐색합니다. 에이전트는 기본 스키마에 대한 사전 지식 없이 색인과 매핑을 검색하고, ES|QL 쿼리를 생성 및 실행하고, 결과를 합성합니다.
  • 커스텀 에이전트 및 자동화된 워크플로: Agent Builder를 사용하여 커스텀 안내를 기본 제공 도구, 커스텀 ES|QL 도구, Kibana 워크플로와 결합하는 목적별 에이전트를 만듭니다 (예: 조사 결과가 포함된 Kibana 보안 사례를 자동으로 열기).
  • AI 기반 보안 알림 상호 연결: 공격 검색을 사용하여 열려 있는 Elastic Security 알림을 분석하고, MITRE ATT&CK 프레임워크에 매핑하고, 관련 알림, IP 주소, 사용자 계정을 공격 체인으로 상호 연결합니다.
  • 에어 갭 호환성: ECK 연산자, Elasticsearch, Kibana 컨테이너 이미지는 로컬 GDC Harbor 레지스트리에서 가져오고 모든 LLM 추론 트래픽은 내부 GDC 네트워크에 유지됩니다.
  • 플러그형 LLM 백엔드: Kibana의 OpenAI 커넥터를 통해 OpenAI 호환 /v1/chat/completions API를 노출하는 자체 관리형 추론 서버 또는 GDC의 관리형 Gemini에 Kibana를 연결합니다.

아키텍처 원칙

  • 공유 책임 모델: GDC는 공유 클러스터, Marketplace 패키지, Harbor 레지스트리, 네트워킹을 제공합니다. 고객은 Elastic Stack 배포를 운영하고, Elastic 라이선스를 관리하고, 자체 관리형 LLM 서비스 (사용되는 경우)의 선택 및 운영을 소유합니다.
  • 데이터 주권: 모든 운영 및 보안 데이터, 프롬프트, 모델 응답은 GDC 에어 갭 경계 내에 유지됩니다. 트래픽은 Elastic 호스팅 또는 공개 LLM 서비스로 전송되지 않습니다.
  • 클라우드 네이티브 작업: Kubernetes 연산자 패턴을 사용하여 상태 저장 Elastic 워크로드를 선언적으로 관리하여 일관되고 반복 가능한 배포를 보장합니다.
  • 프로토콜 표준화: 기본 함수 호출을 지원하는 널리 지원되는 OpenAI 호환 채팅 완성 API를 사용하여 Kibana를 특정 추론 엔진 또는 모델 공급업체와 분리합니다.

아키텍처

이 아키텍처는 GDC 공유 사용자 클러스터의 프로젝트 네임스페이스 내에서 ECK 연산자가 관리하는 Elastic Stack 배포로 구성됩니다. Kibana는 내부 GDC 네트워크를 통해 LLM 추론 엔드포인트와 통신합니다.

Elastic Stack 아키텍처 다이어그램

이 아키텍처의 주요 구성요소는 다음과 같습니다.

  • GDC 공유 클러스터: 여러 프로젝트에 연결된 조직 범위의 공유 Kubernetes 클러스터로, GDC Marketplace 소프트웨어 패키지 및 애플리케이션 워크로드를 호스팅합니다.
  • GDC 프로젝트: ECK 연산자, Elasticsearch 클러스터, Kibana 인스턴스, 연결된 Kubernetes 보안 비밀 및 NetworkPolicy를 격리하는 공유 클러스터의 프로젝트 네임스페이스입니다.
  • Elastic Cloud on Kubernetes (ECK) 연산자: GDC Marketplace에서 프로젝트 네임스페이스로 설치되는 연산자는 Elasticsearch 및 Kibana 커스텀 리소스를 관리하고 생성형 AI 기능 및 외부 LLM 커넥터에 필요한 Elastic 라이선스를 조정합니다.
  • Elasticsearch: 운영 및 보안 데이터를 저장하고 색인을 생성하며 Kibana의 AI 기능 및 에이전트에서 생성된 검색 및 ES|QL 쿼리를 실행합니다.
  • Kibana: Elastic의 생성형 AI 기능 (Elastic AI 에이전트, Agent Builder, 공격 검색)을 호스팅하고 사용자, Elasticsearch, LLM 서비스 간의 다단계 도구 호출을 오케스트레이션하는 LLM 작업 커넥터를 관리합니다.
  • LLM 서비스: 내부 GDC 네트워크를 통해 Kibana에 채팅 완성 및 도구 호출 기능을 제공하는 관리형 LLM 서비스 (예: GDC의 Gemini) 또는 자체 관리형 추론 서버 (예: Ollama 또는 vLLM)입니다.

개념 및 기술

이 섹션에서는 기능 구성요소, 책임, 시스템 내에서 통신하는 방법을 자세히 설명합니다.

인프라 및 플랫폼

  • GDC 공유 클러스터: ECK 연산자, Elasticsearch, Kibana 포드가 프로젝트 네임스페이스 내에 있는 기본 컴퓨팅 환경입니다.
  • GDC Marketplace: Elastic CustomResourceDefinitions를 등록하고 elastic-operator StatefulSet을 배포하는 Elastic Marketplace 패키지를 설치하고 업그레이드하는 데 사용되는 카탈로그입니다.
  • Harbor 레지스트리: 에어 갭 환경에서 ECK 연산자, Elasticsearch, Kibana 컨테이너 이미지의 안전한 로컬 소스입니다.
  • 영구 스토리지: Elasticsearch volumeClaimTemplates를 통해 프로비저닝된 PersistentVolumeClaims는 Elasticsearch 데이터에 지속적인 블록 스토리지를 제공합니다.
  • GDC 네트워킹: LoadBalancer 서비스는 Elasticsearch (포트 9200) 및 Kibana (포트 5601)를 노출하는 반면 Kubernetes NetworkPolicy 및 전역 ProjectNetworkPolicy 리소스는 LLM 서비스 연결을 비롯한 인바운드 및 교차 프로젝트 트래픽을 관리합니다.

서비스 및 로직

  • ECK 연산자: Elasticsearch 및 Kibana 커스텀 리소스를 감시하고 이를 StatefulSet, 배포, 서비스, 보안 비밀로 조정하는 컨트롤러입니다. license-controller는 연산자 네임스페이스의 라이선스 보안 비밀에 대해 클러스터 라이선스를 지속적으로 조정합니다.
  • Elastic AI 에이전트: Kibana의 기본 대화형 에이전트입니다. 기본 제공 Agent Builder 도구 (platform.core.list_indices, platform.core.get_index_mapping, platform.core.search, platform.core.execute_esql)를 사용하여 데이터를 검색하고, ES|QL을 생성하고, 결과를 요약합니다.
  • Agent Builder: 커스텀 시스템 안내를 기본 제공 도구 및 사용자 정의 도구 (esql, index_search, workflow, mcp)와 결합하는 커스텀 에이전트를 만들기 위한 프레임워크입니다.
  • Kibana 워크플로: 에이전트가 Kibana 보안 사례 열기와 같은 작업을 수행할 수 있도록 Agent Builder 도구로 등록할 수 있는 선언적 YAML 정의 자동화 (예: cases.createCase)입니다.
  • 공격 검색: 익명화된 알림 컨텍스트를 LLM으로 전송하여 .alerts-security.alerts-default 색인의 알림을 MITRE ATT&CK 전술에 매핑된 공격 체인으로 상호 연결하는 Elastic Security 보안 기능입니다.
  • LLM 서비스: 기본 도구 호출 지원을 통해 안내 조정된 채팅 완성을 제공합니다. 모델은 유효한 도구 호출, 정형 JSON, ES|QL 쿼리를 안정적으로 생성해야 합니다.

데이터 흐름 및 인터페이스

  • OpenAI 호환 채팅 완성 API (/v1/chat/completions): 기타 (OpenAI 호환 서비스) 제공업체, 기본 함수 호출 사용 설정, 서버 전송 이벤트 스트리밍으로 구성된 Kibana의 OpenAI (.gen-ai) 커넥터와 LLM 서비스 간의 인터페이스입니다.
  • Elasticsearch REST 및 ES|QL API: Kibana 및 해당 에이전트에서 매핑을 검사하고, 검색을 실행하고, ES|QL 집계를 실행하는 데 사용됩니다.
  • Kibana REST API: 커넥터 (/api/actions), 에이전트 및 도구 (/api/agent_builder), 워크플로 (/api/workflows), 감지 규칙 (/api/detection_engine), 공격 검색 (/api/attack_discovery)의 프로그래매틱 관리에 사용됩니다.
  • 기본 제공 인증이 포함된 HTTPS: Elasticsearch 및 Kibana 엔드포인트 는 ECK에서 생성된 인증서를 사용하여 TLS를 통해 제공되며 사용자 인증 정보는 ECK에서 관리하는 Kubernetes 보안 비밀에 저장됩니다.

고려사항

  • 확장성 및 성능:
    • Elasticsearch 및 Kibana 리소스 요청, 한도, 노드 수, 스토리지 크기는 평가 기본값에서 프로덕션 데이터 볼륨 및 쿼리 동시 실행과 일치하도록 조정해야 합니다.
    • Kibana의 OpenAI 커넥터는 스트리밍 턴당 기본 60초 제한 시간을 적용합니다. LLM 서비스는 각 턴을 이 한도 내에 유지하기 위해 Flash Attention과 같은 최적화를 사용하여 GPU 가속에서 실행되어야 합니다.
    • 단일 에이전트 턴은 중첩된 LLM 하위 호출을 트리거할 수 있습니다. 추론 서버는 하위 호출이 기본 대화의 캐시된 컨텍스트를 삭제하지 못하도록 여러 병렬 KV 캐시 슬롯 (예: OLLAMA_NUM_PARALLEL=2)을 유지해야 합니다.
  • LLM 모델 요구사항:
    • 모델은 기본 함수 호출 지원으로 안내 조정되어야 합니다. 프롬프트 기반 시뮬레이션된 함수 호출은 중첩된 도구 호출에 덜 안정적이므로 Kibana 커넥터에서 기본 함수 호출을 사용 설정해야 합니다.
    • 도구 정의, 색인 스키마, ES|QL 문서, 검색 결과를 결합하는 다단계 조사는 70,000개 토큰을 초과할 수 있으므로 컨텍스트 창이 128,000개 토큰 이상인 것이 좋습니다.
    • Kibana는 length 완료 이유를 심각한 오류로 처리하고 그리디 디코딩을 사용하므로 추론 가능한 모델에는 출력 토큰 한도가 8,192개 토큰 이상이고 반복 페널티가 적은 것이 좋습니다.
    • 공격 검색은 여러 알림 정형 출력을 안정적으로 합성하기 위해 30B 클래스 이상의 모델 (예: gemma4:31b)이 필요합니다.
  • 보안 및 규정 준수:
    • 모든 프롬프트, 검색된 데이터, 모델 응답은 내부 GDC 네트워크에 유지됩니다.
    • 네트워크 정책은 허용 평가 설정에서 강화되어 승인된 클라이언트에 대한 Elasticsearch 및 Kibana의 인바운드 액세스를 제한하고 LLM 서비스 엔드포인트로의 이그레스를 제한해야 합니다.
    • Kibana 및 Elasticsearch에 대한 액세스는 elastic 슈퍼유저가 아닌 Elastic 역할 기반 액세스 제어를 통해 관리되어야 합니다.
  • 리소스 관리 및 라이선스:
    • Elastic의 생성형 AI 기능 및 외부 LLM 커넥터에는 Enterprise 라이선스 (또는 활성 30일 Enterprise 평가판)가 필요하며, 이는 연산자 조정 주기 전반에 걸쳐 유지되도록 ECK 라이선스 보안 비밀을 통해 프로비저닝되어야 합니다.
  • 가용성 및 안정성:
    • 프로덕션 배포는 단일 장애점을 방지하기 위해 복제본 샤드가 있는 여러 Elasticsearch 노드와 여러 Kibana 인스턴스를 사용해야 합니다.
    • AI 기능의 가용성은 LLM 서비스의 가용성 및 지연 시간에 따라 다릅니다.
  • 운영 관리:
    • 고객은 Elastic Marketplace 패키지 및 Elastic Stack 버전을 업그레이드하고, 라이선스를 관리하고, Elasticsearch 데이터를 백업해야 합니다.
    • 자체 관리형 LLM 서비스를 사용하는 경우 고객은 배포, GPU 용량 계획, 모델 업데이트, 조정을 소유합니다.

설계 결정

이 솔루션의 기본 아키텍처 선택은 에어 갭 환경의 제약 조건 내에서 Elastic의 생성형 AI 기능을 사용 설정하는 데 중점을 둡니다.

GDC Marketplace의 ECK 연산자

ECK 연산자는 수동으로 배포하는 대신 GDC 에어 갭 Marketplace에서 설치됩니다. Marketplace 패키지는 로컬 Harbor 레지스트리에서 컨테이너 이미지를 가져오도록 사전 구성되어 있으며, 필요한 CustomResourceDefinitions를 등록하고 GDC 프로젝트 수준 IAM 역할과 통합됩니다. 이렇게 하면 이미지 미러링 노력이 줄어들고 배포가 GDC 소프트웨어 수명 주기에 맞춰 유지됩니다.

공유 클러스터 배포

이 솔루션은 Elastic Stack을 GDC 공유 클러스터의 프로젝트 네임스페이스에 배포합니다. 이렇게 하면 고객은 전용 클러스터를 프로비저닝하고 운영하지 않고도 다른 프로젝트 워크로드와 함께 Marketplace 소프트웨어를 사용할 수 있으며, 프로젝트 네임스페이스는 리소스, 보안 비밀, 네트워크 정책을 격리합니다.

LLM 서비스 옵션

GDC의 관리형 Gemini는 추론 인프라 호스팅의 운영 부담을 없애므로 사용 가능한 경우 기본 옵션입니다. 사용할 수 없는 경우 또는 고객에게 특정 오픈 모델이 필요한 경우 Kibana는 OpenAI 호환 /v1/chat/completions 엔드포인트를 노출하는 자체 관리형 추론 서버에 연결할 수 있습니다. 이 API를 표준화하면 Elastic 구성이 추론 엔진 (예: Ollama 또는 vLLM)과 독립적으로 유지됩니다.

기본 함수 호출

도구 호출 형식이 추론 서버의 OpenAI tools 프로토콜에 위임되도록 Kibana 커넥터에서 기본 함수 호출이 사용 설정됩니다. Kibana의 기본 프롬프트 기반 시뮬레이션된 함수 호출은 중첩된 도구 호출 중에 덜 안정적이며 파싱 오류로 인해 실패할 수 있습니다.

ECK 관리형 라이선스 조정

Enterprise (또는 평가판) 라이선스는 Elasticsearch 라이선스 API를 통해 직접 활성화되는 대신 ECK 라이선스 보안 비밀로 선언됩니다. ECK는 클러스터 라이선스를 지속적으로 조정하므로 ECK 외부에서 적용된 라이선스는 다음 조정 주기에서 basic으로 되돌아갑니다.

가정 및 제한사항

가정

  • ECK 연산자, Elasticsearch, Kibana에 충분한 컴퓨팅 및 영구 스토리지 용량을 갖춘 GDC 공유 클러스터와 연결된 프로젝트를 사용할 수 있습니다.
  • Elastic Marketplace 패키지 및 일치하는 Elasticsearch 및 Kibana 컨테이너 이미지는 GDC 에어 갭 Marketplace 및 로컬 Harbor 레지스트리에서 사용할 수 있습니다.
  • 사용자에게 필요한 프로젝트 역할 (namespace-admin, project-viewer, marketplace-editor, project-networkpolicy-admin)이 있습니다.
  • LLM 서비스 (GDC의 관리형 Gemini 또는 자체 관리형 OpenAI 호환 추론 서버)가 배포되고 내부 GDC 네트워크를 통해 Kibana 포드에서 연결할 수 있습니다.
  • Elastic Enterprise 라이선스를 사용할 수 있거나 평가를 위해 30일 Enterprise 평가판이 사용됩니다.

제한사항

  • 범위 외 LLM 서비스: GPU 인프라를 비롯한 자체 관리형 LLM 서비스의 배포 및 운영은 이 아키텍처에서 다루지 않습니다.
  • Elastic 호스팅 AI 서비스 없음: Elastic 관리형 LLM 및 기타 클라우드 호스팅 Elastic AI 서비스는 에어 갭 환경에서 사용할 수 없습니다.
  • 모델 종속 품질: AI 에이전트, Agent Builder, 공격 검색 결과의 정확성과 안정성은 선택한 모델의 기능과 런타임 구성에 따라 다릅니다.
  • 평가 등급 기본값: 참조 구현은 프로덕션 용도로 강화해야 하는 단일 노드 Elasticsearch 클러스터, 자체 서명된 인증서, 허용 네트워크 정책을 사용합니다.
  • 버전 구체성: 이 솔루션은 Elastic v9.4.0, Elastic Kubernetes 연산자 v3.4.0, GDC v1.16.2로 검증되었습니다. 다른 버전에서는 조정이 필요할 수 있습니다.

추가 자료

솔루션 참조 구현 (SRI): GDC 에어 갭에 Elastic Stack의 생성형 AI 기능 배포