

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

# CloudWatch Events AWS Elemental MediaPackage 를 사용한 모니터링
<a name="monitoring-cloudwatch-events"></a>

Amazon CloudWatch Events를 사용하면 AWS 서비스를 자동화하고 애플리케이션 가용성 문제 또는 오류 조건과 같은 시스템 이벤트에 자동으로 대응할 수 있습니다. AWS 서비스는 거의 실시간으로 CloudWatch Events에 이벤트를 전송합니다. 원하는 이벤트만 표시하도록 간단한 규칙을 작성한 후 규칙과 일치하는 이벤트 발생 시 실행할 자동화 작업을 지정할 수 있습니다. 자동으로 트리거할 수 있는 태스크는 다음과 같습니다.
+  AWS Lambda 함수 호출
+  AWS Systems Manager 실행 명령 호출
+ Amazon Kinesis Data Streams로 이벤트 릴레이
+  AWS Step Functions 상태 시스템 활성화

MediaPackage와 함께 CloudWatch Events를 사용하는 예로 최대 스트림 입력에 도달하면 Amazon SNS 주제를 알립니다. MediaPackage는 최선을 다해 이벤트를 내보냅니다.

CloudWatch Events의 규칙 생성에 대한 자세한 내용은 [Amazon CloudWatch Events 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/)를 참조하십시오.

MediaPackage가 내보내는 이벤트 목록을 보려면 [AWS Elemental MediaPackage 이벤트](cloudwatch-events-example.md) 단원을 참조하십시오.

# AWS Elemental MediaPackage 이벤트
<a name="cloudwatch-events-example"></a>

AWS Elemental MediaPackage 는 Amazon CloudWatch Events와 통합되어 채널 및 엔드포인트에 영향을 미치는 특정 이벤트를 알려줍니다. 각 이벤트는 [JSON(JavaScript Object Notation)](http://json.org)으로 표시되며, 이벤트 이름, 이벤트가 발생한 날짜와 시간, 영향 받는 채널 또는 엔드포인트 등을 포함합니다. MediaPackage는 최선을 다해 이벤트를 내보냅니다. CloudWatch Events를 사용하여 이러한 이벤트를 수집하고 AWS Lambda 함수, Amazon SNS 주제, Amazon SQS 대기열, Amazon Kinesis Data Streams의 스트림 또는 기본 제공 *대상*과 같은 하나 이상의 대상으로 라우팅하는 규칙을 설정할 수 있습니다.

다른 종류의 이벤트와 함께 CloudWatch Events를 사용하는 방법에 대한 자세한 내용은 [Amazon CloudWatch Events 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/)를 참조하십시오.

다음 주제에서는 MediaPackage에서 생성하는 CloudWatch Events에 대해 설명합니다.

**Topics**
+ [입력 알림 이벤트](#input-state-events)
+ [키 공급자 알림 이벤트](#key-provider-state-events)
+ [수집 작업 알림 이벤트](#hj-status-events)

## 입력 알림 이벤트
<a name="input-state-events"></a>

라이브 및 온디맨드 비디오(VOD) 콘텐츠에 대한 입력 알림 이벤트를 얻습니다. 이러한 이벤트는 MediaPackage 수집에 문제가 발생하면 사용자에게 알립니다. 수신할 수 있는 입력 알림 이벤트는 다음과 같습니다.
+ 최대 입력 스트림 초과 
+ 입력 전환
+ VOD 수집 상태 변경
+ VOD 재생 준비

다음 섹션에서는 이러한 각 이벤트에 대해 설명합니다.

** 최대 입력 스트림이 이벤트를 초과했음 **  
라이브 콘텐츠의 경우 MediaPackage의 채널이 입력 스트림 수 할당량을 초과합니다. 할당량에 대한 자세한 내용은 [의 할당량 AWS Elemental MediaPackage](quotas.md) 단원을 참조하십시오.  

**Example**  

```
{
   "id": "7bf73129-1428-4cd3-a780-95db273d1602",
   "detail-type": "MediaPackage Input Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2015-11-11T21:29:54Z",
   "region": "us-west-2",
   "resources":[
      "arn:aws:mediapackage:us-west-2:aws_account_id:channels/262ff182d46d4b399fcabea1364df682"
   ],
   "detail":{
      "event": "MaxIngestStreamsError",
      "message": "Parent Manifest [%s] has [23] streams, more than [20] allowed: (index_1.m3u8,index_2.m3u8,index_3.m3u8,index_4.m3u8,index_5.m3u8,index_6.m3u8,index_7.m3u8,index_8.m3u8,index_9.m3u8,index_10.m3u8,index_11.m3u8,index_12.m3u8,index_13.m3u8,index_14.m3u8,index_15.m3u8,index_16.m3u8,index_17.m3u8,index_18.m3u8,index_19.m3u8,index_20.m3u8,index_21.m3u8,index_22.m3u8,index_23.m3u8)"
   }
}
```

**입력 전환 이벤트**  
라이브 콘텐츠의 경우 MediaPackage가 엔드포인트 중 하나에 대한 입력을 전환합니다.  
한 이벤트는 5분 내에 전송됩니다. 입력이 5분 내에 여러 번 전환되는 경우(예를 들어, MediaPackage가 한 입력으로 전환된 다음 다시 다른 입력으로 전환되는 경우) 이벤트를 하나만 받습니다.  
입력 중복 및 입력이 전환되는 이유에 대한 자세한 내용은 [라이브 입력 중복 AWS Elemental MediaPackage 처리 흐름](what-is-flow-ir.md) 단원을 참조하십시오.  

**Example**  

```
{
   "id": "8f9b8e72-0b31-e883-f19c-aec84742f3ce",
   "detail-type": "MediaPackage Input Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2018-07-16T17:29:36Z",
   "region": "us-east-1",
   "resources":[
      "arn:aws:mediapackage:us-east-1:aws_account_id:origin_endpoints/82d6b9bc04cb4612b487963d6c8d0f1a"
   ],
   "detail":{
      "event": "InputSwitchEvent",
      "message": "Origin endpoint experienced an Input Switch Event",
      "EventDetails": {
        "Channel": "channel name",
        "PreviousIngestEndpoint": "endpoint uuid before input switch",
        "CurrentIngestEndpoint": "endpoint uuid after input switch",
      }
   }
}
```

**VOD 수집 상태 이벤트**  
온디맨드 비디오(VOD) 콘텐츠의 경우 MediaPackage의 자산 수집 상태가 변경됩니다. 다음과 같은 이벤트에 관한 알림을 받습니다.  
+ `IngestStart`
+ `IngestError`
+ `IngestComplete`

**Example**  

```
{
   "id": "8f9b8e72-0b31-e883-f19c-aec84742f3ce",
   "detail-type": "MediaPackage Input Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2019-05-03T17:29:36Z",
   "region": "us-west-2",
   "resources":[

      "arn:aws:mediapackage-vod:us-west-2:aws_account_id:assets/asset_name"

   ],
   "detail":{
      "event": "IngestComplete",
      "message": "message text"
   }
}
```

**VOD 재생 이벤트**  
VOD 콘텐츠의 경우 MediaPackage의 자산을 재생할 수 있습니다. 자산 수집이 완료된 시점과 자산을 재생할 수 있는 시점 사이에는 시간 차이가 있습니다. `VodAssetPlayable` 이벤트는 MediaPackage에서 이제 자산에 대한 재생 요청을 처리할 수 있음을 의미합니다.  
 패키징 그룹의 각 패키징 구성에 대한 개별 `VodAssetPlayable` 이벤트를 얻습니다. 예를 들어, 패키징 그룹에 DASH 패키징 구성 하나와 HLS 패키징 구성 하나가 포함된 경우 `VodAssetPlayable` 이벤트 두 개를 수신하게 됩니다. 하나는 DASH 패키징 구성에 대한 것이고, 다른 하나는 HLS 패키징 구성에 대한 것입니다.  

**Example**  

```
{
   "id": "81e896e4-d9e5-ec79-f82a-b4cf3246c567",
   "detail-type": "MediaPackage Input Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2019-11-03T21:46:00Z",
   "region": "us-west-2",
   "resources":[
      "arn:aws:mediapackage-vod:us-west-2:aws_account_id:assets/asset_id",
      "arn:aws:mediapackage-vod:us-west-2:aws_account_id:packaging_configuration/packaging_configuration_id"
   ],
   "detail":{
      "event": "VodAssetPlayable",
      "message": "Asset 'asset_id' is now playable for PackagingConfiguration 'packaging_configuration_id'",
      "packaging_configuration_id": "packaging_configuration_id",
      "manifest_urls":[
         "https://555555555555.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/b9cc115bf7f1a/b848dfb116920772aa69ba/a3c74b1cae6a451c/index.m3u8"
      ]
   }
}

{
    "id": "91e896e4-d9e5-ab80-f82a-b4cf3246c568",
    "detail-type": "MediaPackage Input Notification",
    "source": "aws.mediapackage",
    "account": "aws_account_id",
    "time": "2019-11-03T21:47:00Z",
    "region": "us-west-2",
    "resources":[
      "arn:aws:mediapackage-vod:us-west-2:aws_account_id:assets/asset_id",
      "arn:aws:mediapackage-vod:us-west-2:aws_account_id:packaging_configuration/packaging_configuration_id"
    ],
    "detail":{
      "event": "VodAssetPlayable",
      "message": "Asset 'asset_id' is now playable for PackagingConfiguration 'packaging_configuration_id'",
      "packaging_configuration_id": "packaging_configuration_id",
      "manifest_urls":[
          "https://111122223333.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/1234567890abc/021345abcdef6789012345/abcdef0123456789/index.mpd"
      ]
    }
}
```

## 키 공급자 알림 이벤트
<a name="key-provider-state-events"></a>

엔드포인트에서 콘텐츠 암호화를 사용하고 MediaPackage에서 키 공급자에 연결할 수 없는 경우 키 공급자 알림 이벤트를 얻습니다. DRM 및 암호화에 대한 자세한 내용은 [https://docs.aws.amazon.com/speke/latest/documentation/](https://docs.aws.amazon.com/speke/latest/documentation/) 단원을 참조하십시오.

**Example 라이브 키 공급자 알림 이벤트**  

```
{
   "id": "7bf73129-1428-4cd3-a780-98ds273d1602",
   "detail-type": "MediaPackage Key Provider Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2015-11-11T21:29:54Z",
   "region": "us-west-2",
   "resources":[
      "arn:aws:mediapackage:us-west-2:aws_account_id:origin_endpoints/endpoint_id"
   ],
   "detail":{
      "event": "KeyProviderError",
      "message": "message-text"
   }
}
```

**Example VOD 키 공급자 알림 이벤트**  

```
{
   "id": "7bf73129-1428-4cd3-a780-98ds273d1602",
   "detail-type": "MediaPackage Key Provider Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2015-11-11T21:29:54Z",
   "region": "us-west-2",
   "resources":[
      "arn:aws:mediapackage-vod:us-west-2:aws_account_id:packaging_configurations/packaging_group_name"
   ],
   "detail":{
      "event": "KeyProviderError",
      "message": "message-text"
   }
}
```

## 수집 작업 알림 이벤트
<a name="hj-status-events"></a>

live-to-VOD 자산을 생성하기 위해 라이브 스트림에서 클립을 내보내면 수집 작업 상태 이벤트를 얻습니다. MediaPackage는 수집 작업이 성공하거나 실패할 때 알림을 생성합니다. 수집 작업 및 Live-to-VOD 자산에 대한 자세한 내용은 [를 사용하여 live-to-VOD 자산 생성 AWS Elemental MediaPackage](ltov.md) 단원을 참조하십시오.

**Example 성공한 수집 작업 이벤트**  

```
{
   "id": "8f9b8e72-0b31-e883-f19c-aec84742f3ce",
   "detail-type": "MediaPackage HarvestJob Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2019-07-16T17:29:36Z",
   "region": "us-east-1",
   "resources":[
      "arn:aws:mediapackage:us-east-1:aws_account_id:harvest_jobs/harvest_job_id"
   ],
   "detail":{
      "harvest_job": {
          "id": "harvest_job_id",
          "arn": "arn:aws:mediapackage-vod:us-east-1:aws_account_id:harvest_jobs/harvest_job_id",
          "status": "SUCCEEDED",
          "origin_endpoint_id": "endpoint_id",
          "start_time": "2019-06-26T20:30:00-08:00",
          "end_time": "2019-06-26T21:00:00-08:00",
          "s3_destination": {
              "bucket_name": "s3_bucket_name",
              "manifest_key": "path/and/manifest_name/index.m3u8",
              "role_arn": "arn:aws:iam::aws_account_id:role/S3Access_role",
          },
          "created_at": "2019-06-26T21:03:12-08:00"
      }
   }
}
```

**Example 실패한 수집 작업 이벤트**  

```
{
   "id": "8f9b8e72-0b31-e883-f19c-aec84742f3ce",
   "detail-type": "MediaPackage HarvestJob Notification",
   "source": "aws.mediapackage",
   "account": "aws_account_id",
   "time": "2019-07-16T17:29:36Z",
   "region": "us-east-1",
   "resources":[
      "arn:aws:mediapackage:us-east-1:aws_account_id:harvest_jobs/harvest_job_id"
   ],
   "detail":{
      "harvest_job": {
          "id": "harvest_job_id",
          "arn": "arn:aws:mediapackage-vod:us-east-1:aws_account_id:harvest_jobs/harvest_job_id",
          "status": "FAILED",
          "origin_endpoint_id": "endpoint_id",
          "start_time": "2019-06-26T20:30:00-08:00",
          "end_time": "2019-06-26T21:00:00-08:00",
          "s3_destination": {
              "bucket_name": "s3_bucket_name",
              "manifest_key": "path/and/manifest_name/index.m3u8",
              "role_arn": "arn:aws:iam::aws_account_id:role/S3Access_role",
          },
          "created_at": "2019-06-26T21:03:12-08:00"
      },
      "message": "Message text"
   }
}
```

# 이벤트 알림 생성
<a name="cloudwatch-events-notification"></a>

Amazon CloudWatch Events 및 Amazon Simple Notification Service(SNS)을 사용하여 새로운 이벤트에 대한 알림을 받을 수 있습니다. CloudWatch Events에서 규칙은 알림을 받을 이벤트를 지정합니다. Amazon SNS에서 주제는 어떤 종류의 알림을 받을지 지정합니다. 이 섹션에서는에서 이벤트에 대한 주제 및 규칙을 생성하기 위한 개략적인 단계를 제공합니다 AWS Elemental MediaPackage. 주제 및 규칙에 자세한 내용은 다음을 참조하십시오.
+ *Amazon Simple Notification Service 개발자 가이드*의 [주제 생성](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#CreateTopic) 및 [주제 구독](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#SubscribeTopic)
+ *Amazon CloudWatch Events 사용 설명서*의 [Amazon CloudWatch Events 시작하기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CWE_GettingStarted.html)

**CloudWatch 이벤트의 알림을 생성하려면**

1. [Amazon SNS](https://console.aws.amazon.com/sns/v2/home)에 액세스하여 주제를 생성합니다. 주제에 나중에 알아보기 쉬운 표시 이름을 지정합니다.

1. 방금 생성한 주제를 구독합니다. 어떤 종류의 알림을 받을지 그리고 어디로 알림을 보낼지를 선택합니다. 예를 들어 이메일 알림의 경우 **이메일** 프로토콜을 선택하고 엔드포인트에 대한 알림을 받을 이메일 주소를 입력합니다.

1. [CloudWatch Events](https://console.aws.amazon.com/cloudwatch)를 액세스하고 **사용자 지정 이벤트 패턴**을 사용하는 규칙을 생성합니다. 패턴 미리 보기 공간에 다음을 입력합니다.

   ```
   {
     "source": [
       "aws.mediapackage"
     ],
     "detail-type": [
       "detail-type from event"
     ]
   }
   ```

   `detail-type`의 경우 이벤트의 `detail-type` 필드에 대한 값을 입력합니다. detail-type에 다음 값을 사용할 수 있습니다.
   + **MediaPackage Input Notification**
   + **MediaPackage Key Provider Notification**

   이벤트 유형에 대한 자세한 내용은 [AWS Elemental MediaPackage 이벤트](cloudwatch-events-example.md) 단원을 참조하십시오.  
**Example**  

   다음 규칙의 예에서는 모든 세부 정보 유형의 모든 이벤트에 대한 알림을 생성합니다.

   ```
   {
     "source": [
       "aws.mediapackage"
     ],
     "detail-type": [
       "MediaPackage Input Notification",
       "MediaPackage Key Provider Notification",
       "MediaPackage HarvestJob Notification"
     ]
   }
   ```

1. 방금 생성한 규칙에 대상을 추가합니다. **SNS 주제**를 선택한 후 1단계에서 생성한 주제를 선택합니다.

1. 규칙 세부 정보를 구성하고 표시 이름을 지정합니다. 규칙 사용을 시작하려면 활성화한 후에 저장합니다.