

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

# Amazon EventBridge를 사용한 Application Auto Scaling 이벤트 모니터링
<a name="monitoring-eventbridge"></a>

Amazon EventBridge(이전 명칭: CloudWatch Events)를 사용하면 Application Auto Scaling과 관련된 이벤트를 모니터링하고 다른 AWS 서비스를 사용하는 대상 작업을 시작할 수 있습니다. 의 이벤트 AWS 서비스 는 거의 실시간으로 EventBridge로 전달됩니다.

EventBridge를 사용하면 수신 *이벤트*를 확인한 후 처리 *대상*으로 라우팅하는 *규칙*을 생성할 수 있습니다.

자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge 시작하기](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)를 참조하세요.

## Application Auto Scaling 이벤트
<a name="application-auto-scaling-example-event-types"></a>

다음 예제에서는 Application Auto Scaling에 대한 이벤트를 보여줍니다. 이벤트는 최선의 작업에 근거하여 생성됩니다.

현재 CloudTrail을 통한 최대 조정된 이벤트 및 API 호출만 Application Auto Scaling에 사용할 수 있습니다.

**Topics**
+ [상태 변경 이벤트: 최대 용량으로 조정](#event-example-1)
+ [CloudTrail을 통한 API 호출 이벤트](#event-example-2)

### 상태 변경 이벤트: 최대 용량으로 조정
<a name="event-example-1"></a>

다음 예제 이벤트는 Application Auto Scaling이 확장 가능 대상의 용량을 최대 크기 한도까지 증가(스케일 아웃)했음을 보여줍니다. 수요가 다시 증가하면 대상이 이미 최대 크기로 조정되었기 때문에 Application Auto Scaling에서 더 큰 크기로 조정할 수 없습니다.

`detail` 객체에서 `resourceId`,`serviceNamespace` 및`scalableDimension` 속성은 확장 가능 대상을 식별합니다. `newDesiredCapacity` 및 `oldDesiredCapacity` 속성의 값은 스케일 아웃 이벤트 후의 새 용량과 스케일 아웃 이벤트 전의 원래 용량을 나타냅니다. `maxCapacity`는 확장 가능 대상의 최대 크기 한도입니다.

```
{
  "version": "0",
  "id": "11112222-3333-4444-5555-666677778888",
  "detail-type": "Application Auto Scaling Scaling Activity State Change",
  "source": "aws.application-autoscaling",
  "account": "123456789012",
  "time": "2019-06-12T10:23:40Z",
  "region": "us-west-2",
  "resources": [],
  "detail": {
    "startTime": "2022-06-12T10:20:43Z",
    "endTime": "2022-06-12T10:23:40Z",
    "newDesiredCapacity": 8,
    "oldDesiredCapacity": 5,
    "minCapacity": 2,
    "maxCapacity": 8,
    "resourceId": "table/my-table",
    "scalableDimension": "dynamodb:table:WriteCapacityUnits",
    "serviceNamespace": "dynamodb",
    "statusCode": "Successful",
    "scaledToMax": true,
    "direction": "scale-out"
}
```

모든 확장 가능 대상의 모든 `scaledToMax` 상태 변경 이벤트를 캡처하는 규칙을 생성하려면 다음 샘플 이벤트 패턴을 사용합니다.

```
{
  "source": [
    "aws.application-autoscaling"
  ],
  "detail-type": [
    "Application Auto Scaling Scaling Activity State Change"
  ],
  "detail": {
    "scaledToMax": [
      true 
    ]
  } 
}
```

### CloudTrail을 통한 API 호출 이벤트
<a name="event-example-2"></a>

*추적*은를 AWS CloudTrail 사용하여 이벤트를 Amazon S3 버킷에 로그 파일로 전달하는 구성입니다. CloudTrail 로그 파일에는 로그 항목이 포함됩니다. 이벤트는 개별 로그 항목을 나타내며 요청된 작업, 작업 날짜 및 시간, 요청 파라미터에 대한 정보를 포함합니다. CloudTrail을 시작하는 방법은 *AWS CloudTrail 사용 설명서*의 [추적 생성](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html)을 참조하세요.

CloudTrail을 통해 전달되는 모든 이벤트는 `detail-type`의 값이 `AWS API Call via CloudTrail`입니다.

다음 예제 이벤트는 콘솔 사용자가 Application Auto Scaling [RegisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html) 작업을 호출했음을 보여주는 CloudTrail 로그 파일 항목을 나타냅니다.

```
{
  "version": "0",
  "id": "99998888-7777-6666-5555-444433332222",
  "detail-type": "AWS API Call via CloudTrail",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "2022-07-13T16:50:15Z",
  "region": "us-west-2",
  "resources": [],
  "detail": {
    "eventVersion": "1.08",
    "userIdentity": {
      "type": "IAMUser",
      "principalId": "123456789012",
      "arn": "arn:aws:iam::123456789012:user/Bob",
      "accountId": "123456789012",
      "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
      "sessionContext": {
        "sessionIssuer": {
          "type": "Role",
          "principalId": "123456789012",
          "arn": "arn:aws:iam::123456789012:role/Admin",
          "accountId": "123456789012",
          "userName": "Admin"
        },
        "webIdFederationData": {},
        "attributes": {
          "creationDate": "2022-07-13T15:17:08Z",
          "mfaAuthenticated": "false"
        }
      }
    },
    "eventTime": "2022-07-13T16:50:15Z",
    "eventSource": "autoscaling.amazonaws.com",
    "eventName": "RegisterScalableTarget",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "EC2 Spot Console",
    "requestParameters": {
      "resourceId": "spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
      "serviceNamespace": "ec2",
      "scalableDimension": "ec2:spot-fleet-request:TargetCapacity",
      "minCapacity": 2,
      "maxCapacity": 10
    },
    "responseElements": null,
    "additionalEventData": {
      "service": "application-autoscaling"
    },
    "requestID": "e9caf887-8d88-11e5-a331-3332aa445952",
    "eventID": "49d14f36-6450-44a5-a501-b0fdcdfaeb98",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management",
    "sessionCredentialFromConsole": "true"
  }
}
```

모든 확장 가능 대상의 모든 [DeleteScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeleteScalingPolicy.html) 및 [DeregisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html) API 호출을 기반으로 규칙을 생성하려면 다음 샘플 이벤트 패턴을 사용합니다.

```
{
  "source": [
    "aws.autoscaling"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "autoscaling.amazonaws.com"
    ],
    "eventName": [
       "DeleteScalingPolicy", 
       "DeregisterScalableTarget"
    ],
    "additionalEventData": {
      "service": [
        "application-autoscaling"
      ]
    }
  } 
}
```

CloudTrail 사용에 관한 자세한 내용은 [를 사용하여 Application Auto Scaling API 호출 로깅 AWS CloudTrail](logging-using-cloudtrail.md) 섹션을 참조하세요.