

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 既存のアプリケーションからターゲット 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 マネジメントコンソール し、Amazon EMR コンソールを開きます。

1. 左側のナビゲーションペインで、EC2 の EMR でクラスターを選択します。

1. クラスターリストから:
   + 必要に応じて検索またはフィルターを使用してクラスターを検索します。
   + クローンを作成するクラスターの横にあるチェックボックスをオンにします。
   + クローンオプションがリストの上部に表示されます。[クローンを作成] を選択します。
   + クラスターにステップが設定されている場合は、「ステップを含める」を選択し、他のクラスター設定とともにステップのクローン作成を続行します。

1. 元のクラスターからコピーされた新しいクラスターの設定を確認します。

1. Amazon EMR リリースバージョンをターゲットバージョンに更新します。

1. コスト効率のベストプラクティスとして、ワークロードの需要に基づいて容量を自動的に調整するようにクラスターを設定するときは、自動スケーリングを有効にすることを検討してください。

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>"  
                    ]  
                }  
            }  
        }  
    ]  
}
```