

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

# 기존 애플리케이션에서 대상 EMR 클러스터/EMR-S 애플리케이션 생성
<a name="emr-spark-upgrade-agent-target-cluster"></a>

소스 Spark 버전을 실행하는 EMR-EC2 클러스터가 이미 있는 경우 이를 복제하여 동일한 구성이지만 업데이트된 EMR 릴리스 버전으로 새 클러스터를 생성하여 업그레이드 프로세스 중에 검증 단계를 실행할 수 있습니다.

## 단계:
<a name="emr-spark-upgrade-agent-clone-cluster-steps"></a>

1. 에 로그인 AWS Management Console 하고 Amazon EMR 콘솔을 엽니다.

1. 왼쪽 탐색 창의 EMR on EC2에서 클러스터를 선택합니다.

1. 클러스터 목록에서 다음을 수행합니다.
   + 필요한 경우 검색 또는 필터를 사용하여 클러스터를 찾습니다.
   + 복제하려는 클러스터 옆의 확인란을 선택합니다.
   + 복제 옵션이 목록 상단에 나타납니다. 복제를 선택합니다.
   + 클러스터에 단계가 구성된 경우 단계 포함을 선택한 다음 계속을 선택하여 다른 클러스터 설정과 함께 단계를 복제합니다.

1. 원래 클러스터에서 복사된 새 클러스터의 설정을 검토합니다.

1. Amazon EMR 릴리스 버전을 대상 버전으로 업데이트합니다.

1. 비용 효율성을 위한 모범 사례로, 워크로드 수요에 따라 용량을 자동으로 조정하도록 클러스터를 구성할 때 Auto Scaling을 활성화하는 것이 좋습니다.

1. 구성에 만족하면 클러스터 생성을 선택하여 새 클러스터를 시작합니다.

1. 클러스터가 실행 중 상태에 도달할 때까지 기다렸다가 클러스터 ID를 기록해 둡니다. 업데이트된 애플리케이션을 검증하라는 메시지가 표시되면이 ID를 에이전트에 제공합니다.

1. 처음부터 새 클러스터를 생성하려면 EMR 설명서: [ https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html)참조하십시오.

## EMR Serverless 애플리케이션을 대상 릴리스 버전으로 복제
<a name="emr-spark-upgrade-agent-clone-serverless"></a>

EMR Serverless 애플리케이션을 다른 EMR 릴리스 버전의 새 애플리케이션에 복제하는 직접적인 방법은 없습니다. 대신 EMR Serverless SDK/CLI 또는 콘솔을 사용하여 새 애플리케이션을 생성하고 기존 애플리케이션의 구성을 재사용할 수 있습니다.

다음은 시작하기 위한 몇 가지 헬퍼 CLI 명령입니다.

```
aws emr-serverless get-application --application-id XXX > old-config.json  
cat old-config.json | jq '{  
  name: (.application.name + "<suffix to differentiate name from old application>"),  
  releaseLabel: "<target EMR release version>",  
  type: .application.type,  
  initialCapacity: .application.initialCapacity,  
  maximumCapacity: .application.maximumCapacity,  
  autoStartConfiguration: .application.autoStartConfiguration,  
  autoStopConfiguration: .application.autoStopConfiguration,  
  tags: .application.tags,  
  architecture: .application.architecture,  
  runtimeConfiguration: .application.runtimeConfiguration,  
  monitoringConfiguration: .application.monitoringConfiguration  
}' > new-config.json  
aws emr-serverless create-application --cli-input-json file://new-config.json
```

**참고:** 새 애플리케이션의 작업 실행 역할이 EMR Serverless가 역할을 수임하도록 허용하는지 확인합니다. 역할의 신뢰 정책을 검토합니다. 이전 애플리케이션에서 동일한 작업 실행 역할을 재사용하는 경우 아래와 같이 새 애플리케이션을 포함하도록 신뢰 정책을 업데이트합니다.

```
#Replace the old application id and new application id in the policy  
{  
    "Version": "2012-10-17",		 	 	  
    "Statement": [  
        {  
            "Sid": "ServerlessTrustPolicy",  
            "Effect": "Allow",  
            "Principal": {  
                "Service": "emr-serverless.amazonaws.com"  
            },  
            "Action": "sts:AssumeRole",  
            "Condition": {  
                "StringLike": {  
                    "aws:SourceArn": [  
                        "arn:aws:emr-serverless:us-east-1:<account>:/applications/<old application id>",  
                        "arn:aws:emr-serverless:us-east-1:<account>:/applications/<new application id>"  
                    ]  
                }  
            }  
        }  
    ]  
}
```