금융 및 의료와 같은 규제 대상 업종은 데이터가 리전 경계 내에 엄격하게 유지되도록 하면서 중요한 인프라를 모니터링해야 합니다.
오픈소스 소프트웨어 (OSS)는 현재에서 사용할 수 있는 Cloud Monitoring 및 Cloud Logging 기능을 보완하고 확장할 수 있습니다. Cloud de Confiance by S3NS이 예에서는 에서 완전한 소버린 모니터링 가능성 솔루션을 만드는 방법을 보여줍니다. Cloud de Confiance by S3NS 널리 사용되는 오픈소스 도구를 추가하여
이 아키텍처는 OpenTelemetry, Grafana Mimir, Grafana Loki (Cloud Storage 지원), Grafana, Fluent Bit를 사용하여 Google Kubernetes Engine (GKE) 및 Compute Engine의 측정항목, 로그, 시각화, 알림을 생성합니다. 모든 데이터는 소버린 리전 내에 유지되며 서드 파티 SaaS 요금을 피할 수 있습니다.
모니터링 가능성 기능의 향후 업데이트를 위해 관련 출시 노트 를 구독하는 것이 좋습니다. Cloud de Confiance by S3NS
Terraform을 사용하여 제공된 참조 구현에 따라 이 솔루션을 배포할 수 있습니다.
타겟층
이 솔루션은 소버린 Cloud de Confiance by S3NS 환경에서 워크로드를 모니터링해야 하는 기업을 위한 것입니다. 다음 이해관계자에게 서비스를 제공합니다.
- 수동 내보내기 유지보수 없이 애플리케이션 상태를 모니터링하고 시스템 서비스 수준 계약 (SLA)을 추적하기 위해 자동화된 확장 가능한 측정항목 스토리지 및 로그 파이프라인을 프로비저닝하는 사이트 안정성 엔지니어 (SRE) 및 DevOps 리더
- 민감한 애플리케이션 로그, 측정항목, 운영 신호가 소버린 경계 내에 유지되고 비소버린 SaaS 데이터 유출을 방지하는 규정 준수 및 보안 담당자
- 즉각적인 클라우드 마이그레이션을 차단 해제하고 서드 파티 클라우드 모니터링으로 원활하게 전환할 수 있는 표준화된 OpenTelemetry 기반을 구축하는 엔터프라이즈 클라우드 설계자
주요 기능
- 소버린 모니터링 가능성 및 로컬 데이터 보관: Cloud Storage 버킷을 사용하여 로컬 소버린 인프라 내에서 Compute Engine 및 GKE 로그의 애플리케이션 측정항목을 수집, 처리, 저장합니다.
- OpenTelemetry 표준 수집: OpenTelemetry Collector를 사용하여 풀 기반 Prometheus 스크래핑 및 푸시 기반 OpenTelemetry 프로토콜 (OTLP) 측정항목 수집을 수행합니다. 이 접근 방식은 서드 파티 Cloud Monitoring과의 향후 호환성을 지원합니다.
- 확장 가능한 Cloud Storage 지원 측정항목 스토리지: Cloud Storage를 가용성이 높고 비용 효율적인 Prometheus 측정항목 블록 백엔드로 사용하도록 Grafana Mimir 및 Grafana Loki를 구성합니다.
- 통합 원격 분석 시각화: 실시간 애플리케이션 측정항목, Grafana Loki 로그 스트림, Compute Engine VM stdout 로그를 표시하고 Cloud Logging 데이터 소스를 통합하는 사전 구성된 Grafana 대시보드를 봅니다.
- Compute Engine VM 로깅 파이프라인: Compute Engine VM에 Fluent Bit 및
OpenTelemetry Collector Contrib을 자동으로 설치하여
systemd-journald및 stdout 로그를 Grafana Loki, Cloud Logging 또는 둘 다로 스트리밍합니다. VM 호스트 측정항목 및 합성 OTLP 애플리케이션 측정항목을 수집하여 mTLS를 통해 Mimir로 전달할 수도 있습니다. - 유연한 배포 자동화: 일관된 환경 설정 및 해체를 위해 Terraform 및 Kubernetes 패키지 관리의 코드형 인프라 (IaC) 접근 방식을 Helm과 함께 사용합니다.
아키텍처
이 아키텍처는 OpenTelemetry Collector, Grafana Mimir, Grafana Loki, kube-state-metrics, Fluent Bit, cert-manager, Grafana를 사용하여 측정항목의 경우 Cloud Storage, 로그의 경우 Cloud Logging으로 Compute Engine 및 GKE 워크로드를 모니터링합니다. Virtual Private Cloud (VPC) 내의 Mimir 및 Loki는 Compute Engine VM이 측정항목과 로그를 푸시할 수 있도록 mTLS를 통해 내부 애플리케이션 부하 분산기를 사용합니다. Grafana는 리전 GKE Gateway를 사용하여 HTTPS를 통해 외부적으로 노출됩니다.
구성요소
| 구성요소 | 기술 | 목적 |
|---|---|---|
| 원격 분석 수집기 | OpenTelemetry Collector | OpenTelemetry 프로토콜(OTLP) HTTP/gRPC 측정항목을 처리하고 Prometheus 엔드포인트를 스크래핑하여 Mimir로 전달하는 중앙 원격 분석 파이프라인입니다. |
| 측정항목 데이터베이스 | Grafana Mimir | Cloud Storage에 영구 블록이 있는 가용성이 높은 장기 Prometheus 측정항목 스토리지 데이터베이스입니다. |
| 로그 데이터베이스 | Grafana Loki | Cloud Storage에 청크 및 TSDB 색인을 유지하는 수평 확장 가능한 멀티 테넌트 로그 집계 데이터베이스입니다. |
| 객체 스토리지 | Cloud Storage | Mimir 측정항목, Loki 로그, 공유 모니터링 아티팩트를 위한 전용 버킷을 프로비저닝합니다. |
| 클러스터 상태 측정항목 | kube-state-metrics
|
Kubernetes API 서버를 리슨하고 클러스터 객체 (예: 배포, 노드, 포드)의 상태에 대한 측정항목을 생성합니다. ServiceMonitor를 사용하여 OpenTelemetry Collector에서 스크래핑합니다. |
| PKI 및 인증서 | cert-manager 및 PKI 발급자
|
클러스터 내 구성요소 및 독립형 Compute Engine VM의 TLS/mTLS 인증서를 발급하기 위해 내부 루트 CA 및 ClusterIssuer를 부트스트랩합니다. |
| Google Kubernetes Engine 로그 수집기 | Fluent Bit (DaemonSet) | GKE 노드 전반에서 컨테이너 stdout 로그를 수집하고 Kubernetes 메타데이터로 보강하며 OTLP mTLS를 사용하여 GKE OTel Collector로 전달합니다. |
| VM 로그 수집기 | Fluent Bit 및 OpenTelemetry Contrib | systemd-journald를 사용하여 독립형 Compute Engine VM에서 OS 및 애플리케이션 stdout 로그를 수집하고 Cloud Logging으로 스트리밍합니다. |
| 중앙 로깅 | Cloud Logging | Compute Engine VM 및 플랫폼 로그의 중앙 집중식 로깅 싱크입니다. |
| 시각화 및 알림 | Grafana | Mimir, Grafana Loki, Cloud Monitoring, Cloud Logging의 데이터 소스로 사전 구성된 대시보드 시각화 레이어입니다. |
| 푸시 데모 앱 | Python (비콘 앱) | 5초마다 OpenTelemetry Collector로 푸시되는 합성 OTLP 측정항목을 내보내는 데모 마이크로서비스입니다. |
| 풀 데모 앱 | Python (센서 앱) | OpenTelemetry Collector에서 스크래핑한 표준 /metrics Prometheus 엔드포인트를 노출하는 데모 마이크로서비스입니다. |
| 데모 앱 | Python | Compute Engine VM에서 실행되어 stdout에 구조화된 JSON 로그를 생성하는 데모 애플리케이션입니다. |
| 배포 | Terraform 및 Helm | 가상 프라이빗 클라우드(VPC), GKE 클러스터, Cloud Storage 버킷, Identity and Access Management(IAM) 역할, Compute Engine VM, Helm 차트 배포를 자동화합니다. |
참조 구현
Terraform을 사용하는 이 솔루션의 참조 구현은 GitHub에서 제공됩니다. 이는 데모 목적으로 빌드된 개념 증명 프로토타입이며 구현은 프로덕션 사용 사례에 대해 감사 또는 보안되지 않습니다.
기본 요건 및 배포 안내는 Grafana 및 OpenTelemetry를 사용한 소버린 모니터링 가능성 및 모니터링을 참조하세요.