본문 바로가기

개발자정보

1.8 Monitoring on AWS

반응형

AWS에서 모니터링 살펴보기

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • 모니터링과 그 이점을 설명합니다.
  • AWS가 리소스에 대한 가시성을 제공하는 방법을 설명하십시오.

메모

이 모듈은 여기에 설명된 AWS 제품, 서비스 및 기능을 소유, 지원 및 유지 관리하는 Amazon Web Services(AWS)와 협력하여 제작되었습니다. AWS 제품, 서비스 및 기능의 사용에는 AWS에서 유지 관리하는 개인 정보 보호 정책 및 서비스 계약이 적용됩니다. 

이 모듈을 완료하기 전에 AWS의 데이터베이스 를 완료했는지 확인하십시오 . 여기에서 수행하는 작업은 그곳에서 배운 개념을 기반으로 합니다.

고양이 사진 응용 프로그램이 실행 중입니다. 그것은 좋아 보인다. 그리고 그것은 당신이 바라는 모든 것을 해냅니다. 그러나 작업이 완료되지 않았습니다. 당신은 궁금해하기 시작합니다:

  • 하루에 얼마나 많은 사람들이 내 사이트를 방문합니까?
  • 시간 경과에 따른 방문자 수를 추적하려면 어떻게 해야 합니까?
  • 웹 사이트에 성능 또는 가용성 문제가 있는지 어떻게 알 수 있습니까?
  • Amazon Elastic Compute Cloud(EC2) 인스턴스의 용량이 부족하면 어떻게 됩니까?
  • 내 웹사이트가 다운되면 알림을 받게 됩니까?

리소스의 운영 상태 및 사용량에 대한 데이터를 수집하고 분석하는 방법이 필요합니다. IT 리소스 및 시스템에 대한 결정을 내리거나 질문에 답하기 위해 데이터를 수집, 분석 및 사용하는 행위를 모니터링이라고 합니다. 

모니터링을 통해 시스템에서 거의 실시간 펄스를 확인하고 위에 나열된 질문에 답할 수 있습니다. 수집한 데이터를 사용하여 리소스의 과도한 사용, 애플리케이션 결함, 리소스 구성 오류 또는 보안 관련 이벤트와 같은 이벤트로 인해 발생하는 운영 문제를 감시할 수 있습니다. 

모니터링을 통해 수집된 데이터를 시스템 또는 메트릭의 출력으로 생각하십시오.

메트릭을 사용하여 문제 해결

AWS에서 솔루션을 호스팅하는 리소스는 모두 수집에 관심이 있을 수 있는 다양한 형태의 데이터를 생성합니다. 리소스에 의해 생성된 각 개별 데이터 요소를 메트릭으로 생각할 수 있습니다. 시간이 지남에 따라 수집 및 분석되는 메트릭은 아래의 시간 경과에 따른 평균 CPU 사용률의 예와 같이 통계가 되어 1:30에 스파이크를 표시합니다.

다음을 고려하십시오. Amazon EC2 인스턴스의 상태를 평가하는 한 가지 방법은 CPU 사용률을 사용하는 것입니다. 일반적으로 EC2 인스턴스의 CPU 사용률이 높으면 요청이 쇄도할 수 있습니다. 또는 오류가 발생하여 CPU를 너무 많이 사용하는 프로세스를 반영할 수 있습니다. CPU 사용률을 분석할 때 비정상적인 시간 동안 특정 임계값을 초과하는 프로세스를 수행합니다. 해당 비정상적인 이벤트를 신호로 사용하여 인스턴스 확장과 같은 작업을 통해 수동 또는 자동으로 문제를 해결합니다.

이것은 메트릭의 한 예입니다. EC2 인스턴스에 있는 다른 지표의 예로는 네트워크 사용률, 디스크 성능, 메모리 사용률 및 EC2에서 실행되는 애플리케이션에서 생성된 로그가 있습니다.

다양한 유형의 측정항목 알아보기

AWS의 다양한 리소스는 다양한 유형의 지표를 생성합니다. Amazon Simple Storage Service(S3) 버킷에는 EC2 인스턴스처럼 CPU 사용률이 없습니다. 대신 S3는 전체 크기 또는 버킷의 객체 수와 같이 버킷에 저장된 객체와 관련된 지표를 생성합니다. S3에는 객체 읽기 또는 쓰기와 같은 버킷에 대한 요청과 관련된 지표도 있습니다.

Amazon Relational Database Service(RDS)는 데이터베이스 연결, 인스턴스의 CPU 사용률 또는 디스크 공간 소비와 같은 지표를 생성합니다. 이것은 언급된 서비스에 대한 전체 목록은 아니지만 다른 리소스가 다른 메트릭을 생성하는 방법을 볼 수 있습니다. 

사용 중인 리소스 유형, 목표 또는 답변을 원하는 질문 유형에 따라 다양한 메트릭에 관심이 있을 수 있습니다.

모니터링의 이점 이해

모니터링은 리소스에 대한 가시성을 제공하지만 이제 질문은 "그게 왜 중요한가?"입니다. 다음은 모니터링의 이점 중 일부입니다.

최종 사용자가 인지하기 전에 운영 문제에 사전에 대응하십시오. 최종 사용자가 애플리케이션에 중단이 발생했음을 알릴 때까지 기다리는 것은 좋지 않습니다. 모니터링을 통해 오류 응답률이나 요청 대기 시간과 같은 지표를 지속적으로 확인할 수 있으며 이는 중단이 발생할 것임을 알리는 데 도움이 됩니다. 이를 통해 자동 또는 수동으로 가동 중단이 발생하지 않도록 조치를 수행하여 최종 사용자가 인지하기 전에 문제를 해결할 수 있습니다.

리소스의 성능과 안정성을 개선합니다. 애플리케이션을 구성하는 다양한 리소스를 모니터링하면 솔루션이 시스템으로 작동하는 방식에 대한 전체 그림을 얻을 수 있습니다. 모니터링을 잘 수행하면 병목 현상과 비효율적인 아키텍처를 밝힐 수 있습니다. 이를 통해 성능 및 안정성 개선 프로세스를 추진할 수 있습니다.

보안 위협 및 이벤트를 인식합니다. 시간이 지남에 따라 리소스, 이벤트 및 시스템을 모니터링할 때 기준선이라고 하는 것을 생성합니다. 기준선은 정상적인 활동을 정의합니다. 기준선을 사용하여 비정상적인 트래픽 급증 또는 리소스에 액세스하는 비정상적인 IP 주소와 같은 이상을 발견할 수 있습니다. 이상이 발생하면 경고를 보내거나 이벤트를 조사하기 위한 조치를 취할 수 있습니다.

비즈니스에 대한 데이터 기반 의사 결정을 내리십시오. 모니터링은 IT 운영 상태를 감시하는 것만이 아닙니다. 또한 비즈니스 결정을 내리는 데 도움이 됩니다. 예를 들어 고양이 사진 앱에 대한 새로운 기능을 출시했는데 이 기능이 사용 중인지 알고 싶다고 가정해 보겠습니다. 애플리케이션 수준 메트릭을 수집하고 새 기능을 사용하는 사용자 수를 볼 수 있습니다. 조사 결과를 바탕으로 새 기능을 개선하는 데 더 많은 시간을 투자할지 여부를 결정합니다.

보다 비용 효율적인 솔루션을 만드십시오. 모니터링을 통해 활용도가 낮은 리소스를 확인하고 사용량에 맞게 리소스 크기를 조정할 수 있습니다. 이를 통해 비용을 최적화하고 필요한 것보다 더 많은 비용을 지출하지 않도록 할 수 있습니다.

가시성 활성화

AWS 리소스는 지표, 로그, 네트워크 트래픽, 이벤트 등을 통해 모니터링할 수 있는 데이터를 생성합니다. 이 데이터는 자연적으로 분산되어 있는 구성 요소에서 가져오기 때문에 모든 데이터를 검토할 중앙 집중식 장소가 없는 경우 필요한 데이터를 수집하는 데 어려움이 있을 수 있습니다. AWS는 이미 Amazon CloudWatch라는 서비스를 통해 이를 수행했습니다. 

Amazon CloudWatch는 이 모듈에서 언급한 것과 같은 데이터를 수집하는 모니터링 및 관찰 서비스입니다. CloudWatch는 애플리케이션에 대한 실행 가능한 통찰력을 제공하고 시스템 전체의 성능 변화에 대응하고 리소스 활용도를 최적화하며 운영 상태에 대한 통합 보기를 얻을 수 있도록 합니다. 이 통일된 관점이 중요합니다. 

CloudWatch를 사용하여 다음을 수행할 수 있습니다.

  • 환경에서 비정상적인 동작을 감지합니다.
  • 문제가 있을 때 알려주도록 알람을 설정하세요.
  • AWS Management 콘솔을 사용하여 로그 및 지표를 시각화합니다.
  • 확장과 같은 자동화된 작업을 수행합니다.
  • 문제를 해결합니다.
  • 애플리케이션을 정상 상태로 유지하기 위한 통찰력을 발견하십시오.

마무리

모니터링은 성공적인 클라우드 배포의 중요한 요소입니다. 모니터링을 통해 운영 또는 보안 이벤트에 대응하고, 시스템을 정상 상태로 유지하기 위한 사전 조치를 취하고, 데이터로 비즈니스 의사 결정을 내리고, 보다 비용 효율적이고 성능이 뛰어난 솔루션을 생성할 수 있습니다. 

Amazon CloudWatch는 중앙 집중식 한 위치에서 AWS 및 IT 리소스의 데이터를 모니터링하고 수집하여 솔루션에 대한 가시성을 쉽게 확보할 수 있는 서비스입니다. 다음 단원에서는 Amazon CloudWatch와 해당 기능에 대해 자세히 알아봅니다. 

 

Quiz

1. True or false: Amazon CloudWatch provides a unified view of system data.

A.True

B.False

 

2. Which of the following is a benefit of monitoring?

A.Create more cost-effective solutions.

B.Proactively respond to operational issues.

C.Eliminate the need for performance improvement.

D.A and B

E.A and C

 

 

Amazon CloudWatch로 아키텍처 모니터링

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon CloudWatch 작동 방식을 설명합니다.
  • Amazon CloudWatch에서 모니터링할 수 있는 데이터 유형을 설명합니다.
  • Amazon CloudWatch의 기본 용어와 개념을 정의합니다.

Amazon CloudWatch를 지표의 중앙 리포지토리로 생각하십시오. 

데이터 포인트 또는 지표가 특정 시간 동안 모니터링되면 통계가 되고 이러한 통계를 사용하여 AWS 리소스를 분석하고 관리할 수 있습니다.

지금까지 AWS 리소스에 대한 가시성을 확보하는 것이 유익하다는 것을 배웠지만 CloudWatch는 이러한 지표를 어떻게 수집합니까? CloudWatch를 사용하여 통계를 분석하려면 어떻게 해야 합니까? CloudWatch는 어떤 유형의 데이터를 수집하고 CloudWatch는 이 데이터를 실행 가능하고 액세스 가능하게 만들기 위해 어떤 기능을 제공합니까? 이 단원에서 이러한 질문에 대한 답을 알아보십시오.

CloudWatch 작동 방식

CloudWatch의 장점은 시작하는 데 AWS 계정만 있으면 된다는 것입니다. 

기본 인프라를 관리하지 않고 모니터링에만 집중할 수 있는 관리형 서비스입니다. 

고양이 사진 앱은 빌딩 블록으로 함께 작동하는 다양한 AWS 서비스로 구축되었습니다. 

이러한 다양한 서비스를 모두 독립적으로 모니터링하는 것은 어려울 수 있으므로 CloudWatch는 메트릭을 수집하고 분석하는 하나의 중앙 집중식 장소 역할을 합니다. 

EC2 인스턴스가 CPU 사용률을 CloudWatch에 대한 지표로 게시하는 방법을 이미 배웠습니다. 

다양한 AWS 리소스는 모니터링할 수 있는 다양한 지표를 게시합니다. 이 단원의 리소스 섹션에서 CloudWatch로 지표를 보내는 서비스 목록을 볼 수 있습니다.

많은 AWS 서비스는 5분 간격으로 지표당 하나의 데이터 포인트 비율로 CloudWatch에 지표를 자동으로 보냅니다. 

이것은 그 자체로 추가 비용을 지출할 필요 없이 시스템에 대한 가시성을 제공합니다. 이를 기본 모니터링이라고 합니다. 많은 응용 프로그램의 경우 기본 모니터링이 작업을 수행합니다. 

EC2 인스턴스에서 실행되는 애플리케이션의 경우 세부 모니터링 과 같은 기능을 사용하여 5분마다가 아니라 1분마다 지표를 게시하여 더 세분화할 수 있습니다 . 자세한 모니터링에는 관련 추가 요금이 있습니다. 이 단원의 리소스 섹션에 링크된 CloudWatch 요금 페이지에서 요금에 대해 읽을 수 있습니다.

메트릭 분석

CloudWatch의 각 지표에는 타임스탬프가 있으며 네임스페이스 라는 컨테이너로 구성됩니다 . 서로 다른 네임스페이스의 메트릭은 서로 격리되어 있으므로 서로 다른 범주에 속하는 것으로 생각할 수 있습니다.

CloudWatch로 데이터를 전송하는 AWS 서비스는 각 지표  차원  연결 합니다 . 차원은 메트릭 ID의 일부인 이름/값 쌍입니다. 차원을 사용하여 CloudWatch가 반환하는 결과를 필터링할 수 있습니다. 예를 들어 검색할 때 InstanceId 차원을 지정하여 특정 EC2 인스턴스에 대한 통계를 얻을 수 있습니다.

맞춤 측정항목 설정

고양이 사진 응용 프로그램의 경우 웹사이트의 페이지 조회수를 기록하려고 한다고 가정해 보겠습니다. 이 지표를 CloudWatch에 어떻게 기록하시겠습니까? 이는 애플리케이션 수준 지표입니다. 즉, EC2 인스턴스가 기본적으로 CloudWatch에 게시하는 항목이 아닙니다. 여기서 사용자 지정 지표  가 필요합니다. 사용자 지정 지표를 사용하면 CloudWatch에 자체 지표를 게시할 수 있습니다.

더 세분화된 가시성을 얻으려면 고해상도 사용자 지정 메트릭 을 사용할 수 있습니다. 이를 통해 1초 해상도까지 사용자 지정 메트릭을 수집할 수 있습니다. 즉, 사용자 지정 메트릭당 초당 하나의 데이터 포인트를 보낼 수 있습니다. 

맞춤 측정항목의 다른 예는 다음과 같습니다. 

  • 웹 페이지 로드 시간
  • 요청 오류율
  • 인스턴스의 프로세스 또는 스레드 수
  • 애플리케이션에서 수행한 작업량

메모

PutMetricData API를 사용하여 측정치를 CloudWatch에 프로그래밍 방식으로 전송하여 사용자 지정 측정치를 시작할 수 있습니다.

CloudWatch 대시보드 이해

AWS 리소스를 프로비저닝하고 CloudWatch에 지표를 전송하면 대시보드가 ​​있는 CloudWatch 콘솔을 사용하여 해당 데이터를 시각화하고 검토할 수 있습니다. 대시보드는 그래프 또는 텍스트와 같은 위젯을 사용하여 하나 이상의 메트릭에 대한 데이터 시각화에 사용하는 사용자 정의 가능한 홈 페이지입니다. 

사용자 환경의 고유한 보기에 각각 초점을 맞춘 여러 사용자 지정 대시보드를 구축할 수 있습니다. 아키텍처에 대한 글로벌 보기를 생성하기 위해 다른 리전의 데이터를 단일 대시보드로 가져올 수도 있습니다. 

CloudWatch는 그래프를 생성하거나 지표를 요청할 때 지정한 기간에 따라 통계를 집계합니다. 메트릭 위젯이 라이브 데이터를 표시할지 여부를 선택할 수도 있습니다. 라이브 데이터는 완전히 집계되지 않은 마지막 1분 이내에 게시된 데이터입니다. 

모든 시각화 요구 사항에 대해 CloudWatch를 독점적으로 사용해야 하는 것은 아닙니다. GetMetricData API를 사용하여 CloudWatch 지표를 수집하고 분석하기 위해 외부 또는 사용자 지정 도구를 사용할 수 있습니다.

보안에 관한 한 IAM 사용자, IAM 그룹 또는 IAM 역할과 연결되는 AWS Identity and Access Management(IAM) 정책을 통해 CloudWatch 대시보드를 보거나 관리할 수 있는 액세스 권한이 있는 사용자를 제어할 수 있습니다.

CloudWatch Logs 알아보기

CloudWatch는 또한 CloudWatch Logs를 사용하여 로그를 저장하고 분석하는 중앙 집중식 장소가 될 수 있습니다. CloudWatch Logs는 Amazon EC2 인스턴스, AWS Lambda 함수 및 기타 소스에서 실행되는 애플리케이션의 로그 파일을 모니터링, 저장 및 액세스할 수 있습니다.

CloudWatch Logs를 사용하면 로그 데이터를 쿼리하고 필터링할 수 있습니다. 예를 들어 고양이 사진 공유 응용 프로그램에 대한 응용 프로그램 논리 오류를 조사 중이고 이 오류가 발생하면 스택 추적을 기록한다는 것을 알고 있다고 가정해 보겠습니다. 오류를 기록한다는 것을 알고 있으므로 CloudWatch Logs에서 로그를 쿼리하여 스택 추적을 찾습니다. 또한 로그에 지표 필터  설정하여 로그 데이터를 대시보드에서 그래프로 표시하고 사용하는 수치 CloudWatch 지표로 전환합니다.

AWS Lambda와 같은 일부 서비스는 최소한의 노력으로 CloudWatch Logs에 로그 데이터를 보내도록 설정되어 있습니다. AWS Lambda를 사용하면 CloudWatch Logs에 로그를 게시할 수 있는 올바른 IAM 권한을 Lambda 함수에 부여하기만 하면 됩니다. 다른 서비스에는 더 많은 구성이 필요합니다. 예를 들어 EC2 인스턴스에서 CloudWatch Logs로 애플리케이션 로그를 보내려면 먼저 EC2 인스턴스에 CloudWatch Logs 에이전트를 설치하고 구성해야 합니다.

CloudWatch Logs 에이전트를 사용하면 Amazon EC2 인스턴스가 자동으로 CloudWatch Logs에 로그 데이터를 보낼 수 있습니다. 에이전트에는 다음 구성 요소가 포함됩니다.

  • CloudWatch Logs에 로그 데이터를 푸시하는 AWS 명령줄 인터페이스(CLI)에 대한 플러그인입니다.
  • CloudWatch Logs에 데이터를 푸시하는 프로세스를 시작하는 스크립트입니다.
  • 데몬이 항상 실행되고 있는지 확인하는 cron 작업.

에이전트가 설치 및 구성되면 CloudWatch Logs에서 애플리케이션 로그를 볼 수 있습니다. 

CloudWatch Logs 용어 알아보기

CloudWatch Logs로 전송되는 로그 데이터는 다양한 소스에서 올 수 있으므로 구성 방식과 로그를 설명하는 데 사용되는 용어를 이해하는 것이 중요합니다.

로그 이벤트:  로그 이벤트는 모니터링 중인 애플리케이션 또는 리소스에 의해 기록된 활동의 기록이며 타임스탬프와 이벤트 메시지가 있습니다.

로그 스트림: 그런 다음 로그 이벤트는 모니터링되는 동일한 리소스에 모두 속하는 로그 이벤트의 시퀀스인 로그 스트림으로 그룹화됩니다. 예를 들어 EC2 인스턴스에 대한 로그는 로그 스트림으로 함께 그룹화되어 통찰력을 필터링하거나 쿼리할 수 있습니다.

로그 그룹: 그런 다음 로그 스트림이 로그 그룹으로 구성됩니다. 로그 그룹은 모두 동일한 보존 및 권한 설정을 공유하는 로그 스트림으로 구성됩니다. 예를 들어 애플리케이션을 호스팅하는 EC2 인스턴스가 여러 개 있고 애플리케이션 로그 데이터를 CloudWatch Logs로 보내는 경우 각 인스턴스의 로그 스트림을 하나의 로그 그룹으로 그룹화할 수 있습니다. 이렇게 하면 로그를 정리하는 데 도움이 됩니다.

마무리

CloudWatch는 지표 및 로그에 대한 중앙 집중식 리포지토리 역할을 하며 데이터 시각화를 위한 여러 옵션을 제공합니다. 지표는 많은 AWS 리소스에서 자동으로 전송되지만 필요에 따라 자체 사용자 지정 지표를 보낼 수 있습니다. CloudWatch 대시보드를 사용하여 데이터를 보고 분석하고 CloudWatch Logs를 사용하여 다양한 소스의 로그를 집계하고 검토합니다. 

다음 단원에서는 CloudWatch를 사용하여 통계를 기반으로 경고를 보내고 IT 프로세스를 자동화하는 방법에 대해 알아봅니다.

 

Quiz

1. True or false: Amazon EC2 sends log data to Amazon CloudWatch Logs out of the box.

A.True

B.False

 

2. To post custom metrics to Amazon CloudWatch, what API do you use?

A.PostCustomMetric

B.PostMetricData

C.PutCustomMetric

D.PutMetricData

 

CloudWatch 경보로 문제 예방 및 해결

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon CloudWatch 경보의 기능을 설명합니다.
  • Amazon CloudWatch 경보가 운영 문제를 예방하고 해결하는 데 어떻게 도움이 되는지 설명하십시오.

고양이 사진 애플리케이션은 다양한 AWS 서비스에서 호스팅됩니다. CloudWatch에 메트릭을 자동으로 전송합니다. CloudWatch 콘솔 또는 AWS CLI를 사용하여 이러한 지표를 보고 분석할 수 있습니다. 대단해! 

그러나 이제 최종 사용자로부터 많은 이메일을 받았습니다. 웹사이트에 심각한 운영 문제가 있으며 최종 사용자는 사랑스러운 고양이 사진을 업로드하려고 할 때 오류가 발생합니다. AWS에 로그인하여 CloudWatch 대시보드와 CloudWatch Logs를 확인하면 지난 24시간 동안 500개 오류 응답 수가 300% 증가했음을 알 수 있습니다. 

파기 시작합니다. 최근 코드 변경으로 인해 이 문제가 발생했습니다. 코드 문제를 수정하고, 애플리케이션 업데이트를 배포하고, 어떤 일이 일어나는지 기다리십시오. 앞으로 몇 시간 동안 CloudWatch에서 500 오류 응답률이 정상 수준으로 돌아온 것을 확인할 수 있으며 문제가 해결되었습니다. 

CloudWatch는 문제를 해결하고 문제가 무엇인지 정확히 찾아내는 기능을 제공했습니다. 하지만 최종 사용자가 귀하에게 연락하기 전에 500개 오류 응답의 증가에 대한 알림을 받을 수 있다면 좋지 않을까요? 여기에서 CloudWatch 경보가 작동합니다. CloudWatch 경보가 무엇이며 이 단원에서 어떻게 작동하는지 살펴봅니다.

CloudWatch 경보 구성

CloudWatch 경보를 생성하여 지표의 지속적인 상태 변경을 기반으로 작업을 자동으로 시작할 수 있습니다. 경보가 트리거되는 시기와 수행할 작업을 구성합니다. 

먼저 경보를 설정할 메트릭을 결정한 다음 경보를 트리거할 임계값을 정의해야 합니다. 다음으로 메트릭이 경보가 트리거될 임계값을 초과해야 하는 지정된 기간을 정의합니다. 

예를 들어, CPU 사용률이 임계값 80%를 초과할 때 트리거되도록 EC2 인스턴스에 대한 경보를 설정하려면 CPU 사용률이 임계값을 초과하는 기간도 지정해야 합니다. CPU의 짧은 일시적 스파이크를 기반으로 경보를 트리거하고 싶지 않습니다. CPU가 지속적으로 상승된 경우(예: CPU가 5분 이상 동안 80% 이상인 경우) 잠재적인 리소스 문제가 있는 경우에만 경보를 트리거하려고 합니다. 

이 모든 것을 염두에 두고 경보를 설정하려면 지표, 임계값 및 기간을 선택해야 합니다.

 

알람에는 세 가지 가능한 상태가 있습니다.

  • 확인:  메트릭이 정의된 임계값 내에 있습니다. 모든 것이 정상적으로 작동하는 것으로 보입니다.
  • ALARM: 메트릭이 정의된 임계값을 벗어났습니다. 이것은 운영상의 문제일 수 있습니다.
  • INSUFFICIENT_DATA: 경보가 방금 시작되었거나 메트릭을 사용할 수 없거나 메트릭이 경보 상태를 결정하는 데 사용할 수 있는 데이터가 충분하지 않습니다.

한 상태에서 다른 상태로 전환될 때 경보가 트리거될 수 있습니다. 경보가 트리거되면 조치를 시작할 수 있습니다. 작업은 Amazon EC2 작업, Auto Scaling 작업 또는 Amazon Simple Notification Service(SNS)로 전송된 알림일 수 있습니다.

Amazon SNS 및 Auto Scaling에 대해 자세히 알아보려면 이 단원 끝에 있는 리소스 섹션을 확인하십시오.

CloudWatch 경보를 사용하여 문제 예방 및 문제 해결

고양이 사진 애플리케이션이 사진 업로드 시 500 오류 응답을 제공하는 이 단원의 시작 부분에서 설명한 문제를 생각해 보십시오. CloudWatch 경보를 사용하여 이것이 시작될 때 알림을 받으려면 어떻게 해야 합니까?

지난 단원에서 로그에 대한 지표 필터를 생성할 수 있다는 것을 배웠습니다. CloudWatch Logs는 이 지표 필터를 사용하여 로그 데이터를 그래프로 표시하거나 경보를 설정할 수 있는 지표로 전환합니다. 고양이 사진 애플리케이션의 경우 500개 오류 응답 코드에 대한 메트릭 필터를 설정합니다. 

그런 다음 500개 오류 응답이 지속 기간 동안 특정 양을 초과하면 ALARM 상태가 되는 해당 메트릭에 대한 경보를 정의합니다. 시간당 500개 이상의 오류 응답이 있는 경우 경보가 ALARM 상태로 전환되어야 한다고 가정해 보겠습니다. 다음으로 경보가 트리거될 때 수행할 작업을 정의합니다. 

이 경우 웹 사이트 문제 해결을 시작할 수 있도록 이메일이나 문자 알림을 보내는 것이 좋습니다. 알람이 설정되면 오류가 다시 발생하면 즉시 알림을 받을 수 있으므로 안심할 수 있습니다.

작동 문제를 방지하거나 해결하는 데 도움이 되도록 여러 가지 이유로 다른 경보를 설정할 수 있습니다. 방금 설명한 시나리오에서 경보는 문제를 수동으로 조사한 사람에게 보내는 SNS 알림을 트리거했습니다. 또 다른 옵션은 경보가 기술 문제를 자동으로 수정하는 작업을 트리거하도록 하는 것입니다. 

예를 들어 EC2 인스턴스를 재부팅하거나 서비스를 확장 또는 축소하도록 경보를 설정할 수 있습니다. 경보를 설정하여 SNS 알림을 트리거한 다음 AWS Lambda 함수를 트리거할 수도 있습니다. 그러면 Lambda 함수가 AWS API를 호출하여 리소스를 관리하고 운영 문제를 해결합니다. 이와 같이 AWS 서비스를 함께 사용하면 이벤트에 더 빠르게 대응할 수 있습니다.

마무리

CloudWatch 경보는 지표에 문제가 있을 때 사전에 경고하는 데 사용됩니다. 경보를 연결하려는 메트릭, 메트릭에 대한 일반 임계값을 정의한 다음 경보가 트리거될 때 발생하는 작업을 정의할 수 있습니다. 이를 통해 운영 이벤트가 발생하는 즉시 대응할 수 있고 최종 사용자에게 부정적인 영향을 끼친 후 소급하여 대응하지 않을 수 있습니다. 

 

Quiz

1. True or false: TRIGGERED is the Amazon CloudWatch alarm state when metrics go beyond the threshold you set.

A.True

B.False

2. When an Amazon CloudWatch alarm is triggered, CloudWatch automatically sends an email to the root account email address.

A.True

B.False

 

 

태그 및 AWS Trusted Advisor로 리소스 최적화

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • 태그의 사용 사례를 설명합니다.
  • AWS Trusted Advisor가 AWS 계정의 리소스를 최적화하는 데 어떻게 도움이 되는지 설명하십시오.

고양이 사진 웹사이트가 구축되면 EC2 인스턴스, RDS 인스턴스 및 Amazon Simple Storage Service(S3) 버킷과 같은 다양한 AWS 리소스를 계정에 프로비저닝합니다. 수요에 맞게 확장하면서 이러한 리소스를 구성하는 방법을 고려해야 합니다. AWS 계정에서 고양이 사진 애플리케이션을 지원하는 데 사용되는 모든 AWS 리소스를 찾으려고 한다고 가정해 보겠습니다. IT 관리를 위해 추적하고 싶습니다. 

어떻게 하시겠습니까? 이를 수행하는 한 가지 방법은 사용한 각 서비스를 탐색한 다음 사용 중인 리소스를 식별할 수 있기를 바라는 것입니다. 특히 여러 응용 프로그램이 있는 경우 이 작업이 까다로워집니다. 여기에서 태그 지정 이 유용합니다.

AWS에서 태그 사용

AWS의 태그는 리소스와 메타데이터로 연결하는 키-값 페어입니다. 태그를 정의합니다. 즉, 앱의 코드 이름이나 조직의 IT 관리 표준과 같이 원하는 대로 태그를 만들 수 있습니다. 각 태그에는 관리, 검색 및 필터링을 더 쉽게 할 수 있는 필수 키와 선택적 값이 있습니다.

많은 AWS 리소스에 태그를 지정할 수 있으며 각 AWS 리소스에 여러 태그를 추가할 수 있으며 이러한 태그는 다양한 용도로 사용할 수 있습니다.

태그를 사용하여 AWS 리소스 구성

태그는 아키텍처를 구성하는 데 도움이 됩니다. 앞서 설명한 것처럼 고양이 사진 애플리케이션과 관련된 모든 AWS 리소스를 찾아야 하는 경우 어떻게 해야 합니까? 리소스를 확인하기 위해 각 서비스를 방문하는 대신 리소스가 지원하는 애플리케이션을 설명하는 방식으로 AWS 리소스에 태그를 지정할 수 있습니다. IAM 정책을 사용하여 적절한 태그 세트가 지원되지 않는 경우 리소스가 생성되는 것을 명시적으로 방지할 수도 있습니다. 이는 거버넌스 표준을 강화하는 좋은 방법입니다.

고양이 사진 애플리케이션의 경우 다음과 같이 리소스에 태그를 지정합니다. your-company:cat-photo-app

팁: 구분 기호에 하이픈과 함께 모두 소문자를 사용하면 대소문자를 구분하기 때문에 태그 이름을 대문자로 표시하는 방법에 대한 혼동을 피할 수 있습니다.

리소스에 태그가 지정되면 리소스 그룹 도구를 사용하여 태그와 관련된 리소스를 볼 수 있습니다. 일반적으로 AWS Management 콘솔은 AWS 서비스별로 리소스를 구성합니다. 그러나 리소스 그룹 도구를 사용하면 태그별로 AWS 리소스를 볼 수 있습니다. 이를 통해 AWS 서비스 전반에 걸쳐 리소스를 볼 수 있습니다.

비용에 태그 사용

회사의 CFO가 AWS에서 호스팅되는 각 앱과 관련된 비용이 얼마인지 묻는 이 시나리오를 상상해 보십시오. 어떻게 그 정보를 찾아 적시에 제시할 것인가? 다시 말하지만, 태그가 도움이 될 수 있습니다.

가시성 및 구성을 위해 리소스에 태그를 지정하는 것 외에도 태그를 사용하여 비용을 주도하는 AWS 리소스를 조사하십시오. AWS Cost Explorer는 태그별로 AWS 비용을 분류하는 기능을 지원합니다. 즉, 비용 센터와 관련된 정보로 리소스에 태그를 지정할 수도 있습니다.

AWS Cost Explorer와 같은 태그 및 서비스를 사용하여 CFO에게 비용 정보를 효율적이고 정확한 방식으로 제공할 수 있습니다.

자동화를 위한 태그 사용

태그의 또 다른 훌륭한 사용 사례는 IT 자동화입니다. 다음 시나리오를 생각해 보십시오. cat 애플리케이션이 EC2 인스턴스 집합에서 호스팅됩니다. EC2 인스턴스의 동일한 AWS 계정에서 호스팅되는 다른 애플리케이션도 있습니다. 

cat photo 앱을 호스팅하는 모든 EC2 인스턴스에 패치를 배포하지만 다른 애플리케이션을 호스팅하는 다른 인스턴스에는 배포하지 않으려고 합니다. 리소스 그룹 도구를 사용하고 태그로 애플리케이션을 검색하고 각 인스턴스 ID를 기록한 다음 각 인스턴스에 수동으로 패치를 설치할 수 있습니다. 이것은 작동하지만 시간이 많이 걸리고 오류가 발생하기 쉽습니다. 

대신 고양이 사진 앱에 대한 태그가 있는 모든 EC2 인스턴스에 패치를 자동으로 적용할 수 있다면 좋지 않을까요? 다행히도 할 수 있습니다! 태그를 사용하여 패치 적용과 같은 자동화된 작업을 선택하거나 선택 해제하거나 아카이브, 업데이트 또는 삭제할 리소스의 특정 버전을 식별할 수 있습니다.

AWS Trusted Advisor 살펴보기

이제 태그 지정을 사용하여 AWS 리소스를 관리하는 방법을 알았으므로 AWS 환경을 추가로 최적화하는 방법에 대한 몇 가지 팁이 필요할 수 있습니다. AWS Trusted Advisor만 있으면 됩니다. 

AWS Trusted Advisor 도구는 AWS 모범 사례에 따라 리소스를 최적화하는 방법에 대한 지침을 제공합니다.

AWS Trusted Advisor는 5가지 기둥의 모범 사례에 따라 리소스를 평가합니다. 

  • 비용 최적화
  • 성능
  • 보안
  • 결함 허용
  • 서비스 제한

이 도구는 계정의 각 기둥에 대해 여러 검사를 실행합니다. 확인 유형은 보유한 지원 계획에 따라 다릅니다. 그리고 지원 계획이 한 단계 올라감에 따라 액세스할 수 있는 수표 수가 늘어납니다. AWS 개발자 및 기본 지원 고객은 필수 검사에 액세스할 수 있습니다. AWS Enterprise Support를 통해 고객은 전체 점검 항목에 액세스할 수 있습니다. 이 단원의 리소스 섹션에서 AWS 지원 계획에 대한 자세한 정보를 얻으십시오. 

수표는 각 기둥으로 나뉩니다. Trusted Advisor 대시보드로 이동하면 실행된 검사 수와 상태를 볼 수 있습니다.

상태가 확인을 통과했음을 나타내는 녹색 확인란, 조사가 권장됨을 나타내는 주황색 삼각형 또는 작업이 권장됨을 나타내는 빨간색 원으로 표시되는 것을 볼 수 있습니다.

이 예에서 Trusted Advisor는 AWS 계정에 $169.44의 잠재적인 월별 절감액이 있음을 알려줍니다. 

비용 최적화 기둥을 클릭하면 Trusted Advisor가 실행된 모든 검사, 해당 상태 및 각 검사에 대한 일부 세부 정보를 분석합니다. Trusted Advisor가 계정에서 비용을 절감하기 위해 온디맨드 대신 예약 인스턴스를 사용할 수 있는 곳을 찾았습니다. 사용률이 낮은 EC2 인스턴스와 EBS 볼륨도 발견했습니다. Trusted Advisor는 해당 인스턴스 또는 볼륨을 축소하거나 완전히 삭제할 수 있는지 확인할 수 있도록 결과를 조사하도록 요청합니다.

보안 기둥을 클릭하면 권장 조치 범주에 4개의 항목이 있습니다.

네 가지 항목 중 하나는 루트 계정(루트 사용자)에 대한 다단계 인증(MFA)입니다. 이것은 루트 계정에 MFA가 켜져 있지 않고 취약하다는 것을 알려줍니다. AWS 클라우드의 보안에서 배운 것처럼 보안을 위해 MFA를 사용하는 것이 중요 합니다.

이것은 Trusted Advisor가 실행하는 검사 유형과 권장 사항 유형에 대한 몇 가지 예일 뿐입니다. 각 기둥을 통해 모범 사례에 대한 검사를 실행하고 계정을 최적화할 수 있는 방법을 권장합니다.

마무리

AWS 리소스에 태그를 지정하는 것은 모범 사례이며 조직, 비용 관리 및 자동화에 활용해야 합니다. 이러한 특정 사용 사례에 태그를 사용하려는 경우 값과 일치해야 합니다. 예를 들어 AWS 리소스의 상당 부분에 비용 할당을 위한 태그가 누락된 경우 비용 분석 및 보고 프로세스가 더 복잡하고 시간이 많이 걸리며 정확도가 떨어집니다. 일관성을 위해 조직에 대한 태그 지정 표준을 만들어야 합니다. 

AWS Trusted Advisor는 AWS 계정에서 확인을 실행하고 AWS 리소스에 대한 권장 사항을 제공하는 서비스입니다.

 

Quiz

1. What pillar of AWS Trusted Advisor helps you lower your AWS costs?

A.Security

B.Fault Tolerance

C.Cost Optimization

D.Service Limits

 

2. True or false: Tags come from a list of predefined values, making it easy to standardize how you label your resources.

A.True

B.False

 

 

반응형

'개발자정보' 카테고리의 다른 글

2.1 Salesforce Platform Basics (Admin Beginner)  (0) 2021.09.13
Salesforce 용어집  (0) 2021.09.12
1.7 AWS Databases  (0) 2021.09.12
1.6 AWS Storage  (0) 2021.09.12
1.5 AWS Networking  (0) 2021.09.12