[EKS] AWS 관리형 Thanos와 AMP & AMG

vinca·2024년 2월 18일
0

🦓 EKS

목록 보기
18/23
post-thumbnail

Introduction

프로메테우스의 아키텍쳐는 확장성이나 고가용성의 문제가 있다. 프로메테우스에서 메트릭을 수집 및 저장하고 처리하는 prometheus-stack-prometheus가 클러스터링(여러 노드에 분산)이 되지 않아 단일 노드에서 모든 메트릭이 처리되므로 대규모 환경에서 성능 저하가 발생할 수 있다.

또한 단일 노드의 문제가 발생하면, 해당 노드가 복구될 때까지 메트릭을 수집할 수 없다.

이러한 해결책을 위해 타노스라는 도구가 도입되어 확장성과 고가용성의 문제를 해결할 수 있다.

타노스의 도입💫

이런 문제를 해결하기 위해 타노스가 나왔다. 타노스는 프로메테우스의 확장성과 고가용성 문제를 해결해주는 도구로, 프로메테우스 서버 옆에 타노스 사이드카를 붙여서 사용한다.

그림과 같이 프로메테우스 서버가 메트릭을 수집하고, 타노스 사이드가가 프로메테우스 서버와 연결되어 메트릭을 쿼리하고 스토리지 영역에 저장하게 된다.

타노스 쿼리는 최근 데이터는 타노스 사이드카에서 요청하고 오래된 데이터는 타노스 스토어에 요청한다.
타노스 컴팩터는 다운 샘플링을 통해서 메트릭 수집 주기를 길게 조절하여 메트릭 수집의 많은 부하를 막는다.
이 때 시각화 도구인 그라파나는 프로메테우스 서버가 아닌 타노스 쿼리에 요청해서 대시보드를 구성하게 된다.

이처럼 노드마다 타노스 사이드카가 연결되서 앞서 나온 성능이 저하되는 문제를 해결할 수 있다.

이렇게 타노스를 이용하면 성능 저하의 문제를 해결할 수 있지만?🤔

❗리소스 사용량이 높을 경우 동적인 스케일 아웃 불가능한 문제가 있다. 이는 타노스가 리소스를 더 많이 사용하기 때문에, 큰 환경에서는 추가적인 리소스가 더 필요한 것이다.

💡이에 더 나아가 AMP & AMG 아키텍쳐가 나왔다.🪄

AMP & AMG 아키텍쳐

AWS가 제공하는 Amazon Managed Prometheus (AMP)와 Amazon Managed Grafana (AMG)는 AWS 인프라에서 프로메테우스와 그라파나를 서버리스 형태로 관리하는 서비스다.

이 서비스를 사용하면 사용자는 운영 부담을 줄이고, 고가용성 및 확장성 있는 모니터링 및 시각화 솔루션을 쉽게 구축할 수 있다.

Amazon Managed Prometheus (AMP)🔥

  • 목적: AMP는 AWS에서 관리하는 프로메테우스 호환 서비스로, 사용자가 인프라 모니터링과 애플리케이션 모니터링을 쉽게 할 수 있도록 지원한다.

  • 고가용성: AMP는 다수의 AWS 가용 영역(AZ)에 걸쳐 구성될 수 있어, 높은 수준의 고가용성을 제공한다.

  • 데이터 저장: AMP에 의해 수집된 메트릭 데이터는 Amazon S3에 저장되며, 최대 150일 동안 안정적으로 보관된다.

  • 비용: AMP의 비용은 수집되는 메트릭의 양에 따라 결정되므로, 사용량이 많을수록 비용이 증가한다.

Amazon Managed Grafana (AMG)☀️

  • 목적: AMG는 AWS에서 관리하는 Grafana 서비스로, 사용자는 이를 통해 메트릭, 로그, 추적 데이터를 시각화하고 분석할 수 있다.
  • 데이터 소스: AMG는 AMP를 포함한 다양한 데이터 소스와 연동할 수 있으며, 프로메테우스 서버 대신 AMP로부터 직접 데이터를 쿼리하여 결과를 대시보드에 표시한다.

프로메테우스 서버와 AMP/AMG의 연동

프로메테우스 서버가 메트릭을 수집한 후, 이 데이터를 AMP에 전송하는 과정은 다음과 같다

  1. Remote Write 설정: 프로메테우스 서버의 설정에 Remote Write를 구성하여, 수집된 메트릭을 AMP로 전송하도록 지정한다. 이를 통해 프로메테우스 서버는 수집한 메트릭 데이터를 AMP에 지속적으로 전송(push)한다.

  2. 별도의 VPC 구성: AMP와 AMG는 별도의 VPC(Virtual Private Cloud) 내에서 서버리스 형태로 구성될 수 있다. 이는 사용자가 관리하는 프로메테우스 서버와 분리된 환경에서 고가용성과 확장성을 제공한다.

  3. 시각화와 모니터링: AMG는 AMP로부터 메트릭 데이터를 쿼리하여, 사용자가 정의한 대시보드에 시각화한다. 이 과정은 프로메테우스 서버의 직접적인 관리 없이도 이루어진다.

📈 이렇게 AMP와 AMG를 도입하면 고가용성을 확보하고 관리의 편의성을 제공하지만, 비즈니스 환경에 따라 큰 비용이 부과될 수도 있다.

profile
붉은 배 오색 딱다구리 개발자 🦃Cloud & DevOps

0개의 댓글