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

개요

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

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

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

특징 및 기능

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

  • 마켓플레이스 기반 수명 주기 관리: GDC 에어 갭 마켓플레이스에서 공유 클러스터의 프로젝트 네임스페이스로 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를 GDC의 관리형 Gemini 또는 Kibana의 OpenAI 커넥터를 통해 OpenAI 호환 /v1/chat/completions API를 노출하는 자체 관리형 추론 서버에 연결합니다.

아키텍처 원칙

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

아키텍처

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

Elastic Stack 아키텍처 다이어그램

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

  • GDC 공유 클러스터: 여러 프로젝트에 연결된 조직 범위의 공유 Kubernetes 클러스터로, GDC Marketplace 소프트웨어 패키지와 애플리케이션 워크로드를 호스팅합니다.
  • GDC 프로젝트: ECK 연산자, Elasticsearch 클러스터, Kibana 인스턴스, 연결된 Kubernetes 보안 비밀 및 NetworkPolicies를 격리하는 공유 클러스터의 프로젝트 네임스페이스입니다.
  • Elastic Cloud on Kubernetes(ECK) 연산자: GDC Marketplace에서 프로젝트 네임스페이스로 설치된 연산자는 Elasticsearch 및 Kibana 커스텀 리소스를 관리하고 생성형 AI 기능 및 외부 LLM 커넥터에 필요한 Elastic 라이선스를 조정합니다.
  • Elasticsearch: 운영 및 보안 데이터를 저장하고 색인을 생성하며 Kibana의 AI 기능 및 에이전트에서 생성된 검색 및 ES|QL 쿼리를 실행합니다.
  • Kibana: Elastic의 생성형 AI 기능(Elastic AI 에이전트, Agent Builder, Attack Discovery)을 호스팅하고 사용자와 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 Registry: 에어 갭 적용 환경에서 ECK 연산자, Elasticsearch, Kibana 컨테이너 이미지의 안전한 로컬 정보 소스입니다.
  • 영구 스토리지: Elasticsearch volumeClaimTemplates를 통해 프로비저닝된 PersistentVolumeClaims는 Elasticsearch 데이터에 내구성 있는 블록 스토리지를 제공합니다.
  • GDC 네트워킹: LoadBalancer 서비스는 Elasticsearch(포트 9200) 및 Kibana(포트 5601)를 노출하고 Kubernetes NetworkPolicy 및 전역 ProjectNetworkPolicy 리소스는 LLM 서비스에 대한 연결을 포함하여 인바운드 및 프로젝트 간 트래픽을 제어합니다.

서비스 및 로직

  • ECK 연산자: Elasticsearch 및 Kibana 커스텀 리소스를 감시하고 StatefulSets, 배포, 서비스, 보안 비밀로 조정하는 컨트롤러입니다. license-controller는 연산자 네임스페이스의 라이선스 보안 비밀과 클러스터 라이선스를 지속적으로 조정합니다.
  • Elastic AI Agent: 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): Kibana의 OpenAI(.gen-ai) 커넥터와 LLM 서비스 간의 인터페이스로, 기타(OpenAI 호환 서비스) 제공업체, 기본 함수 호출 사용 설정, 서버 전송 이벤트 스트리밍으로 구성됩니다.
  • Elasticsearch REST 및 ES|QL API: Kibana 및 해당 에이전트에서 매핑을 검사하고, 검색을 실행하고, ES|QL 집계를 실행하는 데 사용됩니다.
  • Kibana REST API: 커넥터(/api/actions), 에이전트 및 도구(/api/agent_builder), 워크플로(/api/workflows), 감지 규칙(/api/detection_engine), Attack Discovery(/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 마켓플레이스의 ECK 연산자

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

공유 클러스터 배포

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

LLM 서비스 옵션

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

네이티브 함수 호출

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

ECK 관리 라이선스 조정

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

가정 및 제한사항

가정

  • GDC 공유 클러스터 및 연결된 프로젝트를 사용할 수 있으며 ECK 연산자, Elasticsearch, Kibana에 충분한 컴퓨팅 및 영구 스토리지 용량이 있습니다.
  • 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, Attack Discovery 결과의 정확성과 신뢰성은 선택한 모델의 기능과 런타임 구성에 따라 달라집니다.
  • 평가 등급 기본값: 참조 구현은 단일 노드 Elasticsearch 클러스터, 자체 서명 인증서, 허용 네트워크 정책을 사용하며, 프로덕션 용도로 강화해야 합니다.
  • 버전 특수성: 이 솔루션은 Elastic v9.4.0, Elastic Kubernetes Operator v3.4.0, GDC v1.16.2로 검증되었습니다. 다른 버전에서는 조정이 필요할 수 있습니다.

추가 자료

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