솔루션 모니터링 - AWS 인스턴스 스케줄러

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

솔루션 모니터링

로깅 및 알림

인스턴스 스케줄러는 CloudWatch Logs Insights 쿼리에 최적화된 구조화된 로깅을 사용합니다. 이 솔루션은 태그가 지정된 각 인스턴스에 대한 처리 정보, 인스턴스에 대한 기간 평가 결과, 해당 기간 동안 인스턴스의 원하는 상태, 적용된 작업 및 디버깅 메시지를 로깅합니다.

로그는 다음 두 로그 그룹으로 Amazon CloudWatch Logs에 기록됩니다.

{stackName}-{namespace}-administrative-logs

리소스 등록 및 등록 취소, 사용자 지정 리소스 작업, CLI 요청 및 기타 관리 활동에 대한 로그입니다.

{stackName}-{namespace}-scheduling-logs

오케스트레이션 및 요청 핸들러 실행을 포함한 예약 작업에 대한 로그입니다.

경고 및 오류 로그는 구독한 이메일 주소로 메시지를 보내도록 구성할 수 있는 솔루션 생성 Amazon SNS 주제로도 전달됩니다. 솔루션 스택의 출력 탭에서 Amazon SNS 주제의 이름을 찾을 수 있습니다.

CloudWatch Logs Insights 쿼리

인스턴스 스케줄러의 구조화된 로깅 형식을 사용하면 CloudWatch Logs Insights를 사용하여 효율적으로 쿼리할 수 있습니다. Logs Insights를 사용하여 로그 데이터를 검색, 분석 및 시각화하여 운영 문제를 해결하고 예약 활동을 모니터링할 수 있습니다.

인스턴스 스케줄러는 CloudWatch Logs 콘솔의 저장된 쿼리 섹션에서 액세스할 수 있는 사전 형식의 로그 쿼리를 제공합니다.

SchedulingHistory

시작 및 중지 작업을 포함하여 리소스에 대해 수행된 쿼리 예약 작업입니다.

RegistrationEvents

리소스 등록 및 등록 취소 이벤트를 쿼리합니다.

Errors

오류 로그를 쿼리하여 솔루션 관련 문제를 해결합니다.

CloudWatch Logs Insights에 대한 자세한 내용은 Amazon CloudWatch Logs 사용 설명서의 CloudWatch Logs Insights를 사용하여 로그 데이터 분석을 참조하세요. Amazon CloudWatch

운영 인사이트 대시보드

Operational Insights 대시보드는 예약된 인스턴스 관리의 솔루션 성능과 비용 절감에 대한 가시성을 제공합니다.

대시보드에 액세스하려면 허브 스택 파라미터에서 운영 모니터링이 "활성화"로 설정되어 있는지 확인합니다. CloudWatch로 이동하여 탐색 메뉴에서 "대시보드"를 선택합니다. 대시보드 이름은 *{stack-name}-Operational-Insights-Dashboard*입니다.

대시보드에는 관리형 인스턴스 수, 저장된 실행 시간 및 Lambda 함수 성능 지표가 표시됩니다.

운영 인사이트 대시보드 개요

OpsDashboardOverview
참고

이러한 그래프의 정보는 솔루션 허브 스택에 구성된 예약 간격에 따라 달라집니다. 솔루션의 예약 간격을 업데이트할 때 대시보드에는 가장 최근 일정 간격 업데이트 후의 일정 지표만 표시됩니다.

Lambda 실행 시간을 모니터링하여 최적의 성능을 보장합니다(할당량 참조). 실행 시간이 지속적으로 제한 시간 임계값에 도달하는 경우 Lambda 크기 속성을 늘리거나 관리형 리전에 지연 시간이 더 짧은 리전에 인스턴스 스케줄러를 배포하는 것이 좋습니다.

기간 및 오류 수를 보여주는 Lambda 지표

OpsDashboardLambdaMetrics

이 기능과 관련된 추가 비용

이 운영 대시보드는 추가 비용이 발생하는 솔루션에서 수집한 사용자 지정 CloudWatch 지표를 기반으로 합니다. 솔루션 허브 스택에서 “운영 모니터링”을 비활성화하여 이 기능을 끌 수 있습니다. 이 기능은 월 3.00 USD의 추가 비용과 배포 규모에 따른 추가 스케일링 비용이 부과됩니다. 비용은 다음과 같습니다.

사용자 지정 CloudWatch 대시보드 3 USD

per-instance-type 지표

인스턴스 유형당 0.90 USD*

API 사용

활성 대상당 ~$0.10**

*이러한 비용은 서비스 범주(EC2/RDS)별로 추적되며 실제로 예약에 사용되는 인스턴스 유형에 대해서만 추적됩니다.

*

EventBridge 이벤트 모니터링

Instance Scheduler는 예약 및 등록 이벤트를 EventBridge 이벤트 버스에 게시하여 솔루션 작업에 대한 가시성을 제공하고 다른 AWS 서비스와 통합할 수 있도록 합니다.

이벤트 유형

솔루션은 두 가지 주요 이벤트 범주를 게시합니다.

이벤트 예약: 인스턴스 스케줄러가 관리형 리소스를 시작, 중지 또는 구성하는 작업을 수행할 때 게시됩니다. 이러한 이벤트에는 인스턴스, 일정 및 수행한 작업에 대한 세부 정보가 포함됩니다. 관리형 리소스를 시작, 중지 또는 구성합니다. 이러한 이벤트에는 인스턴스, 일정 및 수행한 작업에 대한 세부 정보가 포함됩니다.

등록 이벤트: 리소스가 태그 지정 작업에 따라 예약에 등록되거나 등록 취소될 때 게시됩니다.

이벤트 대상

IS-LocalEvents 이벤트 버스: IS-LocalEvents 이벤트 버스는 각 멤버 계정(허브 계정 포함)의 각 관리형 리전에 배포됩니다. 각 버스는 해당 리전 내에서 작업 및 리소스 등록을 예약하기 위한 이벤트를 수신합니다.

IS-GlobalEvents 이벤트 버스: 허브 계정의 IS-GlobalEvents 이벤트 버스는 모든 이벤트 버스로 전송된 각 IS-LocalEvents 이벤트의 사본을 수신하여 모든 계정 및 리전에서 중앙 집중식 모니터링을 제공합니다.

EventBridge 이벤트 사용

EventBridge 규칙을 생성하여 다음을 수행할 수 있습니다.

  • 인프라 전반의 예약 작업 모니터링

  • 인스턴스가 시작되거나 중지될 때 알림 트리거

  • 자동화된 워크플로를 위해 다른 AWS 서비스와 통합

  • 규정 준수 모니터링 및 알림 구현

이벤트 구조

모든 이벤트는 표준 EventBridge 형식을 사용합니다. 다음 예제에서는 각 이벤트 유형의 구조를 보여줍니다.

이벤트 예약:

{ "Source": "instance-scheduler", "DetailType": "Scheduling Action", "Resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"], "Detail": { "account": "123456789012", "region": "us-east-1", "service": "ec2", "resource_id": "i-1234567890abcdef0", "requested_action": "Start", "action_taken": "Started", "schedule": "office-hours" } }

등록 이벤트:

{ "Source": "instance-scheduler", "DetailType": "Resource Registered", "Resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"], "Detail": { "account": "123456789012", "region": "us-east-1", "service": "ec2", "resource_id": "i-1234567890abcdef0", "schedule": "office-hours" } }

각 이벤트에는 다음과 같은 키 필드가 포함됩니다.

  • Source - 이벤트 소스를 "instance-scheduler"로 식별합니다.

  • DetailType - 이벤트 범주를 지정합니다. 인스턴스 작업의 경우 "예약 작업", 이벤트 태그 지정의 경우 "리소스 등록"

  • Resources - 영향을 받는 AWS 리소스의 ARNs 포함된 배열

  • Detail - 계정 ID, 리전, 서비스 유형(ec2/rds), 리소스 ID, 일정 이름, 요청된 작업 및 실제 결과 모두의 이벤트 예약에 대한 이벤트 페이로드를 포함합니다.

이벤트 예약에 사용할 수 있는 requested_action 값:

  • Start: 인스턴스를 시작하기 위한 스케줄러

  • Stop: 인스턴스를 중지하기 위한 스케줄러

  • Configure: 인스턴스를 구성하기 위한 스케줄러

이벤트 예약에 사용할 수 있는 action_taken 값:

  • Started: 인스턴스가 시작됨

  • Stopped: 인스턴스가 중지되었습니다.

  • Hibernated: 인스턴스가 최대 절전 모드로 전환되었습니다.

  • Configured: 인스턴스 구성이 수정되었습니다.

  • Error: 예약 작업 중에 오류가 발생했습니다.

EventBridge 규칙 생성

인스턴스 스케줄러 이벤트를 모니터링하려면:

  1. AWS 계정의 EventBridge 콘솔로 이동합니다.

  2. IS-GlobalEvents 이벤트 버스(중앙 집중식 모니터링용) 또는 IS-LocalEvents 이벤트 버스(로컬 모니터링용)를 대상으로 하는 새 규칙 생성

  3. 인스턴스 스케줄러 이벤트와 일치하는 이벤트 패턴 정의

  4. SNS 주제, Lambda 함수 또는 CloudWatch Logs와 같은 대상 구성

EventBridge에 대한 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge란 무엇입니까?를 참조하세요. EventBridge