CloudWatch 크로스 계정 Observability
단일 AWS 리전 내 여러 AWS 계정에 배포된 애플리케이션을 모니터링하는 것은 어려울 수 있습니다. Amazon CloudWatch의 크로스 계정 Observability1는 AWS 리전2 내 여러 계정에 걸친 애플리케이션의 원활한 모니터링과 문제 해결을 가능하게 하여 이 과정을 단순화합니다. 이 튜토리얼은 두 AWS 계정 간의 크로스 계정 Observability를 구성하는 방법을 스크린샷과 함께 단계별로 안내합니다. 또한 더 넓은 확장성을 위해 AWS Organizations를 통한 배포도 가능하다는 점을 참고하세요.
용어
Amazon CloudWatch를 사용한 효과적인 크로스 계정 Observability를 위해 다음 핵심 용어를 이해해야 합니다:
| 용어 | 설명 |
|---|---|
| 모니터링 계정 | 여러 소스 계정에서 생성된 Observability 데이터를 보고 상호작용할 수 있는 중앙 AWS 계정 |
| 소스 계정 | 해당 계정에 있는 리소스에 대한 Observability 데이터를 생성하는 개별 AWS 계정 |
| 싱크(Sink) | 소스 계정이 연결하여 Observability 데이터를 공유할 수 있는 연결 지점 역할을 하는 모니터링 계정의 리소스. 각 계정은 AWS 리전2당 하나의 싱크를 가질 수 있음 |
| Observability 링크 | 소스 계정과 모니터링 계정 간에 설정된 연결을 나타내는 리소스로, Observability 데이터의 공유를 용이하게 합니다. 링크는 소스 계정에서 관리합니다. |
Amazon CloudWatch에서 크로스 계정 Observability를 성공적으로 구성하고 관리하려면 이러한 정의를 이해하세요.
고려 사항
-
계정 제한: 단일 모니터링 계정에 최대 100,000개의 소스 계정을 연결할 수 있어, 가장 큰 규모의 엔터프라이즈 설정도 수용할 수 있습니다.
-
크로스 리전: 이 기능에는 크로스 리전 기능이 자동으로 내장되어 있습니다. 동일한 그래프나 대시보드에 다른 리전의 메트릭을 표시하기 위해 추가 단계를 수행할 필요가 없습니다.
-
데이터 보존: 모든 데이터 보존은 소스 계정 수준에서 처리됩니다. 모니터링 계정은 데이터를 저장하거나 복제하지 않습니다. 모니터링 계정은 소스 계정의 데이터에 대해 읽기 전용 접근 권한을 가집니다. 실제 데이터 전송이나 동기화는 포함되지 않습니다.
-
비용 영향: 놀랍게도, 크로스 계정 Observability와 관련된 추가 비용은 없습니다. 데이터가 소스 계정에 유지되고 모니터링 계정에서만 읽기 때문에 추가 데이터 전송이나 스토리지 비용이 발생하지 않습니다.
-
크로스 계정 Observability를 사용하여 소스 계정(X)에서 모니터링 계정(Y)으로 트레이스를 공유하면, 트레이스가 모니터링 계정(Y)에 복제되어 저장됩니다. 이 과정은 소스 계정(X)에 추가 비용을 발생시키지 않으므로, 원래 과금에 영향을 주지 않고 계정 간 모니터링 역량을 확장할 수 있습니다.
-
CloudWatch 서비스 할당량에 따르면, 각 대시보드에는 최대 500개의 위젯을 가질 수 있습니다. 고유 위젯은 최대 500개의 메트릭을 가질 수 있고, 고유 대시보드는 모든 위젯에 걸쳐 최대 2,500개의 메트릭을 가질 수 있습니다. 이 할당량에는 그래프에 표시되지 않더라도 메트릭 수학 함수에 사용하기 위해 검색된 모든 메트릭이 포함됩니다. 이 할당량은 하드 할당량이며 변경할 수 없습니다.
-
Amazon CloudWatch Logs Insights에서 개별적으로 지정하는 경우 쿼리당 최대 50개의 로그 그룹을 조회할 수 있습니다. 이 제한은 고정되어 있으며 증가시킬 수 없습니다. 그러나 이름 접두사를 기반으로 로그 그룹을 선택하거나 "모든 로그 그룹"을 조회하는 등의 로그 그룹 기준을 사용하면, 단일 쿼리에 최대 10,000개의 로그 그룹을 포함할 수 있어 여러 그룹에 걸친 더 광범위한 로그 분석이 가능합니다.
-
CloudWatch 크로스 계정 Observability에서 Logs와 Metrics를 작업할 때, 모든 네임스페이스의 메트릭을 모니터링 계정과 공유하거나, 네임스페이스의 하위 집합으로 필터링할 수 있습니다.
-
크로스 계정 시나리오에서 경보(Alarms)를 작업할 때의 일부 고려 사항:
- CloudWatch Metrics Insights는 크로스 계정 Observability 시나리오에서 여러 계정의 수백 개 메트릭을 대규모로 조회할 수 있는 강력한 고성능 SQL 쿼리 엔진입니다.
- 경보를 설정할 때, 단일 시계열을 반환하는 쿼리에서만 가능하며, 이는 SELECT 표현식으로 달성할 수 있습니다. 단, SUM, MIN, MAX, COUNT, AVG 통계만 사용할 수 있습니다.
- 또한 "group by" 절을 사용하여 실시간으로 특정 차원 값별로 메트릭을 별도의 시계열로 그룹화할 수 있습니다. "order by" 기능을 사용하여 "Top N" 유형의 쿼리도 가능합니다.
- 자연어를 사용하여 쿼리를 생성할 수 있습니다. 이를 위해 원하는 데이터에 대해 질문하거나 설명합니다. 이 AI 지원 기능은 프롬프트를 기반으로 쿼리를 생성하고 쿼리 작동 방식에 대한 라인별 설명을 제공합니다.
- SEARCH 표현식을 기반으로 경보를 생성할 수 없습니다. 검색 표현식은 여러 시계열을 반환하고, 수학 표현식 기반 경보는 하나의 시계열만 감시할 수 있기 때문입니다. 또한 SEARCH 함수를 포함하는 수학 표현식(예: "MAX")에 대해 경보를 설정할 수 없습니다. 이 시나리오는 CloudWatch Custom Data Sources로 해결할 수 있습니다.