AWS에서 DynamoDB 테이블에 대한 Cloudwatch 경보를 생성하는 방법
이 페이지에서
- 전제 조건
- 무엇을 할 것인가?\n
- AWS에 로그인
- 기존 DynamoDB 테이블에 대한 경보를 생성합니다.\n
- 결론
DynamoDB 테이블을 모니터링하기 위해 지표 데이터가 자동으로 CloudWatch로 전송됩니다. 다음은 DynamoDB 테이블에 대해 1분 간격으로 집계된 지표입니다.
- ConditionalCheckFailedRequests: 조건부 쓰기 시도 실패 횟수를 반환합니다.\n
- ConsumedReadCapacityUnits: 지정된 기간 동안 사용된 프로비저닝된 처리량을 추적하기 위해 소비된 읽기 용량 단위 수를 반환합니다.\n
- ConsumedWriteCapacityUnits: 지정된 기간 동안 사용된 프로비저닝된 처리량을 추적하는 데 사용된 쓰기 용량 단위 수입니다.\n
- ReadThrottleEvents: 테이블에 대해 프로비저닝된 읽기 용량 단위를 초과하는 DynamoDB에 대한 요청 수를 제공합니다.\n
- ReturnedBytes: 지정된 기간 동안 GetRecords 작업에서 반환한 바이트 수를 반환합니다.\n
- ReturnedItemCount: Query, Scan 또는 ExecuteStatement 작업에서 반환된 지정된 기간 동안 항목 수를 반환합니다.\n
- ReturnedRecordsCount: GetRecords 작업에서 반환된 지정된 기간 동안의 스트림 레코드 수입니다.\n
- SuccessfulRequestLatency: 지정된 기간 동안 Amazon DynamoDB Streams 또는 DynamoDB에 성공한 요청을 제공합니다.\n
- SystemErrors: 지정된 기간 동안 HTTP 500 상태 코드를 생성하는 Amazon DynamoDB Streams 또는 DynamoDB에 대한 요청 수를 제공합니다.\n
- TimeToLiveDeletedItemCount: 테이블에서 TTL(수명) 삭제 비율을 모니터링하는 데 도움이 되도록 지정된 기간 동안 TTL(수명)에서 삭제한 항목 수를 제공합니다.\n
- ThrottledRequests: 프로비저닝된 처리량 제한을 초과하는 DynamoDB에 대한 요청 수를 제공합니다.\n
- TransactionConflict: 트랜잭션 충돌로 인해 거부된 항목 수준 요청의 수를 반환합니다.\n
- UserErrors: 지정된 기간 동안 HTTP 400 상태 코드를 생성하는 Amazon DynamoDB Streams 또는 DynamoDB에 대한 요청 수를 제공합니다.\n
- WriteThrottleEvents: 테이블에 대해 프로비저닝된 쓰기 용량 단위를 초과하는 DynamoDB에 대한 요청 수를 제공합니다.\n
집계 단위가 5분인 다른 측정항목이 있습니다. DynamoDB 테이블에 사용할 수 있는 지표에 대한 자세한 내용은 여기에서 공식 문서를 참조하십시오.
이 기사에서는 "ConsumedWriteCapacityUnits"를 모니터링하고 SNS 주제에 알림을 보내기 위해 DynamoDB 테이블에 대한 경보를 생성합니다. 계속하기 전에 DynamoDB 테이블과 SNS 주제에 익숙하다고 가정합니다. 또한 하나 이상의 DynamoDB 테이블과 SNS 주제가 있다고 가정합니다.
전제 조건
- AWS 계정(계정이 없는 경우 생성).
- DynamoDB 테이블(Terraform을 사용하여 DynamoDB 테이블을 생성하는 방법을 알아보려면 여기를 클릭하십시오).\n
- SNS 주제(Cloudformation을 사용하여 SNS 주제를 만드는 방법을 알아보려면 여기를 클릭하세요.)\n
우리는 무엇을 할 것인가?
- AWS에 로그인합니다.\n
- 기존 DynamoDB 테이블에 대한 경보를 생성합니다.\n
AWS에 로그인
AWS 로그인 페이지로 이동하려면 여기를 클릭하세요.
위의 링크를 클릭하면 다음과 같은 로그인 페이지가 나타납니다. 자격 증명을 입력하여 AWS 계정에 로그인하십시오.
계정에 성공적으로 로그인하면 다음과 같은 기본 AWS Management Console이 표시됩니다.
기존 DynamoDB 테이블에 대한 경보를 생성합니다.
화면 상단 검색창에 "클라우드워치"를 검색하세요.
다음과 같이 Cloudwatch 대시보드가 표시됩니다. 왼쪽 패널에서 "알람"을 클릭합니다.
이 화면에서 계정의 기존 알람을 볼 수 있습니다. 기존 DynamoDB 테이블에 대한 새 경보를 생성하려면 "경보 생성" 버튼을 클릭합니다.
생성할 경보에 대한 측정항목 및 조건을 지정하는 화면이 표시됩니다. "측정항목 선택" 버튼을 클릭합니다.
검색 상자에서 "dynamodb"를 검색하여 메트릭을 필터링합니다. "DynamoDB > Table Metrics"를 클릭하여 기존 DynamoDB 테이블에 사용 가능한 지표를 확인합니다.
이제 기존 DynamoDB 테이블에 사용할 수 있는 측정항목이 표시되며 이 중 하나를 선택하여 경보를 생성할 수 있습니다. 여기서는 "ConsumedWriteCapacityUnits"로 진행하겠습니다. 계속하려면 "측정항목 선택" 버튼을 클릭하세요.
원하는 통계, 임계값 유형, 경보 조건 및 임계값을 선택합니다. 여기서 ConsumeWriteCapacityUnits의 샘플 수가 5분 동안 5보다 크면 경보가 트리거됩니다.
알람 상태 트리거와 SNS 주제를 선택합니다. 알람이 발생하면 "In alarm" 상태로 이동하고 지정된 SNS 주제로 알림을 보냅니다.
생성할 경보에 이름과 설명을 추가하고 "다음" 버튼을 클릭합니다.
경보를 생성하기 전에 모든 구성을 검토하십시오. 구성이 괜찮아 보이면 "알람 생성" 버튼을 클릭하십시오.
알람이 생성되면 \Alarms\ 콘솔에서 볼 수 있습니다. 임계값과 조건에 따라 경보 상태가 변경됩니다. 조건이 이미 충족되었으므로 알람이 \In alarm\ 상태임을 알 수 있습니다.
이로 인해 경보가 트리거되었고 알림이 지정된 SNS 주제의 구독으로 전송되었습니다.
결론
이 문서에서는 지표 "ConsumedWriteCapacityUnits"에 대한 경보를 생성했습니다. 이 경보는 "샘플 수"가 "5분" 동안 임계값 "5"보다 "큰"일 때 트리거됩니다. 알람이 트리거되면 SNS 주제 구독으로 알림이 전송되는 것도 보았습니다. 이제 동일한 단계를 사용하고 다양한 지표, 통계, 임계값 유형/값에 대한 경보를 생성할 수 있습니다.