Amazon Elastic Container Service (ECS)는 아마존 웹 서비스 (AWS)에서 제공하는 컨테이너 오픈 서비스입니다. AWS가 large container clusters를 관리하는 문제를 해결하기 위해 개발한 솔루션입니다.
ECS를 왜 사용하呢?
ECS는 AWS에 integrate되어 있으며, 다른 컨테이너 오픈 서비스와 비교했을 때 우리의 것이 더 나은 것을 보여줍니다. AWS Elastic Load Balancer (ELB), AWS 인증 및 접근 관리 (IAM), AWS CloudTrail, AWS Elastic Block Store에서 持続적 데이터를 저장하고 AWS CloudWatch와 함께 모니터링할 수 있습니다.
또한 AWS Fargate를 사용할 수 있습니다. Fargate는 完全に 관리되는 컨테이너를 제공하는 서비스 없이 컴퓨팅 엔진입니다.
모니터링이 무엇인가?
모니터링은 자원, 서비스, 응용 프로그램의 パフォーマンス, 가용성 및 전반적인 상태를 추적하고 관찰하는 과정입니다. 이것은 사용자에 영향을 미칠 것을 감지하고 문제 해결을 도와줍니다. 응용 프로그램의 신뢰ability 및 가용성을 改善하고 자원 Utilization을 최적화하고 응용 프로그램의 보안을 강화합니다.
모니터링은 인프RASTRUCTURE가 应当按照하는 것처럼 실행되고 있는지 확인하는 것뿐입니다. 또한 웹 응용 프로그램이나 웹사이트일 경우 어느 정도의 트래픽을 받고 있는지 알아보고, 실제로 어떻게 동작하는지 파악하는 것입니다.
모니터링의 다양한 측면이 있는데, 그 중 一些 include:
-
성능 모니터링: 여기서는 인프RASTRUCTURE의 성능 지표를 추적하고 모니터링합니다. CPU 사용, 메모리 CONSUMPTION, 디스크, I/O, 네트워크 등입니다.
-
에러 및 로그 모니터링: 여기서 우리는 로그와 에러 메시지를 수집하고 분석합니다.
-
가용성 모니터링: 우리는 시스템이 작동 중인지 확인합니다.
-
보안 모니터링: 우리는 또한 보안 관련 이벤트와 활동을 추적하고 모니터링하여 잠재적인 위협과 취약점에 대응합니다. 모니터링은 DoS 공격과 같은 것을 감지하는 데 도움이 될 수 있습니다. 이를 위해 들어오는 트래픽의 이상한 패턴을 식별합니다.
ECS에서 무엇을 모니터링하나요?
클라우드 모니터링에서는 지표를 인프라의 건강과 성능을 모니터링하는 데 사용합니다. 이를 범주, 필터링하고 지표에 문맥을 제공하는 데 도움이 되는 Dimensioins과 함께 사용합니다. 지표는 클라우드 리소스와 서비스의 성능, 건강, 사용을 측정하는 데 수집되고 모니터링되는 데이터 포인트입니다.
차원은 필터링, 분류하고 지표에 문맥을 제공하는 속성과 특성입니다. 이는 키/값 쌍 형태로 표현됩니다.
애马逊 ECS는 리소스를 모니터링하기 위한 다양한 지표를 제공합니다. 그 중 일부는 다음과 같습니다:
-
CPUReservation:
실행 중인 작업에 의해 예약된 CPU 단위의 백분율입니다.
-
MemoryReservation: 실행 중인 작업에 의해 예약된 메모리의 백분율입니다.
-
CPUUtilization: 실행 중인 작업에 의해 사용된 CPU 단위의 백분율입니다.
-
MemoryUtilization: 실행 중인 작업에 의해 사용된 메모리의 백분율입니다.
-
ContainerInstances: 클러스터 내의 컨테이너 인스턴스의 수입니다.
-
RunningTasksCount: 현재 클러스터 내에서 실행 중인 작업의 수입니다.
Amazon ECS는 다음과 같은 차원들을 제공합니다. 그 중 일부는:
-
ContainerName: 컨테이너의 이름입니다.
-
ClusterName: ECS 클러스터의 이름입니다.
-
서비스명: 서비스의 이름
-
서비스네임스페이스: 클러스터 내 서비스 집합을 그룹화하는 데 사용되는 네임스페이스。
-
인스턴스유형: 사용되는 EC2 인스턴스의 유형을 말합니다. 예를 들어: t2.micro, c4.large, r5.xlarge 등。
-
태스크ID: 각 태스크에 할당된 고유 식별자。
AWS ECS에서는 여러 가지 수준에서 자원을 모니터링할 수 있습니다. 예를 들어, 클러스터 수준에서는 CPU_Utilization, CPU_Reservation, Memory_Utilization, Memory_Reservation과 같은 것을 볼 수 있습니다. 서비스 수준에서는 CPU_Utilization과 Memory_Utilization과 같은 것을 볼 수 있습니다。
ECS를 어떻게 모니터링합니까?**?**
다음을 활용하여 이를 수행할 수 있습니다:
Amazon CloudWatch: AWS의 모니터링 서비스로 AWS 리소스에서 데이터를 수집, 분석 및 시각화할 수 있으며, 임계치에 도달하면 알림을 설정하고 통보 받을 수 있습니다。
AWS 관리 콘솔: 관리 콘솔에서 직접 클러스터 또는 서비스 메트릭을 볼 수 있습니다。
ECS API: ECS API는 ECS 서비스에 대한 프로그래밍적 ACCESS를 제공하여 AWS 내부로부터 cluser 및 자원을 생성, 수정하고 모니터링할 수 있게 해줍니다.
第三方的工具: Datadog, Prometheus 등과 같은 第三方的 도구를 사용하여 이러한 지표를 모니터링할 수 있습니다. 其中一些 工具은 AWS와 无缝하게 작동하고, 一些은 어그ент를 설치하여야 합니다.
ECS를 EC2 인스턴스에서 모니터링할 때, 하드웨어 底层의 EC2 인스턴스에 직접 アクセス할 수 있으며, 传统的 서버 모니터링 도구를 사용하여 OS의 지표를 모니터링할 수 있습니다. 然而, ECS를 Fargate에서 사용하면 EC2 인스턴스에 直接 アクセ스할 수 없습니다.
ECS cluser를 어떻게 모니터링하는가에 대해 AWS CloudWatch를 사용하는 것을 가이드합니다.
AWS CloudWatch를 사용하면 ECS cluser를 다양한 방법으로 모니터링할 수 있습니다. 지표와 로그를 모니터링하고 경고 설정하는 것을 포함합니다. 이 가이드에서는 ECS cluser의 지표를 보기 위해 자동 대시보드를 사용하는 방법을 向您展示합니다. 그렇게 하려면 다음과 같은 단계를 따라해야 합니다:
- AWS 관리 콘솔에서 CloudWatch를 개시하고 사이드 바에서 Dashboards를 클릭합니다.
- 자동 대시보드 탭을 클릭합니다.
- ECS Cluster를 클릭합니다. 이것은 이전에 대한 Configured 지표를 보여주는 대시보드로 이동합니다.
또한 개별 지표를 확장할 수 있습니다.
结束语
이 記事에서는 ECS 모니터링에 대해 배웠습니다. 여러분은 모니터링할 수 있는 여러 지표에 대해 배웠고, 그들을 어떻게 모니터링할 수 있는지에 대해 배웠습니다.
결론적으로, 여러분은 AWS CloudWatch를 사용하여 ECS cluser를 모니터링하는 方法을 배웠습니다.
Source:
https://www.freecodecamp.org/news/ecs-monitoring-explained-with-examples/