

# EC2 플릿 또는 스팟 플릿 모니터링
<a name="fleet-monitor"></a>

최적의 성능을 유지하고 신뢰성을 보장하려면 EC2 Fleet 또는 스팟 플릿을 효과적으로 모니터링하는 것이 필수적입니다. 이 주제에서 다루는 Amazon CloudWatch와 Amazon EventBridge를 비롯하여 이를 달성하는 데 도움이 되는 다양한 도구가 있습니다.

CloudWatch를 사용하여 지표를 수집 및 추적하고, 경보를 설정하고, 플릿 상태의 변화에 자동으로 대응할 수 있습니다.

EventBridge를 사용하면 플릿에서 발생하는 이벤트를 모니터링하고 프로그래밍 방식으로 대응할 수 있습니다. EventBridge에서 규칙을 정의하면 인스턴스 종료 또는 플릿 상태 변경과 같은 특정 플릿 이벤트에 대한 응답을 자동화하여 운영 효율성을 개선할 수 있습니다.

**Topics**
+ [CloudWatch를 사용하여 EC2 Fleet 또는 스팟 플릿 모니터링](ec2-fleet-cloudwatch-metrics.md)
+ [Amazon EventBridge를 사용하여 EC2 Fleet 또는 스팟 플릿에서 발생하는 이벤트를 모니터링하고 프로그래밍 방식으로 대응하세요.](monitor-ec2-fleet-using-eventbridge.md)

# CloudWatch를 사용하여 EC2 Fleet 또는 스팟 플릿 모니터링
<a name="ec2-fleet-cloudwatch-metrics"></a>

이 섹션에 설명하는 Amazon CloudWatch 지표를 사용하여 EC2 Fleet 또는 스팟 플릿을 모니터링할 수 있습니다.

**중요**  
정확성을 보장하기 위해, 이 측정치를 사용할 때는 세부 모니터링을 활성화하는 것이 좋습니다. 자세한 내용은 [EC2 인스턴스에 대한 세부 모니터링 관리](manage-detailed-monitoring.md) 섹션을 참조하세요.

CloudWatch 사용에 관한 자세한 내용은 [CloudWatch를 사용하여 인스턴스 모니터링](using-cloudwatch.md)의 내용을 참조하세요.

## EC2 Fleet 및 스팟 플릿 지표
<a name="ec2-fleet-metrics"></a>

`AWS/EC2Spot` 네임스페이스에는 플릿에 대한 다음 지표와 플릿의 스팟 인스턴스에 대한 CloudWatch 지표가 포함되어 있습니다. 자세한 내용은 [인스턴스 지표](viewing_metrics_with_cloudwatch.md#ec2-cloudwatch-metrics) 섹션을 참조하세요.


| 측정치 | 설명 | 
| --- | --- | 
| AvailableInstancePoolsCount |  플릿 요청에 지정된 스팟 용량 풀입니다. 단위: 개  | 
| BidsSubmittedForCapacity |  Amazon EC2가 플릿 요청을 제출한 용량입니다. 단위: 개  | 
| EligibleInstancePoolCount |  플릿 요청에 지정되어 Amazon EC2가 요청을 이행할 수 있는 스팟 용량 풀입니다. 사용자가 지불하려는 스팟 인스턴스 최대 가격이 스팟 가격보다 낮거나 스팟 가격이 온디맨드 인스턴스 가격보다 높은 풀에서는 Amazon EC2가 요청을 이행하지 않습니다. 단위: 개수  | 
| FulfilledCapacity |  Amazon EC2가 달성한 용량. 단위: 개  | 
| MaxPercentCapacityAllocation |  플릿 요청에 지정된 모든 플릿 풀에 걸친 `PercentCapacityAllocation`의 최댓값입니다. 단위: 백분율  | 
| PendingCapacity |  `TargetCapacity`와 `FulfilledCapacity`의 차이점. 단위: 개수  | 
| PercentCapacityAllocation |  지정된 차원의 스팟 용량 풀에 할당된 용량. 모든 스팟 용량 풀에 기록된 최댓값을 얻으려면 `MaxPercentCapacityAllocation`을 사용하세요. 단위: 백분율  | 
| TargetCapacity |  플릿 요청의 목표 용량입니다. 단위: 개  | 
| TerminatingCapacity |  프로비저닝된 용량이 목표 용량보다 커서 종료되는 용량입니다. 단위: 개수  | 

수치 측정 단위가 `Count`(수)인 경우, 가장 유용한 통계는 `Average`(평균)입니다.

## EC2 Fleet 및 스팟 플릿 차원
<a name="ec2-fleet-dimensions"></a>

플릿에 대한 데이터를 필터링하려면 다음 차원을 사용합니다.


| 측정 기준 | 설명 | 
| --- | --- | 
| AvailabilityZone |  가용 영역별로 데이터를 필터링합니다.  | 
| FleetRequestId |  플릿 요청별로 데이터를 필터링합니다.  | 
| InstanceType |  인스턴스 유형별로 데이터를 필터링합니다.  | 

## EC2 Fleet 또는 스팟 플릿에 대한 CloudWatch 지표 보기
<a name="view-ec2-fleet-metrics"></a>

Amazon CloudWatch 콘솔을 사용하여 플릿에 대한 CloudWatch 지표를 볼 수 있습니다. 이 측정치들은 모니터링 그래프로 표시됩니다. 플릿이 활성 상태가 되면 이 그래프에 데이터 포인트가 표시됩니다.

측정치는 먼저 네임스페이스별로 그룹화된 다음, 각 네임스페이스 내에서 다양한 차원 조합별로 그룹화됩니다. 예를 들어 모든 플릿 지표를 보거나 플릿 요청 ID, 인스턴스 유형 또는 가용 영역별로 그룹화된 플릿 지표를 볼 수 있습니다.

**플릿 지표 보기**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **지표**를 확장한 다음 **모든 지표**를 선택합니다.

1. **EC2 스팟** 네임스페이스를 선택합니다.
**참고**  
**EC2 스팟** 네임스페이스가 표시되지 않는 경우 두 가지 이유가 있습니다. 리전에서 EC2 Fleet 또는 스팟 플릿을 사용하지 않았습니다. 사용 중인 AWS 서비스만 Amazon CloudWatch에 지표를 보냅니다. 또는 리전에서 EC2 Fleet 또는 스팟 플릿을 사용한 적이 있지만 지난 2주 동안 사용하지 않은 경우 네임스페이스가 표시되지 않습니다.

1. 측정치를 차원을 기준으로 필터링하려면 다음 중 하나를 선택하세요.
   + **플릿 요청 지표** – 플릿 요청으로 그룹화
   + **가용 영역 기준** – 플릿 요청 및 가용 영역으로 그룹화
   + **인스턴스 유형 기준** - 플릿 요청 및 인스턴스 유형으로 그룹화
   + **가용 영역/인스턴스 유형 기준** - 플릿 요청, 가용 영역 및 인스턴스 유형으로 그룹화

1. 지표의 데이터를 보려면 지표 옆의 확인란을 선택합니다.

# Amazon EventBridge를 사용하여 EC2 Fleet 또는 스팟 플릿에서 발생하는 이벤트를 모니터링하고 프로그래밍 방식으로 대응하세요.
<a name="monitor-ec2-fleet-using-eventbridge"></a>

EC2 Fleet 또는 스팟 플릿 상태가 변경되면 플릿에서 알림을 보냅니다. 알림은 Amazon EventBridge로 전송되는 이벤트(이전의 Amazon CloudWatch Events) 형태로 제공됩니다. 이벤트는 최선의 작업을 기반으로 발생됩니다.

Amazon EventBridge를 사용하여 이벤트에 대한 응답으로 프로그래밍 동작을 트리거하는 규칙을 생성할 수 있습니다. 예를 들어, 두 개의 EventBridge 규칙을 생성할 수 있습니다. 하나는 플릿 상태가 변경될 때 트리거되고, 다른 하나는 플릿의 인스턴스가 종료될 때 트리거됩니다. 이 예제에서는 플릿 상태가 변경되면 규칙이 SNS 주제를 호출하여 사용자에게 이메일 알림을 보내도록 첫 번째 규칙을 구성할 수 있습니다. 플릿의 인스턴스가 종료되면 두 번째 규칙이 Lambda 함수를 호출하여 새 인스턴스를 시작하도록 두 번째 규칙을 구성할 수 있습니다.

**참고**  
`maintain` 및 `request` 유형의 플릿에서만 이벤트가 생성됩니다. `instant` 유형 플릿은 동기식 일회성 요청을 제출하고 응답에서 플릿 상태를 즉시 알 수 있으므로 이벤트가 생성되지 않습니다. Amazon EventBridge를 사용하여 플릿 이벤트를 모니터링하려면 요청 유형이 `maintain` 또는 `request`여야 합니다.

플릿의 이벤트 기록을 설명하는 방법에 대한 지침은 [EC2 Fleet의 이벤트 기록 설명](describe-ec2-fleet.md#describe-ec2-fleet-event-history) 섹션을 참조하세요.

**Topics**
+ [EC2 Fleet 또는 스팟 플릿 이벤트를 모니터링하는 Amazon EventBridge 규칙 생성](#fleet_create-eventbridge-rules)
+ [EC2 Fleet 이벤트 유형](#ec2-fleet-event-types)
+ [스팟 플릿 이벤트 유형](#spot-fleet-event-types)

## EC2 Fleet 또는 스팟 플릿 이벤트를 모니터링하는 Amazon EventBridge 규칙 생성
<a name="fleet_create-eventbridge-rules"></a>

EC2 Fleet 또는 스팟 플릿에 대한 상태 변경 알림이 생성되면 해당 알림은 JSON 파일 형식의 이벤트로 Amazon EventBridge에 전송됩니다. EventBridge에서 규칙에 정의된 패턴과 일치하는 이벤트 패턴이 감지되는 경우, EventBridge는 규칙에 정의된 대상을 호출합니다.

일치하는 이벤트 패턴을 기반으로 작업을 자동화하는 EventBridge 규칙을 작성할 수 있습니다.

다음과 같은 이벤트 필드는 규칙에 정의된 이벤트 패턴을 형성합니다.

`"source": "aws.ec2fleet"`  
EC2 Fleet에서 시작된 이벤트를 식별합니다.

`"detail-type": "EC2 Fleet State Change"`  
이벤트 유형을 식별합니다.

`"detail": { "sub-type": "submitted" }`  
이벤트 하위 유형을 식별합니다.

EC2 Fleet 또는 스팟 플릿 이벤트 목록 및 이벤트 데이터 예는 [EC2 Fleet 이벤트 유형](#ec2-fleet-event-types) 및 [스팟 플릿 이벤트 유형](#spot-fleet-event-types) 섹션을 참조하세요.

**Topics**
+ [알림을 보내는 EventBridge 규칙 생성](#eventbridge-send-notification)
+ [Lambda 함수를 트리거하는 EventBridge 규칙 생성](#eventbridge-trigger-lambda)

### 알림을 보내는 EventBridge 규칙 생성
<a name="eventbridge-send-notification"></a>

다음 예제에서는 Amazon EC2에서 EC2 Fleet 상태 변경 알림이 생성될 때마다 이메일, 문자 메시지 또는 모바일 푸시 알림을 보내는 EventBridge 규칙을 생성합니다. 이 예제의 신호는 규칙에 정의된 작업을 트리거하는 `EC2 Fleet State Change` 이벤트로 생성됩니다.

**사전 조건**  
EventBridge 규칙을 생성하기 전에 이메일, 문자 메시지 또는 모바일 푸시 알림에 대한 Amazon SNS 주제를 생성해야 합니다.

**EC2 Fleet 상태가 변경될 때 알림을 보내는 EventBridge 규칙을 생성하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. [**규칙 생성(Create rule)**]을 선택합니다.

1. **규칙 세부 정보 정의(Define rule detail)**에 대해 다음을 수행합니다.

   1. 규칙의 **이름**을 입력하고 선택적으로 설명을 입력합니다.

      규칙은 동일한 리전과 동일한 이벤트 버스의 다른 규칙과 동일한 이름을 가질 수 없습니다.

   1. **이벤트 버스(Event bus)**에서 **기본값(default)**을 선택합니다. 계정의 AWS 서비스가 이벤트를 생성하면 항상 계정의 기본 이벤트 버스로 이동합니다.

   1. **규칙 유형(Rule type)**에서 **이벤트 패턴이 있는 규칙(Rule with an event pattern)**을 생성합니다.

   1. **다음**을 선택합니다.

1. **이벤트 패턴 빌드(Build event pattern)**에서 다음을 수행합니다.

   1. **이벤트 소스(Event source)**에서 **AWS 이벤트 또는 EventBridge 파트너 이벤트( events or EventBridge partner events)**를 선택합니다.

   1. **이벤트 패턴(Event pattern)**의 경우 이 예에서는 `EC2 Fleet Instance Change` 이벤트와 일치하도록 다음 이벤트 패턴을 지정합니다.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"]
      }
      ```

      이벤트 패턴을 추가하려면 다음과 같이 **이벤트 패턴 양식(Event pattern form)**을 선택하여 템플릿을 사용하거나 **사용자 정의 패턴(JSON 편집기)(Custom pattern (JSON editor))**을 선택하여 고유한 패턴을 지정할 수 있습니다.

      1. 템플릿을 사용하여 이벤트 패턴을 생성하려면 다음을 수행하세요.

         1. **이벤트 패턴 양식(Event pattern form)**을 선택합니다.

         1. **이벤트 소스(Event source)**에서 **AWS 서비스(services)**를 선택합니다.

         1. **AWS 서비스(Service)**에서 **EC2 플릿(EC2 Fleet)**을 선택합니다.

         1. **이벤트 유형(Event type)**에서 **EC2 플릿 인스턴스 변경(EC2 Fleet Instance Change)**을 선택합니다.

         1. 템플릿을 사용자 지정하려면 **패턴 편집(Edit pattern)**을 선택하고 예시 이벤트 패턴과 일치하도록 변경합니다.

      1. (대안) 사용자 정의 이벤트 패턴을 지정하려면 다음을 수행하세요.

         1. **사용자 정의 패턴(JSON 편집기)**을 선택합니다.

         1. **이벤트 패턴(Event pattern)** 상자에서 이 예시의 이벤트 패턴을 추가합니다.

   1. **다음**을 선택합니다.

1. **대상 선택(Select target(s))**에서 다음을 수행합니다.

   1. **대상 유형(Target types)**에서 **AWS 서비스(service)**를 선택합니다.

   1. **대상 선택(Select a target)**에서 **SNS 주제(SNS topic)**를 선택하여 이벤트가 발생할 때 이메일, 문자 메시지 또는 모바일 푸시 알림을 보내도록 합니다.

   1. [**주제(Topic)**]에서 기존 주제를 선택합니다. 먼저 Amazon SNS 콘솔을 사용하여 Amazon SNS 주제를 생성해야 합니다. 자세한 내용은 *Amazon Simple Notification Service 개발자 가이드*의 [A2P(Application-to-Person) 메시징에 Amazon SNS 사용](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html)을 참조하세요.

   1. (선택 사항) **추가 설정(Additional settings)**에서 선택적으로 추가 설정을 구성할 수 있습니다. 자세한 설명은 *Amazon EventBridge 사용 설명서*의 [Creating Amazon EventBridge rules that react to events](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html)(이벤트에 응답하는 Amazon EventBridge 규칙 생성)(16단계)를 참조하세요.

   1. **다음**을 선택합니다.

1. (선택 사항) **태그(Tags)**에서 선택적으로 하나 이상의 태그를 규칙에 할당하고 **다음(Next)**을 선택할 수 있습니다.

1. **검토 및 생성(Review and create)**에서 다음을 수행합니다.

   1. 규칙의 세부 정보를 검토하고 필요에 따라 수정합니다.

   1. **규칙 생성**을 선택합니다.

자세한 내용은 Amazon EventBridge 사용 설명서**에서 [Amazon EventBridge 규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) 및 [Amazon EventBridge 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)을 참조하세요.

### Lambda 함수를 트리거하는 EventBridge 규칙 생성
<a name="eventbridge-trigger-lambda"></a>

다음 예제에서는 Amazon EC2에서 인스턴스가 시작되는 경우 EC2 Fleet 인스턴스 변경 알림이 생성될 때마다 Lambda 함수를 트리거하는 EventBridge 규칙을 생성합니다. 이 예제의 신호는 규칙에서 정의한 작업을 트리거하는 하위 유형 `launched`인 `EC2 Fleet Instance Change` 이벤트로 전송됩니다.

EventBridge 규칙을 생성하기 전에 Lambda 함수를 생성해야 합니다.

**EventBridge 규칙에서 사용 Lambda 함수 생성**

1. [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)에서 AWS Lambda 콘솔을 엽니다.

1. **함수 생성(Create function)**을 선택합니다.

1. 함수 이름을 입력하고 코드를 구성한 다음 [**함수 생성(Create function)**]을 선택합니다.

   자세한 내용은 *AWS Lambda 개발자 가이드*의 [첫 Lambda 함수 생성](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html)을 참조하세요.

**EC2 Fleet의 인스턴스 상태가 변경될 때 Lambda 함수를 트리거하는 EventBridge 규칙을 생성하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. [**규칙 생성(Create rule)**]을 선택합니다.

1. **규칙 세부 정보 정의(Define rule detail)**에 대해 다음을 수행합니다.

   1. 규칙의 **이름**을 입력하고 선택적으로 설명을 입력합니다.

      규칙은 동일한 리전과 동일한 이벤트 버스의 다른 규칙과 동일한 이름을 가질 수 없습니다.

   1. **이벤트 버스(Event bus)**에서 **기본값(default)**을 선택합니다. 계정의 AWS 서비스가 이벤트를 생성하면 항상 계정의 기본 이벤트 버스로 이동합니다.

   1. **규칙 유형(Rule type)**에서 **이벤트 패턴이 있는 규칙(Rule with an event pattern)**을 생성합니다.

   1. **다음**을 선택합니다.

1. **이벤트 패턴 빌드(Build event pattern)**에서 다음을 수행합니다.

   1. **이벤트 소스(Event source)**에서 **AWS 이벤트 또는 EventBridge 파트너 이벤트( events or EventBridge partner events)**를 선택합니다.

   1. **이벤트 패턴(Event pattern)**의 경우 이 예에서는 `EC2 Fleet Instance Change` 이벤트 및 `launched` 하위 유형과 일치하도록 다음 이벤트 패턴을 지정합니다.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"],
       "detail": {
         "sub-type": ["launched"]
      }
      ```

      이벤트 패턴을 추가하려면 다음과 같이 **이벤트 패턴 양식(Event pattern form)**을 선택하여 템플릿을 사용하거나 **사용자 정의 패턴(JSON 편집기)(Custom pattern (JSON editor))**을 선택하여 고유한 패턴을 지정할 수 있습니다.

      1. 템플릿을 사용하여 이벤트 패턴을 생성하려면 다음을 수행하세요.

         1. **이벤트 패턴 양식(Event pattern form)**을 선택합니다.

         1. **이벤트 소스(Event source)**에서 **AWS 서비스(services)**를 선택합니다.

         1. **AWS 서비스(Service)**에서 **EC2 플릿(EC2 Fleet)**을 선택합니다.

         1. **이벤트 유형(Event type)**에서 **EC2 플릿 인스턴스 변경(EC2 Fleet Instance Change)**을 선택합니다.

         1. **패턴 편집(Edit pattern)**을 선택하고 예제 이벤트 패턴과 일치하도록 `"detail": {"sub-type": ["launched"]`를 추가합니다. 적절한 JSON 형식을 위해 앞의 대괄호(`]`) 뒤에 쉼표(`,`)를 삽입합니다.

      1. (대안) 사용자 정의 이벤트 패턴을 지정하려면 다음을 수행하세요.

         1. **사용자 정의 패턴(JSON 편집기)**을 선택합니다.

         1. **이벤트 패턴(Event pattern)** 상자에서 이 예시의 이벤트 패턴을 추가합니다.

   1. **다음**을 선택합니다.

1. **대상 선택(Select target(s))**에서 다음을 수행합니다.

   1. **대상 유형(Target types)**에서 **AWS 서비스(service)**를 선택합니다.

   1. **대상 선택(Select a target)**에서 **SNS 주제(SNS topic)**를 선택하여 이벤트가 발생할 때 이메일, 문자 메시지 또는 모바일 푸시 알림을 보내도록 합니다.

   1. **주제(Target)**에서 **Lambda 함수(Lambda function)**를 선택하고 **함수(Function)**에서 이벤트 발생 시 응답을 위해 생성한 함수를 선택합니다.

   1. (옵션) **추가 설정(Additional settings)**에서 선택적으로 추가 설정을 구성할 수 있습니다. 자세한 설명은 *Amazon EventBridge 사용 설명서*의 [Creating Amazon EventBridge rules that react to events](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html)(이벤트에 응답하는 Amazon EventBridge 규칙 생성)(16단계)를 참조하세요.

   1. **다음**을 선택합니다.

1. (선택 사항) **태그(Tags)**에서 선택적으로 하나 이상의 태그를 규칙에 할당하고 **다음(Next)**을 선택할 수 있습니다.

1. **검토 및 생성(Review and create)**에서 다음을 수행합니다.

   1. 규칙의 세부 정보를 검토하고 필요에 따라 수정합니다.

   1. **규칙 생성**을 선택합니다.

Lambda 함수를 생성하고, Lambda 함수를 실행하는 EventBridge 규칙을 생성하는 방법에 대한 자습서는 *AWS Lambda 개발자 가이드*의 [자습서: EventBridge를 사용하여 Amazon EC2 인스턴스의 상태 로깅](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-log-ec2-instance-state.html)을 참조하세요.

## EC2 Fleet 이벤트 유형
<a name="ec2-fleet-event-types"></a>

EC2 Fleet 이벤트 유형은 5가지입니다. 각 이벤트 유형에는 몇 가지 하위 유형이 있습니다.

**Topics**
+ [EC2 Fleet 상태 변경](#ec2-fleet-state-change)
+ [EC2 Fleet 스팟 인스턴스 요청 변경](#ec2-fleet-spot-instance-request-change)
+ [EC2 Fleet 인스턴스 변경](#ec2-fleet-instance-change)
+ [EC2 Fleet 정보](#ec2-fleet-info)
+ [EC2 Fleet 오류](#ec2-fleet-config-not-valid)

### EC2 Fleet 상태 변경
<a name="ec2-fleet-state-change"></a>

EC2 Fleet 상태가 변경될 때 EC2 Fleet은 `EC2 Fleet State Change` 이벤트를 Amazon EventBridge로 전송합니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "715ed6b3-b8fc-27fe-fad6-528c7b8bf8a2",
    "detail-type": "EC2 Fleet State Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "sub-type": "active"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`active`  
EC2 집합 요청이 확인되었으며 Amazon EC2가 실행 중인 인스턴스를 목표 개수만큼 유지하려고 시도하고 있습니다.

`deleted`  
EC2 집합 요청이 삭제되었고 실행 중인 인스턴스가 없습니다. EC2 Fleet은 인스턴스가 종료되고 2일 후에 삭제됩니다.

`deleted_running`  
EC2 Fleet 요청이 삭제되었고 추가 인스턴스를 시작하지 않습니다. 중단되거나 종료될 때까지 기존 인스턴스가 계속 실행됩니다. 그 요청은 모든 인스턴스가 중단 또는 종료될 때까지 계속 이 상태로 유지됩니다.

`deleted_terminating`  
EC2 집합 요청이 삭제되었고 해당 인스턴스를 종료하는 중입니다. 그 요청은 모든 인스턴스가 종료될 때까지 계속 이 상태로 유지됩니다.

`expired`  
EC2 Fleet 요청이 만료되었습니다. 요청이 `TerminateInstancesWithExpiration` 세트로 생성된 경우 후속 `terminated` 이벤트는 인스턴스가 종료되었음을 나타냅니다.

`modify_in_progress`  
EC2 집합 요청을 수정하고 있습니다. 그 요청은 수정이 완전히 처리될 때까지 계속 이 상태로 유지됩니다.

`modify_succeeded`  
EC2 Fleet 요청이 수정되었습니다.

`submitted`  
EC2 집합 요청을 평가 중이며 Amazon EC2에서 목표 개수의 인스턴스를 시작하기 위해 준비 중입니다.

`progress`  
EC2 Fleet 요청이 이행되는 중입니다.

### EC2 Fleet 스팟 인스턴스 요청 변경
<a name="ec2-fleet-spot-instance-request-change"></a>

플릿의 스팟 인스턴스 요청 상태가 변경될 때 EC2 Fleet은 `EC2 Fleet Spot Instance Request Change` 이벤트를 Amazon EventBridge로 보냅니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "19331f74-bf4b-a3dd-0f1b-ddb1422032b9",
    "detail-type": "EC2 Fleet Spot Instance Request Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:05Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-83fd4e48-552a-40ef-9532-82a3acca5f10"
    ],
    "detail": {
        "spot-instance-request-id": "sir-rmqske6h",
        "description": "SpotInstanceRequestId sir-rmqske6h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`active`  
스팟 인스턴스 요청이 이행되었으며 요청에 연결된 스팟 인스턴스가 있습니다.

`cancelled`  
스팟 인스턴스 요청을 취소했거나 스팟 인스턴스 요청이 만료되었습니다.

`disabled`  
스팟 인스턴스를 중지했습니다.

`submitted`  
스팟 인스턴스 요청을 제출했습니다.

### EC2 Fleet 인스턴스 변경
<a name="ec2-fleet-instance-change"></a>

플릿의 인스턴스가 상태가 변경될 때 EC2 Fleet은 `EC2 Fleet Instance Change` 이벤트를 Amazon EventBridge로 보냅니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "542ce428-c8f1-0608-c015-e8ed6522c5bc",
    "detail-type": "EC2 Fleet Instance Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:23Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "instance-id": "i-0c594155dd5ff1829",
        "description": "{\"instanceType\":\"c5.large\",\"image\":\"ami-6057e21a\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1d\"}",
        "sub-type": "launched"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`launched`  
새 인스턴스가 시작되었습니다.

`terminated`  
인스턴스가 종료되었습니다.

`termination_notified`  
스케일 다운 중에 Amazon EC2에 의해 스팟 인스턴스가 종료될 때 플릿의 목표 용량이 감소(예: 목표 용량 4에서 목표 용량 3으로)되었을 때 인스턴스 종료 알림이 전송되었습니다.

### EC2 Fleet 정보
<a name="ec2-fleet-info"></a>

이행 중에 오류가 발생할 때 EC2 집합은 `EC2 Fleet Information` 이벤트를 Amazon EventBridge로 보냅니다. 정보 이벤트는 플릿에서 목표 용량을 이행하려는 시도를 차단하지 않습니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "76529817-d605-4571-7224-d36cc1b2c0c4",
    "detail-type": "EC2 Fleet Information",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T08:17:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-8becf5fe-bb9e-415d-8f54-3fa5a8628b91"
    ],
    "detail": {
        "description": "c4.xlarge, ami-0947d2ba12ee1ff75, Linux/UNIX, us-east-1a, Spot price in either SpotFleetRequestConfigData or SpotFleetLaunchSpecification or LaunchTemplate or LaunchTemplateOverrides is less than Spot market price $0.0619",
        "sub-type": "launchSpecUnusable"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`fleetProgressHalted`  
모든 시작 사양의 요금이 스팟 요금보다 낮기 때문에 모든 시작 사양의 요금이 유효하지 않습니다(모든 시작 사양이 `launchSpecUnusable` 이벤트 생성). 스팟 요금이 변경되면 시작 사양이 유효해질 수 있습니다.

`launchSpecTemporarilyBlacklisted`  
구성이 유효하지 않으며 인스턴스 시작하려는 시도가 여러 번 실패했습니다. 자세한 내용은 이벤트 설명을 참조하세요.

`launchSpecUnusable`  
시작 사양의 요금이 스팟 요금보다 낮기 때문에 시작 사양의 요금이 유효하지 않습니다.

`registerWithLoadBalancersFailed`  
로드 밸런서에 인스턴스를 등록하지 못했습니다. 자세한 내용은 이벤트 설명을 참조하세요.

### EC2 Fleet 오류
<a name="ec2-fleet-config-not-valid"></a>

이행 중에 오류가 발생할 때 EC2 집합은 `EC2 Fleet Error` 이벤트를 Amazon EventBridge로 보냅니다. 오류 이벤트는 플릿에서 목표 용량을 이행하려는 시도를 차단합니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "69849a22-6d0f-d4ce-602b-b47c1c98240e",
    "detail-type": "EC2 Fleet Error",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-10-07T01:44:24Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-9bb19bc6-60d3-4fd2-ae47-d33e68eafa08"
    ],
    "detail": {
        "description": "m3.large, ami-00068cd7555f543d5, Linux/UNIX: IPv6 is not supported for the instance type 'm3.large'. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`iamFleetRoleInvalid`  
EC2 Fleet에 인스턴스를 시작하거나 종료하는 데 필요한 권한이 없습니다.

`allLaunchSpecsTemporarilyBlacklisted`  
유효한 구성이 없으며 인스턴스를 시작하려는 시도가 여러 번 실패했습니다. 자세한 내용은 이벤트 설명을 참조하세요.

`spotInstanceCountLimitExceeded`  
시작할 수 있는 스팟 인스턴스 수가 한도에 도달했습니다.

`spotFleetRequestConfigurationInvalid`  
구성이 유효하지 않습니다. 자세한 내용은 이벤트 설명을 참조하세요.

## 스팟 플릿 이벤트 유형
<a name="spot-fleet-event-types"></a>

스팟 플릿 이벤트 유형은 5가지입니다. 각 이벤트 유형에는 몇 가지 하위 유형이 있습니다.

**Topics**
+ [EC2 스팟 플릿 상태 변경](#spot-fleet-state-change)
+ [EC2 스팟 플릿 스팟 인스턴스 요청 변경](#spot-fleet-spot-instance-request-change)
+ [EC2 스팟 플릿 인스턴스 변경](#spot-fleet-instance-change)
+ [EC2 스팟 플릿 정보](#spot-fleet-info)
+ [EC2 스팟 플릿 오류](#spot-fleet-config-not-valid)

### EC2 스팟 플릿 상태 변경
<a name="spot-fleet-state-change"></a>

스팟 플릿의 상태가 변경될 때 스팟 플릿은 `EC2 Spot Fleet State Change` 이벤트를 Amazon EventBridge로 보냅니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "d1af1091-6cc3-2e24-203a-3b870e455d5b",
    "detail-type": "EC2 Spot Fleet State Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:57:06Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-4b6d274d-0cea-4b2c-b3be-9dc627ad1f55"
    ],
    "detail": {
        "sub-type": "submitted"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`active`  
스팟 플릿 요청이 확인되었으며 Amazon EC2가 실행 중인 인스턴스의 목표 개수를 유지하려고 시도하고 있습니다.

`cancelled`  
스팟 플릿 요청이 취소되었고 실행 중인 인스턴스가 없습니다. 스팟 플릿은 인스턴스가 종료되고 2일 후에 삭제됩니다.

`cancelled_running`  
스팟 플릿 요청이 취소되었고 추가 인스턴스를 시작하지 않습니다. 중단되거나 종료될 때까지 기존 인스턴스가 계속 실행됩니다. 그 요청은 모든 인스턴스가 중단 또는 종료될 때까지 계속 이 상태로 유지됩니다.

`cancelled_terminating`  
스팟 플릿 요청이 취소되었고 해당 인스턴스를 종료하는 중입니다. 그 요청은 모든 인스턴스가 종료될 때까지 계속 이 상태로 유지됩니다.

`expired`  
스팟 플릿 요청이 만료되었습니다. 요청이 `TerminateInstancesWithExpiration` 세트로 생성된 경우 후속 `terminated` 이벤트는 인스턴스가 종료되었음을 나타냅니다.

`modify_in_progress`  
스팟 집합 요청이 수정되고 있습니다. 그 요청은 수정이 완전히 처리될 때까지 계속 이 상태로 유지됩니다.

`modify_succeeded`  
스팟 플릿 요청이 수정되었습니다.

`submitted`  
스팟 플릿 요청을 평가 중이며 Amazon EC2에서 목표 개수의 인스턴스를 시작하기 위해 준비 중입니다.

`progress`  
스팟 플릿 요청이 이행되는 중입니다.

### EC2 스팟 플릿 스팟 인스턴스 요청 변경
<a name="spot-fleet-spot-instance-request-change"></a>

스팟 플릿은 플릿의 스팟 인스턴스 요청 상태가 변경될 때 `EC2 Spot Fleet Spot Instance Request Change` 이벤트를 Amazon EventBridge로 보냅니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "cd141ef0-14af-d670-a71d-fe46e9971bd2",
    "detail-type": "EC2 Spot Fleet Spot Instance Request Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:53:21Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-a98d2133-941a-47dc-8b03-0f94c6852ad1"
    ],
    "detail": {
        "spot-instance-request-id": "sir-a2w9gc5h",
        "description": "SpotInstanceRequestId sir-a2w9gc5h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`active`  
스팟 인스턴스 요청이 이행되었으며 요청에 연결된 스팟 인스턴스가 있습니다.

`cancelled`  
스팟 인스턴스 요청을 취소했거나 스팟 인스턴스 요청이 만료되었습니다.

`disabled`  
스팟 인스턴스를 중지했습니다.

`submitted`  
스팟 인스턴스 요청을 제출했습니다.

### EC2 스팟 플릿 인스턴스 변경
<a name="spot-fleet-instance-change"></a>

플릿의 인스턴스가 상태가 변경될 때 스팟 플릿은 `EC2 Spot Fleet Instance Change` 이벤트를 Amazon EventBridge로 보냅니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "11591686-5bd7-bbaa-eb40-d46529c2710f",
    "detail-type": "EC2 Spot Fleet Instance Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T07:25:02Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-c8a764a4-bedc-4b62-af9c-0095e6e3ba61"
    ],
    "detail": {
        "instance-id": "i-08b90df1e09c30c9b",
        "description": "{\"instanceType\":\"r4.2xlarge\",\"image\":\"ami-032930428bf1abbff\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1a\"}",
        "sub-type": "launched"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`launched`  
새 인스턴스가 시작되었습니다.

`terminated`  
인스턴스가 종료되었습니다.

`termination_notified`  
스케일 다운 중에 Amazon EC2에 의해 스팟 인스턴스가 종료될 때 플릿의 목표 용량이 감소(예: 목표 용량 4에서 목표 용량 3으로)되었을 때 인스턴스 종료 알림이 전송되었습니다.

### EC2 스팟 플릿 정보
<a name="spot-fleet-info"></a>

이행 중에 오류가 발생할 때 스팟 플릿은 `EC2 Spot Fleet Information` 이벤트를 Amazon EventBridge로 보냅니다. 정보 이벤트는 플릿에서 목표 용량을 이행하려는 시도를 차단하지 않습니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "73a60f70-3409-a66c-635c-7f66c5f5b669",
    "detail-type": "EC2 Spot Fleet Information",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-08T20:56:12Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-2531ea06-af18-4647-8757-7d69c94971b1"
    ],
    "detail": {
        "description": "r3.8xlarge, ami-032930428bf1abbff, Linux/UNIX, us-east-1a, Spot bid price is less than Spot market price $0.5291",
        "sub-type": "launchSpecUnusable"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`fleetProgressHalted`  
모든 시작 사양의 요금이 스팟 요금보다 낮기 때문에 모든 시작 사양의 요금이 유효하지 않습니다(모든 시작 사양이 `launchSpecUnusable` 이벤트 생성). 스팟 요금이 변경되면 시작 사양이 유효해질 수 있습니다.

`launchSpecTemporarilyBlacklisted`  
구성이 유효하지 않으며 인스턴스 시작하려는 시도가 여러 번 실패했습니다. 자세한 내용은 이벤트 설명을 참조하세요.

`launchSpecUnusable`  
시작 사양의 요금이 스팟 요금보다 낮기 때문에 시작 사양의 요금이 유효하지 않습니다.

`registerWithLoadBalancersFailed`  
로드 밸런서에 인스턴스를 등록하지 못했습니다. 자세한 내용은 이벤트 설명을 참조하세요.

### EC2 스팟 플릿 오류
<a name="spot-fleet-config-not-valid"></a>

이행 중에 오류가 발생할 때 스팟 플릿은 `EC2 Spot Fleet Error` 이벤트를 Amazon EventBridge로 보냅니다. 오류 이벤트는 플릿에서 목표 용량을 이행하려는 시도를 차단합니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "10adc4e7-675c-643e-125c-5bfa1b1ba5d2",
    "detail-type": "EC2 Spot Fleet Error",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T06:56:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-38725d30-25f1-4f30-83ce-2907c56dba17"
    ],
    "detail": {
        "description": "r4.2xlarge, ami-032930428bf1abbff, Linux/UNIX: The associatePublicIPAddress parameter can only be specified for the network interface with DeviceIndex 0. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

`sub-type`에 대해 가능한 값은 다음과 같습니다.

`iamFleetRoleInvalid`  
스팟 플릿에 인스턴스를 시작하거나 종료하는 데 필요한 권한이 없습니다.

`allLaunchSpecsTemporarilyBlacklisted`  
유효한 구성이 없으며 인스턴스를 시작하려는 시도가 여러 번 실패했습니다. 자세한 내용은 이벤트 설명을 참조하세요.

`spotInstanceCountLimitExceeded`  
시작할 수 있는 스팟 인스턴스 수가 한도에 도달했습니다.

`spotFleetRequestConfigurationInvalid`  
구성이 유효하지 않습니다. 자세한 내용은 이벤트 설명을 참조하세요.