Amazon Web Services 한국 블로그

Amazon CloudWatch Container Insights: Amazon ECS 지원

작년에 Amazon은 Amazon Elastic Kubernetes Service(Amazon EKS)의 관찰성을 개선할 수 있는 새로운 기능인 Amazon CloudWatch Container Insights의 향상된 관찰성을 발표했습니다. 이 기능은 상세한 성능 지표 및 로그를 제공하여 컨테이너 문제를 더 빠르게 탐지하고 해결하는 데 도움이 됩니다.

오늘은 이 기능을 확장하여 Amazon Elastic Container Service(Amazon ECS)에서 실행되는 컨테이너 워크로드에 대한 향상된 관찰성을 출시합니다. 이 새로운 기능은 전체 애플리케이션의 평균 탐지 시간(MTTD)과 평균 복구 시간(MTTR)을 단축하여 사용자 경험에 부정적인 영향을 미칠 수 있는 문제를 방지하는 데 도움이 됩니다.

Amazon ECS에 대한 향상된 관찰성이 적용된 Container Insights를 간단히 살펴보겠습니다.

향상된 관찰성이 적용된 Container Insights는 컨테이너 모니터링의 중대한 격차를 해결합니다. 이전에는 지표와 로그 및 이벤트의 연관 관계를 파악하는 데 시간이 많이 걸렸으며, 수동 검색과 애플리케이션 아키텍처에 대한 전문 지식이 필요한 경우가 많았습니다. 이제 이 기능을 통해 CloudWatch와 Amazon ECS가 태스크 및 컨테이너 수준 모두에서 CPU 사용률과 같은 세분화된 성능 지표를 자동으로 수집하는 동시에 시각적 드릴다운을 제공하여 근본 원인을 쉽게 분석할 수 있습니다.

이 새로운 기능을 사용하면 다음과 같은 사용 사례가 가능합니다.

  • 세분화된 리소스 사용 패턴을 확인하고 원격 측정 데이터의 연관 관계를 파악하여 근본 원인을 빠르게 식별합니다.
  • AWS 모범 사례를 기반으로 선별된 대시보드를 사용하여 선제적으로 ECS 리소스를 관리합니다.
  • 인프라 이상 징후와 일치하는 최근 배포 및 배포 실패의 근본 원인을 추적하여 문제를 더 빠르게 감지하고 필요한 경우 더 신속하게 롤백할 수 있습니다.
  • 수동 설정 없이 여러 계정의 리소스를 손쉽게 모니터링합니다. 기본 제공되는 교차 계정 지원이 단일 창 관찰성을 통해 운영 오버헤드를 줄입니다.
  • Application Signals 및 CloudWatch 로그와 같은 다른 CloudWatch 서비스와 통합하여 인프라와 실행 중인 서비스의 연관 관계를 파악하고 영향을 받는 서비스를 식별할 수 있는 원활한 경험을 구축합니다.

Amazon ECS에 대한 향상된 관찰성이 적용된 Container Insights 사용
향상된 관찰성이 적용된 Container Insights를 활성화하는 방법은 2가지가 있습니다.

  1. 클러스터 수준 온보딩 – 특정 클러스터에 대해 개별적으로 활성화할 수 있습니다.
  2. 계정 수준 온보딩 – 계정 수준에서 활성화할 수도 있습니다. 그러면 계정에서 생성된 모든 새 클러스터에 대해 자동으로 관찰성이 활성화됩니다. 이 방법을 사용하면 각 새 클러스터에 대해 수동으로 활성화할 필요가 없으므로 시간과 노력이 절약됩니다.

계정 수준에서 이 기능을 활성화하려면 Amazon ECS 콘솔로 이동하여 Account settings를 선택합니다. CloudWatch Container Insights observability 섹션에서 현재 이 기능이 비활성화된 것을 확인할 수 있습니다. Update를 선택합니다.

이 페이지에는 Container Insights with enhanced observability라는 새로운 옵션이 있습니다. 이 옵션을 선택한 다음 Save changes를 선택합니다.

클러스터 수준에서 이 기능을 활성화해야 하는 경우 새 클러스터를 생성할 때 설정할 수 있습니다.

기존 클러스터에서도 이 기능을 활성화할 수 있습니다. 이렇게 하려면 Update cluster를 선택한 다음 옵션을 선택합니다.

활성화되면 클러스터 개요 콘솔의 Metrics 탭으로 이동하여 태스크 수준 지표를 볼 수 있습니다. 클러스터 전반의 상태 및 성능 지표에 액세스하려면 View Container Insights를 선택하면 됩니다. 그러면 Container Insights 페이지로 리디렉션됩니다.

여러 클러스터의 모든 워크로드를 전체적으로 파악하려면 Amazon CloudWatch로 이동한 다음 Container Insights로 이동합니다.

이 보기는 허니컴 시각화를 통해 클러스터 상태에 대한 직관적인 개략적인 요약을 제공하여 클러스터, 서비스, 태스크 및 컨테이너를 효과적으로 모니터링하는 문제를 해결합니다. 이 대시보드는 이중 상태 모니터링 접근 방식을 사용합니다.

  1. 경보 상태(빨간색 또는 녹색) – 고객이 정의한 임곗값 및 경고를 반영하여 팀이 특정 요구 사항에 따라 모니터링을 구성할 수 있습니다.
  2. 사용률 상태(진한 파란색 또는 연한 파란색) – CloudWatch의 기본 제공 모범 사례를 사용하여 컨테이너 전반의 리소스 사용 패턴을 모니터링합니다. 진한 파란색은 클러스터가 더 높은 사용률로 운영되고 있음을 나타내므로 팀은 잠재적 리소스 제약 조건을 성능에 영향을 미치기 전에 미리 식별할 수 있습니다.

저의 클러스터 중 하나에 문제가 있다고 가정해 보겠습니다. 클러스터 위로 마우스를 가져가면 클러스터 계층부터 컨테이너 계층까지 다양한 계층에서 해당 클러스터 아래에 생성된 모든 경보를 확인할 수 있습니다.

또한 모든 클러스터를 목록 형식으로 볼 수 있는 옵션도 있습니다. 목록 형식은 교차 계정 관찰성을 위해 필수적이며, 클러스터 소유권의 계정 ID 및 레이블을 표시합니다. 이를 통해 DevOps 엔지니어는 계정 소유자를 신속하게 식별하고 협업하여 잠재적 애플리케이션 문제를 해결할 수 있습니다.

이제 더 자세히 알아보고 싶습니다. 클러스터 링크를 선택하면 Container Insights 세부 대시보드 보기로 리디렉션됩니다. 여기에서 이 클러스터의 메모리 사용률이 급증하는 것을 확인할 수 있습니다.

컨테이너 수준의 세부 정보를 더 자세히 살펴볼 수 있어 어떤 서비스가 해당 문제를 일으키는지 빠르게 파악할 수 있습니다.

또 다른 유용한 기능은 필터 옵션인데, 이 옵션을 사용하면 클러스터의 컨테이너, 서비스 또는 태스크를 보다 철저히 조사할 수 있습니다.

이 문제의 근본 원인을 파악하기 위해 애플리케이션 로그를 더 자세히 살펴봐야 하는 경우 태스크를 선택하고 작업을 선택한 다음 보려는 로그를 선택하면 됩니다.

여기서는 AWS X-Ray 추적을 사용하는 것 외에도 다른 두 가지 유형의 로그를 조사할 수 있습니다. 첫째, 성능 로그(지표 데이터를 포함하는 구조화된 로그)를 사용하여 컨테이너 수준의 근본 원인을 드릴다운하고 식별할 수 있습니다. 둘째, 수집된 애플리케이션 또는 컨테이너 로그를 검사합니다. 이러한 로그는 컨테이너 내 애플리케이션 동작에 대한 상세한 인사이트를 제공하므로 문제를 일으킨 이벤트의 순서를 추적하는 데 도움이 됩니다.

여기서는 애플리케이션 로그를 사용합니다.

이렇게 하면 애플리케이션 문제를 해결하는 여정이 간소화됩니다. 이 경우에는 문제가 시간 초과를 반환하는 서드 파티 애플리케이션에 대한 다운스트림 직접 호출에 있었습니다.

또한 이 향상된 기능은 Amazon CloudWatch Application Signals와 함께 작동하여 애플리케이션을 자동으로 계측합니다. 현재 애플리케이션 상태를 모니터링하고 서비스 수준 목표를 기준으로 장기 애플리케이션 성능을 추적할 수 있습니다.

Application Signals 탭을 선택합니다.

Amazon CloudWatch Application Signals와의 통합은 엔드 투 엔드 가시성을 제공하므로 컨테이너 성능과 최종 사용자 경험의 연관 관계를 파악하는 데 도움이 됩니다.

그래프에서 데이터 포인트를 선택하면 모든 관련된 서비스와 그 영향을 보여주는 연결된 추적을 볼 수 있습니다. 또한 관련 로그에 액세스하여 근본 원인을 파악할 수 있습니다.

추가 정보
다음은 알아두어야 할 몇 가지 주요 사항입니다.

  • 가용성 – ECS에 대한 향상된 관찰성이 적용된 Container Insights를 이제 중국 리전을 포함한 모든 AWS 리전에서 사용할 수 있습니다.
  • 요금 – ECS에 대한 향상된 관찰성이 적용된 Container Insights에는 정액 지표 요금이 적용됩니다. Amazon CloudWatch 요금 페이지를 참조하세요.

지금 시작하여 컨테이너 워크로드에 대한 향상된 관찰성을 경험해 보세요. Amazon CloudWatch 설명서 페이지에서 자세히 알아보세요.

즐거운 모니터링 되시길 바랍니다.
Donnie Prakoso