

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

# Amazon EMR
<a name="automation-ref-emr"></a>

 AWS Systems Manager Automation은 Amazon EMR용 사전 정의된 실행서를 제공합니다. 실행서에 대한 자세한 내용은 [실행서 작업](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html)을 참조하세요. 실행서 콘텐츠를 보는 방법에 대한 자세한 내용은 [실행서 콘텐츠 보기](automation-runbook-reference.md#view-automation-json)(을)를 참조하세요.

**Topics**
+ [`AWSSupport-AnalyzeEMRLogs`](automation-awssupport-analyzeemrlogs.md)
+ [`AWSSupport-DiagnoseEMRLogsWithAthena`](awssupport-diagnose-emr-logs-with-athena.md)

# `AWSSupport-AnalyzeEMRLogs`
<a name="automation-awssupport-analyzeemrlogs"></a>

 **설명** 

이 실행서는 Amazon EMR 클러스터에서 작업을 실행하는 동안 발생하는 오류를 식별하는 데 도움이 됩니다. 실행서는 파일 시스템에 정의된 로그 목록을 분석하고 미리 정의된 키워드 목록을 찾습니다. 이러한 로그 항목은 Amazon CloudWatch Events 이벤트를 생성하는 데 사용되므로 이벤트를 기반으로 필요한 조치를 취할 수 있습니다. 선택적으로, 실행서는 사용자가 선택한 Amazon CloudWatch Logs 로그 그룹에 로그 항목을 게시합니다. 이 실행서는 현재 로그 파일에서 다음과 같은 오류 및 패턴을 찾습니다.
+  container\$1out\$1of\$1memory – YARN 컨테이너의 메모리가 부족하여 실행 중인 작업이 실패할 수 있습니다.
+  yarn\$1nodemanager\$1health: CORE 또는 TASK 노드의 디스크 공간이 부족하여 작업을 실행할 수 없습니다.
+  node\$1state\$1change: MASTER 노드에서 CORE 또는 TASK 노드에 연결할 수 없습니다.
+  step\$1failure: EMR 단계가 실패했습니다.
+  no\$1core\$1nodes\$1running: 현재 실행 중인 CORE 노드가 없고 클러스터가 비정상입니다.
+  hdfs\$1missing\$1blocks: HDFS 블록이 누락되어 데이터가 손실될 수 있습니다.
+  hdfs\$1high\$1util: HDFS 사용률이 높아 작업 및 클러스터 상태에 영향을 미칠 수 있습니다.
+  instance\$1controller\$1restart: Instance-Controller 프로세스가 다시 시작되었습니다. 이 프로세스는 클러스터 상태를 유지하는 데 필수적입니다.
+  instance\$1controller\$1restart\$1legacy: Instance-Controller 프로세스가 다시 시작되었습니다. 이 프로세스는 클러스터 상태를 유지하는 데 필수적입니다.
+  high\$1load: High Load Average가 감지되어 노드 상태 보고에 영향을 미치거나 시간 초과 또는 속도 저하를 초래할 수 있습니다.
+  yarn\$1node\$1blacklisted: YARN이 실행 중인 작업에서 CORE 또는 TASK 노드를 블랙리스트에 올렸습니다.
+  yarn\$1node\$1lost: CORE 또는 TASK 노드가 YARN에 의해 손실된 것으로 표시되었습니다.연결 문제가 있을 수 있습니다.

 지정하는 인스턴스와 `ClusterID`(와)과 연결된 인스턴스는 AWS Systems Manager에 의해 관리되어야 합니다. 이 자동화를 한 번 실행하거나, 특정 시간 간격으로 실행되도록 자동화를 예약하거나, 자동화로 이전에 생성한 일정을 제거할 수 있습니다. 이 실행서는 Amazon EMR 릴리스 버전 5.20\$16.30을 지원합니다.

 [이 자동화 실행(콘솔)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-AnalyzeEMRLogs) 

**문서 유형**

자동화

**소유자**

Amazon

**플랫폼**

Linux, macOS, Windows 

**파라미터**
+ AutomationAssumeRole

  유형: 문자열

  설명: (선택 사항) 사용자를 대신하여 Systems Manager Automation을 통해 작업을 수행할 수 있도록 허용하는 AWS Identity and Access Management (IAM) 역할의 Amazon 리소스 이름(ARN)입니다. 역할을 지정하지 않은 경우, Systems Manager Automation에서는 이 실행서를 시작하는 사용자의 권한을 사용합니다.
+ ClusterID

  유형: 문자열

  설명: (필수) 분석하려는 노드 로그가 있는 클러스터의 ID입니다.
+ 연산

  유형: 문자열

  유효한 값: Run Once \$1 Schedule \$1 Remove Schedule 

  설명: (필수) 클러스터에서 수행할 작업입니다.
+ IntervalTime

  유형: 문자열

  유효한 값: 5 minutes \$1 10 minutes \$1 15 minutes

   설명: (선택 사항) 자동화 실행 사이의 시간입니다. 이 파라미터는 `Operation` 파라미터에 대해 `Schedule` 값을 지정하는 경우에만 적용할 수 있습니다.
+ LogToCloudWatchLogs

  유형: 문자열

  유효한 값: yes \$1 no

   설명: (선택 사항) 이 파라미터에 대해 `yes` 값을 지정하면 자동화가 `CloudWatchLogGroup` 파라미터에서 지정된 이름을 가진 CloudWatch Logs 로그 그룹을 생성하여 일치하는 로그 항목을 저장합니다.
+ CloudWatchLogGroup

  유형: 문자열

   설명: (선택 사항) 일치하는 로그 항목을 모두 저장하려는 CloudWatch Logs 로그 그룹의 이름입니다. 이 파라미터는 `LogToCloudWatchLogs` 파라미터에 대해 `yes` 값을 지정하는 경우에만 적용할 수 있습니다.
+ CreateLogInsightsDashboard

  유형: 문자열

  유효한 값: yes \$1 no

   설명: (선택 사항) `yes`(을)를 지정하면, 해당 내용이 아직 없는 경우 CloudWatch 대시보드가 생성됩니다. 이 파라미터는 `LogToCloudWatchLogs` 파라미터에 대해 `yes` 값을 지정하는 경우에만 적용할 수 있습니다.
+ CreateMetricFilters

  유형: 문자열

  유효한 값: yes \$1 no

   설명: (선택 사항) CloudWatch Logs 로그 그룹에 대한 지표 필터를 생성하려는 경우 `yes`(을)를 지정합니다. 이 파라미터는 `LogToCloudWatchLogs` 파라미터에 대해 `yes` 값을 지정하는 경우에만 적용할 수 있습니다.

**필수 IAM 권한**

실행서를 성공적으로 사용하려면 `AutomationAssumeRole` 파라미터에 다음 작업이 필요합니다.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetDocument` 
+  `ssm:ListDocuments` 
+  `ssm:DescribeAutomationExecutions` 
+  `ssm:DescribeAutomationStepExecutions` 
+  `ssm:GetAutomationExecution` 
+  `ssm:DescribeInstanceInformation` 
+  `ssm:ListCommandInvocations` 
+  `ssm:ListCommands` 
+  `ssm:SendCommand` 
+  `iam:CreateRole` 
+  `iam:DeleteRole` 
+  `iam:GetRolePolicy` 
+  `iam:PutRolePolicy` 
+  `iam:DeleteRolePolicy` 
+  `iam:passrole` 
+  `cloudformation:DescribeStacks` 
+  `cloudformation:DeleteStack` 
+  `cloudformation:CreateStack` 
+  `events:DeleteRule` 
+  `events:RemoveTargets` 
+  `events:PutTargets` 
+  `events:PutRule` 
+  `events:DescribeRule` 
+  `logs:DescribeLogGroups` 
+  `logs:CreateLogGroup` 
+  `logs:PutMetricFilter` 
+  `cloudwatch:PutDashboard` 
+  `elasticmapreduce:ListInstances` 
+  `elasticmapreduce:DescribeCluster` 

 **문서 단계** 
+  `aws:executeAwsApi` - `ClusterID` 파라미터에서 지정된 Amazon EMR 클러스터에 대한 정보를 수집합니다.
+  `aws:branch` - 입력을 기반으로 분기합니다.
  +  제공된 작업이 `Run Once` 또는 `Schedule`인 경우: 
    +  `aws:assertAwsResourceProperty` - 클러스터를 사용할 수 있는지 확인합니다.
    +  `aws:executeAwsApi` - 클러스터에서 실행 중인 모든 인스턴스의 ID를 수집합니다.
    +  `aws:assertAwsResourceProperty` - 클러스터의 모든 인스턴스에서 SSM 에이전트가 실행되고 있는지 확인합니다.
    +  `aws:branch` - 자동화를 한 번 실행하도록 지정했는지, 또는 일정에 따라 실행하도록 지정했는지에 따라 분기합니다.
      +  제공된 작업이 `Run Once`인 경우: 
        +  `aws:branch` - `LogToCloudWatchLogs` 파라미터에서 지정된 값을 기반으로 분기합니다.
          +  `LogToCloudWatchLogs` 값이 `yes`인 경우: 
            +  `aws:executeScript` - `CloudWatchLogGroup` 파라미터에서 지정된 이름을 가진 CloudWatch Logs 로그 그룹이 이미 존재하는지 확인합니다. 그렇지 않은 경우, 지정된 이름으로 그룹이 생성됩니다.
            +  `aws:branch` - `CreateMetricFilters` 파라미터에서 지정된 값을 기반으로 분기합니다.
              +  `CreateMetricFilters` 값이 `yes`인 경우: 
                +  `aws:executeAwsApi` - 각 지표 필터에 대해 12단계가 실행됩니다.
                +  `aws:branch` - `CreateLogInsightsDashboard` 파라미터에서 지정된 값을 기반으로 분기합니다.
                  +  `CreateLogInsightsDashboard` 값이 `yes`인 경우: 
                    +  `aws:executeAwsApi` - `CloudWatchLogGroup` 파라미터에서 지정된 동일한 이름을 사용하여 CloudWatch 대시보드를 생성합니다(해당 내용이 아직 없는 경우).
                  +  `CreateLogInsightsDashboard` 값이 `no`인 경우: 
                    +  `aws:runCommand` - 쉘 스크립트를 실행하여 클러스터의 각 인스턴스에서 로그 패턴을 찾습니다.
              +  `CreateMetricFilters` 값이 `no`인 경우: 
                +  `aws:branch` - `CreateLogInsightsDashboard` 파라미터에서 지정된 값을 기반으로 분기합니다.
                  +  `CreateLogInsightsDashboard` 값이 `yes`인 경우: 
                    +  `aws:executeAwsApi` - `CloudWatchLogGroup` 파라미터에서 지정된 동일한 이름을 사용하여 CloudWatch 대시보드를 생성합니다(해당 내용이 아직 없는 경우).
                  +  `CreateLogInsightsDashboard` 값이 `no`인 경우: 
                    +  `aws:runCommand` - 쉘 스크립트를 실행하여 클러스터의 각 인스턴스에서 로그 패턴을 찾습니다.
          +  `LogToCloudWatchLogs` 값이 `no`인 경우: 
            +  `aws:executeAwsApi` - 쉘 스크립트를 실행하여 클러스터의 각 인스턴스에서 로그 패턴을 찾습니다.
      +  제공된 작업이 `Schedule`인 경우: 
        +  `aws:createStack` - 이 실행서를 대상으로 하는 Amazon EventBridge 이벤트를 생성합니다.
  +  제공된 작업이 `Remove Schedule`인 경우: 
    +  `aws:executeAwsApi` - 클러스터에 일정이 있는지 확인합니다.
    +  `aws:deleteStack` - 일정을 삭제합니다.

 **출력** 

GetClusterInformation.ClusterName

GetClusterInformation.ClusterState

ListingClusterInstances.InstanceIDs

CreatingScheduleCloudFormationStack.StackStatus

RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus

CheckIfLogGroupExists.output

FindLogPatternOnEMRNode.CommandId

# `AWSSupport-DiagnoseEMRLogsWithAthena`
<a name="awssupport-diagnose-emr-logs-with-athena"></a>

**설명** 

실행`AWSSupport-DiagnoseEMRLogsWithAthena`서는 AWS Glue Data Catalog와 통합된 Amazon Athena를 사용하여 Amazon EMR 로그를 진단하는 데 도움이 됩니다. Amazon Athena는 특정 날짜 범위 또는 키워드 기반 검색에 대한 선택적 파라미터를 사용하여 컨테이너, 노드 로그 또는 둘 다에 대한 Amazon EMR 로그 파일을 쿼리하는 데 사용됩니다.

실행서는 기존 클러스터의 Amazon EMR 로그 위치를 자동으로 검색하거나 Amazon S3 로그 위치를 지정할 수 있습니다. 로그를 분석하려면 실행서는 다음과 같습니다.
+  AWS Glue 데이터베이스를 생성하고 Amazon EMR Amazon S3 로그 위치에서 Amazon Athena Data Definition Language(DDL) 쿼리를 실행하여 클러스터 로그 및 알려진 문제 목록에 대한 테이블을 생성합니다. Amazon S3 
+ 데이터 조작 언어(DML) 쿼리를 실행하여 Amazon EMR 로그에서 알려진 문제 패턴을 검색합니다. 쿼리는 감지된 문제 목록, 발생 횟수 및 Amazon S3 파일 경로별로 일치하는 키워드 수를 반환합니다.
+ 결과는 접두사 아래에 지정한 Amazon S3 버킷에 업로드됩니다`saw_diagnose_EMR_known_issues`.
+ 실행서는 사전 정의된 하위 집합에서 가져온 Amazon 지식 센터(KC) 문서에 대한 조사 결과, 권장 사항 및 참조를 강조 표시하여 Amazon Athena 쿼리 결과를 반환합니다.
+  완료 또는 실패 시 Amazon S3 버킷에 업로드된 AWS Glue 데이터베이스 및 알려진 문제 파일이 삭제됩니다.

 **어떻게 작동하나요?**

 는 Amazon Athena를 사용하여 Amazon EMR 로그를 `AWSSupport-DiagnoseEMRLogsWithAthena` 분석하여 오류를 감지하고 조사 결과, 권장 사항 및 관련 지식 센터 문서를 강조 표시합니다.

실행서는 다음 단계를 수행합니다.
+ 클러스터 ID를 사용하여 Amazon EMR 클러스터 로그 위치를 가져오거나 Amazon S3 위치를 입력하여 로그 위치 및 크기를 검색합니다.
+ 로그 위치 크기를 기준으로 Athena 예상 비용을 제공합니다.
+ Athena 쿼리를 실행하고 다음 단계를 계속하기 전에 지정된 IAM 보안 주체에게 승인을 요청하여 승인을 받습니다.
+ 알려진 문제를 지정된 Amazon S3 버킷에 업로드하고 AWS Glue 데이터베이스와 테이블을 생성합니다.
+ Amazon EMR 로그 데이터에 대해 Athena 쿼리를 실행합니다. 쿼리는 날짜 범위, 키워드, 두 기준을 기준으로 검색하거나 제공된 입력을 기반으로 필터 없이 실행할 수 있습니다.
+ 결과를 분석하여 조사 결과, 권장 사항 및 관련 KC 문서를 강조 표시합니다.
+ Amazon Athena DML 쿼리 결과에 대한 출력 링크입니다.
+ 생성된 데이터베이스, 테이블 및 업로드된 알려진 문제를 제거하여 환경을 정리합니다.

**문서 유형**

자동화

**소유자**

Amazon

**플랫폼**

/

AutomationAssumeRole 파라미터를 실행서를 성공적으로 사용하려면 다음 작업이 필요합니다.
+ athena:GetQueryExecution
+ athena:StartQueryExecution
+ athena:GetPreparedStatement
+ athena:CreatePreparedStatement
+ glue:GetDatabase
+ glue:CreateDatabase
+ glue:DeleteDatabase
+ glue:CreateTable
+ glue:GetTable
+ glue:DeleteTable 
+ elasticmapreduce:DescribeCluster
+ s3:ListBucket
+ s3:GetBucketVersioning
+ s3:ListBucketVersions
+ s3:GetBucketPublicAccessBlock
+ s3:GetBucketPolicyStatus
+ s3:GetObject
+ s3:GetBucketLocation
+ 요금:GetProducts
+ 요금:GetAttributeValues
+ 요금:DescribeServices
+ 요금:ListPriceLists

**중요**  
 이 자동화에 필요한 리소스에 대한 액세스를 제한하려면 SSM 서비스를 신뢰하는 IAM 역할에 다음 정책을 연결합니다. 파티션, 리전 및 계정을 실행서가 실행되는 파티션, 리전 및 계정 번호의 적절한 값으로 바꿉니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:DescribeCluster",
                "glue:GetDatabase",
                "athena:GetQueryExecution",
                "athena:StartQueryExecution",
                "athena:GetPreparedStatement",
                "athena:CreatePreparedStatement",
                "s3:ListBucket",
                "s3:GetBucketVersioning",
                "s3:ListBucketVersions",
                "s3:GetBucketPublicAccessBlock",
                "s3:GetBucketPolicyStatus",
                "s3:GetObject",
                "s3:GetBucketLocation",
                "pricing:GetProducts",
                "pricing:GetAttributeValues",
                "pricing:DescribeServices",
                "pricing:ListPriceLists"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RestrictPutObjects",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::*/*/results/*",
                "arn:aws:s3:::*/*/saw_diagnose_emr_known_issues/*"
            ]
        },
        {
            "Sid": "RestrictDeleteAccess",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:DeleteObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::*/*/saw_diagnose_emr_known_issues/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabase",
                "glue:CreateDatabase",
                "glue:DeleteDatabase"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:database/saw_diagnose_emr_database_*",
                "arn:aws:glue:us-east-1:111122223333:table/saw_diagnose_emr_database_*/*",
                "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/saw_diagnose_emr_database_*/*",
                "arn:aws:glue:us-east-1:111122223333:catalog"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:CreateTable",
                "glue:GetTable",
                "glue:DeleteTable"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:table/saw_diagnose_emr_database_*/saw_diagnose_emr_known_issues",
                "arn:aws:glue:us-east-1:111122223333:table/saw_diagnose_emr_database_*/saw_diagnose_emr_logs_table",
                "arn:aws:glue:us-east-1:111122223333:table/saw_diagnose_emr_database_*/j_*",
                "arn:aws:glue:us-east-1:111122223333:database/saw_diagnose_emr_database_*",
                "arn:aws:glue:us-east-1:111122223333:catalog"
            ]
        }
    ]
}
```

------

 **지침** 

다음 단계에 따라 자동화를 구성합니다.

1.  AWS Systems Manager 문서의에서 [AWSSupport-DiagnoseEMRLogsWithAthena](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-DiagnoseEMRLogsWithAthena/description)를 탐색합니다.

1. Execute automation(자동화 실행)을 선택합니다.

1. 입력 파라미터의 경우, 다음 내용을 입력합니다.
   + **AutomationAssumeRole(선택 사항):**

     Systems Manager Automation이 사용자를 대신하여 작업을 수행하도록 허용하는 (IAM) 역할의 Amazon 리소스 이름 AWS Identity and Access Management (ARN)입니다. 역할을 지정하지 않은 경우, Systems Manager Automation에서는 이 실행서를 시작하는 사용자의 권한을 사용합니다.
   + **ClusterID(필수):**

     Amazon EMR 클러스터 ID입니다.
   + **S3LogLocation(선택 사항):**

     Amazon S3 Amazon EMR 로그 위치입니다. 경로 스타일 URL Amazon S3 위치를 입력합니다. 예: `s3://amzn-s3-demo-bucket/myfolder/j-1K48XXXXXXHCB/`. Amazon EMR 클러스터가 `30` 일 이상 종료된 경우이 파라미터를 제공합니다.
   + **S3BucketName(필수):**

      알려진 문제 목록과 Amazon Athena 쿼리 출력을 업로드하는 Amazon Amazon S3 버킷 이름입니다. 버킷에는 [퍼블릭 액세스 차단이 활성화되어](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html) 있어야 하며 Amazon EMR 클러스터와 동일한 AWS 리전 및 계정에 있어야 합니다.
   + **승인자(필수):**

     작업을 승인하거나 거부할 수 있는 AWS 인증된 보안 주체의 목록입니다. 사용자 이름, 사용자 ARN, IAM 역할 ARN 또는 IAM 수임 역할 ARN 형식 중 하나를 사용하여 보안 주체를 지정할 수 있습니다. 최대 승인자자 수는 10명입니다.
   + **FetchNodeLogsOnly(선택 사항):**

      로 설정하면 자동화`true`가 Amazon EMR 애플리케이션 컨테이너 로그를 진단합니다. 기본값은 `false`입니다.
   + **FetchContainersLogsOnly(선택 사항):**

      로 설정하면 자동화`true`가 Amazon EMR 컨테이너 로그를 진단합니다. 기본값은 `false`입니다.
   + **EndSearchDate(선택 사항):**

      로그 검색의 종료 날짜입니다. 제공된 경우 자동화는 지정된 날짜까지 YYYY-MM-DD 형식으로 생성된 로그만 검색합니다(예: `2024-12-30`).
   + **DaysToCheck(선택 사항):**

      `EndSearchDate`이 제공된 경우이 파라미터는 지정된에서 로그를 소급해서 검색할 일수를 결정하는 데 필요합니다`EndSearchDate`. 최대값은 `30` 일입니다. 기본값은 `1`입니다.
   + **SearchKeywords(선택 사항):**

      로그에서 검색할 키워드 목록으로, 쉼표로 구분됩니다. 키워드에는 작은따옴표나 큰따옴표를 사용할 수 없습니다.  
![\[Input parameters form for AWS Systems Manager Automation with various fields and options.\]](http://docs.aws.amazon.com/ko_kr/systems-manager-automation-runbooks/latest/userguide/images/awssupport-diagnose-emr-logs-with-athena_input_parameters.png)

1. **실행**을 선택합니다.

1. 자동화가 시작됩니다.

1. 문서는 다음 단계를 수행합니다.
   + **getLogLocation:**

     지정된 Amazon EMR 클러스터 ID를 쿼리하여 Amazon S3 로그 위치를 검색합니다. 자동화가 Amazon EMR 클러스터 ID에서 로그 위치를 쿼리할 수 없는 경우 실행서는 `S3LogLocation` 입력 파라미터를 사용합니다.
   + **branchOnValidLog:**

     Amazon EMR 로그 위치를 확인합니다. 위치가 유효한 경우 Amazon EMR 로그에서 쿼리를 실행할 때 Amazon Athena 잠재적 비용을 추정합니다.
   + **estimateAthenaCosts:**

     Amazon EMR 로그의 크기를 결정하고 로그 데이터 세트에서 Athena 스캔을 실행하기 위한 예상 비용을 제공합니다. 비상업적 리전(비AWS 파티션)의 경우이 단계에서는 비용을 추정하지 않고 로그 크기만 제공합니다. 비용은 지정된 리전의 Athena 요금 설명서를 사용하여 계산할 수 있습니다.
   + **approveAutomation:**

     지정된 IAM 보안 주체의 승인이 자동화의 다음 단계를 진행할 때까지 기다립니다. 승인 알림에는 Amazon EMR 로그에서 Amazon Athena 스캔의 예상 비용과 자동화에서 프로비저닝되는 리소스에 대한 세부 정보가 포함됩니다.
   + **uploadKnownIssuesExecuteAthenaQueries:**

     `S3BucketName` 파라미터에 지정된 Amazon S3 버킷에 미리 정의된 알려진 문제를 업로드합니다. AWS Glue 데이터베이스 및 테이블을 생성합니다. 입력 파라미터를 기반으로 AWS Glue 데이터베이스에서 Amazon Athena 쿼리를 실행합니다.
   + **getQueryExecutionStatus:**

     Amazon Athena 쿼리 실행이 `SUCCEEDED` 상태가 될 때까지 기다립니다. Amazon Athena DML 쿼리는 Amazon EMR 클러스터 로그에서 오류 및 예외를 검색합니다.
   + **analyzeAthenaResults:**

     Amazon Athena 결과를 분석하여 사전 정의된 매핑 세트에서 가져온 조사 결과, 권장 사항 및 지식 센터(KC) 문서를 제공합니다.
   + **getAnalyzeResultsQuery1ExecutionStatus:**

     쿼리 실행이 `SUCCEEDED` 상태가 될 때까지 기다립니다. Amazon Athena DML 쿼리는 이전 DML 쿼리의 결과를 분석합니다. 이 분석 쿼리는 해결 방법 및 KC 문서와 일치하는 예외를 반환합니다.
   + **getAnalyzeResultsQuery2ExecutionStatus:**

     쿼리 실행이 `SUCCEEDED` 상태가 될 때까지 기다립니다. Amazon Athena DML 쿼리는 이전 DML 쿼리의 결과를 분석합니다. 이 분석 쿼리는 각 Amazon S3 로그 경로에서 감지된 예외/오류 목록을 반환합니다.
   + **printAthenaQueriesMessage:**

     Amazon Athena DML 쿼리 결과에 대한 링크를 인쇄합니다.
   + **cleanupResources:**

     생성된 AWS Glue 데이터베이스를 삭제하고 Amazon EMR 로그 버킷에서 생성된 알려진 문제 파일을 삭제하여 리소스를 정리합니다.

1. 완료되면 출력 섹션에서 실행의 자세한 결과를 검토합니다.

   **출력은 Athena 쿼리 결과에 대한 세 가지 링크를 제공합니다.**
   + Amazon EMR 클러스터 로그에서 발견된 모든 오류 및 자주 발생한 예외 목록과 해당 로그 위치(Amazon S3 접두사).
   + 문제 해결에 도움이 되는 권장 해결 방법 및 KC 문서와 함께 Amazon EMR 로그에서 일치하는 고유한 알려진 예외의 요약입니다.
   + 추가 진단을 지원하기 위해 Amazon S3 로그 경로에서 특정 오류 및 예외가 나타나는 위치에 대한 세부 정보입니다.  
![\[Output section showing query links for exception summaries and analysis in AWS logs.\]](http://docs.aws.amazon.com/ko_kr/systems-manager-automation-runbooks/latest/userguide/images/awssupport-diagnose-emr-logs-with-athena_outputs.png)

 **참조** 

Systems Manager Automation
+ [이 자동화 실행(콘솔)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-DiagnoseEMRLogsWithAthena/description)
+ [자동화 실행](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Automation 설정](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support Automation Workflows 랜딩 페이지](https://aws.amazon.com/premiumsupport/technology/saw/)

AWS 서비스 설명서
+ 자세한 내용은 [Amazon EMR 클러스터 문제 해결을 참조하세요](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-troubleshoot.html).