AWS Glue 리소스 모니터링 - AWS Glue

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

AWS Glue 리소스 모니터링

AWS Glue에는 예상치 못한 과도한 프로비저닝과 요금 증가를 의도한 악의적인 행동으로부터 고객을 보호하기 위한 서비스 한도가 있습니다. 또한 이러한 한도는 서비스도 보호합니다. AWS Service Quota 콘솔에 로그인하면 고객은 현재 리소스 한도를 확인하고 필요한 경우 리소스 증가를 요청할 수 있습니다.

AWS Glue에서는 Amazon CloudWatch에서 서비스의 리소스 사용량을 백분율로 보고 사용량을 모니터링하도록 CloudWatch 경보를 구성할 수 있습니다. Amazon CloudWatch는 Amazon 인프라에서 실행되는 AWS 리소스 및 고객 애플리케이션에 대한 모니터링을 제공합니다. 지표는 무료로 제공됩니다. 다음과 같은 지표가 지원됩니다.

  • 계정당 워크플로우 수

  • 계정당 트리거 수

  • 계정당 작업 수

  • 계정당 동시 작업 실행 개수

  • 계정당 청사진 수

  • 계정당 대화형 세션 수

리소스 지표 구성 및 사용

이 기능을 사용하려면 Amazon CloudWatch 콘솔로 이동하여 지표를 보고 경보를 구성하면 됩니다. 지표는 AWS/Glue 네임스페이스 아래에 있으며 실제 리소스 사용량 수치를 리소스 할당량으로 나눈 백분율입니다. CloudWatch 지표는 사용자 계정으로 전송되므로 비용이 청구되지 않습니다. 예를 들어, 10개의 워크플로를 생성하고 서비스 할당량으로 최대 200개의 워크플로를 사용할 수 있는 경우 사용량은 10/200 = 5%이고, 그래프에는 5의 데이터 포인트가 백분율로 표시됩니다. 구체적으로 설명하면 다음과 같습니다.

Namespace: AWS/Glue Metric name: ResourceUsage Type: Resource Resource: Workflow (or Trigger, Job, JobRun, Blueprint, InteractiveSession) Service: Glue Class: None
리소스 지표

CloudWatch 콘솔에서 지표에 대한 경보를 생성하려면:

  1. 지표를 찾은 후에 그래프로 표시된 지표로 이동합니다.

  2. 작업에서 경보 생성을 클릭합니다.

  3. 필요에 따라 경보를 구성합니다.

리소스 사용량이 변경될 때마다(예: 증가 또는 감소) 지표를 생성합니다. 그러나 리소스 사용량이 변하지 않는 경우에는 매시간 지표를 생성하므로 지속적인 CloudWatch 그래프가 생성됩니다. 데이터 포인트가 누락되는 것을 방지하기 위해 1시간 미만의 기간을 구성하는 것은 권장하지 않습니다.

또한 다음 예제에서처럼 AWS CloudFormation을 사용하여 경보를 구성할 수 있습니다. 이 예제에서 워크플로 리소스 사용량이 80%에 도달하면 기존 SNS 주제에 메시지를 보내는 경보가 트리거되며, 이 주제를 구독하면 알림을 받을 수 있습니다.

{ "Type": "AWS::CloudWatch::Alarm", "Properties": { "AlarmName": "WorkflowUsageAlarm", "ActionsEnabled": true, "OKActions": [], "AlarmActions": [ "arn:aws:sns:af-south-1:085425700061:Default_CloudWatch_Alarms_Topic" ], "InsufficientDataActions": [], "MetricName": "ResourceUsage", "Namespace": "AWS/Glue", "Statistic": "Maximum", "Dimensions": [{ "Name": "Type", "Value": "Resource" }, { "Name": "Resource", "Value": "Workflow" }, { "Name": "Service", "Value": "Glue" }, { "Name": "Class", "Value": "None" } ], "Period": 3600, "EvaluationPeriods": 1, "DatapointsToAlarm": 1, "Threshold": 80, "ComparisonOperator": "GreaterThanThreshold", "TreatMissingData": "notBreaching" } }