

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

# Amazon EMR on EKS ジョブ実行の管理
<a name="emr-eks-jobs-manage"></a>

以下のセクションでは、Amazon EMR on EKS ジョブ実行を管理するのに役立つトピックについて説明します。これには、 を使用する際のジョブ実行パラメータの設定 AWS CLI、ログデータの保存方法の設定、クエリを実行するための Spark SQL スクリプトの実行、ジョブの実行状態の理解、ジョブのモニタリング方法の把握が含まれます。データを処理するためにジョブ実行を設定して完了する場合は、通常、これらのトピックを順番に実行します。

**Topics**
+ [を使用したジョブ実行の管理 AWS CLI](emr-eks-jobs-CLI.md)
+ [StartJobRun API による Spark SQL スクリプトの実行](emr-eks-jobs-spark-sql-parameters.md)
+ [ジョブ実行状態](emr-eks-jobs-states.md)
+ [Amazon EMR コンソールでジョブを表示する](emr-eks-jobs-console.md)
+ [ジョブ実行時の一般的なエラー](emr-eks-jobs-error.md)

# を使用したジョブ実行の管理 AWS CLI
<a name="emr-eks-jobs-CLI"></a>

このトピックでは、 AWS Command Line Interface () を使用してジョブ実行を管理する方法について説明しますAWS CLI。セキュリティパラメータ、ドライバー、さまざまなオーバーライド設定などのプロパティについて詳しく説明します。また、ログ記録を設定するさまざまな方法を扱ったサブトピックも含まれています。

**Topics**
+ [ジョブ実行を構成するためのオプション](#emr-eks-jobs-parameters)
+ [Amazon S3 ログを使用するようにジョブ実行を設定する](emr-eks-jobs-s3.md)
+ [Amazon CloudWatch Logs を使用するようにジョブ実行を設定する](emr-eks-jobs-cloudwatch.md)
+ [ジョブの実行のリスト](#emr-eks-jobs-list)
+ [ジョブ実行の説明](#emr-eks-jobs-describe)
+ [ジョブ実行をキャンセルする](#emr-eks-jobs-cancel)

## ジョブ実行を構成するためのオプション
<a name="emr-eks-jobs-parameters"></a>

以下のオプションを使用して、ジョブ実行パラメータを設定します。
+ `--execution-role-arn`: ジョブの実行に使用する IAM ロールを指定する必要があります。詳細については、「[Amazon EMR on EKS でのジョブ実行ロールの使用](iam-execution-role.md)」を参照してください。
+ `--release-label`: Amazon EMR バージョン 5.32.0 および 6.2.0 以降を使用して Amazon EMR on EKS をデプロイできます。Amazon EMR on EKS は、以前の Amazon EMR リリースバージョンではサポートされていません。詳細については、「[Amazon EMR on EKS リリース](emr-eks-releases.md)」を参照してください。
+ `--job-driver`: Job ドライバーは、メインジョブに入力を提供するために使用されます。これは、実行するジョブタイプの値の 1 つだけを渡すことができるユニオンタイプフィールドです。サポートされるジョブタイプには次のものが含まれます。
  + Spark 送信ジョブ - Spark 送信を通じてコマンドを実行するために使用されます。このジョブタイプを使用して、Scala、PySpark、SparkR、SparkSQL およびその他のサポートされているジョブを Spark 送信を通じて 実行できます。このジョブタイプには以下のパラメータがあります。
    + エントリポイント - これは、実行するメイン jar/py ファイルへの HCFS (Hadoop 互換ファイルシステム) 参照です。
    + EntryPointArguments - これはメイン jar/pyファイルに渡す引数の配列です。これらのパラメータの読み取りは、エントリーポイントコードを使用して処理する必要があります。配列の各引数は、カンマで区切る必要があります。EntryPointArguments には、()、\$1\$1、[] などの角括弧や丸括弧を含めることはできません。
    + SparkSubmitParameters - これらは、ジョブに送信する追加の Spark パラメータです。このパラメータを使用して、ドライバーメモリや —conf や —class などのエグゼキューターの数など、デフォルトの Spark プロパティを上書きします。詳細については、[spark-submit を使用したアプリケーションの起動](https://spark.apache.org/docs/latest/submitting-applications.html#launching-applications-with-spark-submit)を参照してください。
  + Spark SQL ジョブ - Spark SQL を使用して SQL クエリファイルを実行するために使用されます。このジョブタイプを使用して SparkSQL ジョブを実行できます。このジョブタイプには以下のパラメータがあります。
    + エントリポイント - これは、実行する SQL クエリファイルへの HCFS (Hadoop 互換ファイルシステム) 参照です。

      Spark SQL ジョブに使用できるその他の Spark パラメータのリストについては、「[StartJobRun API による Spark SQL スクリプトの実行](emr-eks-jobs-spark-sql-parameters.md)」を参照してください。
+ `--configuration-overrides`: 設定オブジェクトを提供することで、アプリケーションのデフォルト設定を上書きできます。短縮構文を使用して、設定を指定したり、JSON ファイルの設定オブジェクトを参照したりできます。設定オブジェクトは、分類、プロパティ、オプションの入れ子になっている設定で構成されます。プロパティは、そのファイル内で上書きする設定で構成されます。単一の JSON オブジェクトで、複数のアプリケーションに複数の分類を指定できます。Amazon EMR リリースバージョンによって使用可能な設定分類は異なります。Amazon EMR の各リリースバージョンで使用可能な設定分類の一覧については、[Amazon EMR on EKS リリース](emr-eks-releases.md) を参照してください。

  アプリケーションの上書きと Spark 送信パラメータで同じ設定を渡すと、Spark 送信パラメータが優先されます。完全な設定優先順位リストは、優先順位の最も高いものから最も低いものの順に表示されます。
  + `SparkSession` 作成時に提供される構成。
  + `—conf` を使用して `sparkSubmitParameters` の一部として提供される構成。
  + アプリケーションの上書きの一部として提供される設定。
  + リリース用に Amazon EMR によって選択された最適化された設定。
  + アプリケーションのデフォルトのオープンソース構成。

  Amazon CloudWatch または Amazon S3 を使用してジョブの実行をモニタリングするには、CloudWatch の設定の詳細を指定する必要があります。詳細については、「[Amazon S3 ログを使用するようにジョブ実行を設定する](emr-eks-jobs-s3.md)」および「[Amazon CloudWatch Logs を使用するようにジョブ実行を設定する](emr-eks-jobs-cloudwatch.md)」を参照してください。S3 バケットまたは CloudWatch Logs グループが存在しない場合、Amazon EMR はバケットにログをアップロードする前にそれを作成します。
+ Kubernetes 設定オプションのその他のリストについては、[Kubernetes の Spark プロパティ](https://spark.apache.org/docs/latest/running-on-kubernetes.html#configuration)を参照してください。

  以下の Spark 設定はサポートされていません。
  + `spark.kubernetes.authenticate.driver.serviceAccountName`
  + `spark.kubernetes.authenticate.executor.serviceAccountName`
  + `spark.kubernetes.namespace`
  + `spark.kubernetes.driver.pod.name`
  + `spark.kubernetes.container.image.pullPolicy`
  + `spark.kubernetes.container.image`
**注記**  
カスタマイズされた Docker イメージに `spark.kubernetes.container.image` を使用できます。詳細については、「[Amazon EMR on EKS の Docker イメージのカスタマイズ](docker-custom-images.md)」を参照してください。

# Amazon S3 ログを使用するようにジョブ実行を設定する
<a name="emr-eks-jobs-s3"></a>

ジョブの進行状況をモニタリングし、障害のトラブルシューティングをできるようにするには、Amazon S3、Amazon CloudWatch Logs、またはその両方にログ情報を送信するようにジョブを設定する必要があります。このトピックは、Amazon EMR on EKS で起動したジョブで Amazon S3 へのアプリケーションログの発行を開始するのに役立ちます。

**S3 ログ IAM ポリシー**

ジョブが Amazon S3 にログデータを送信できるようにするには、ジョブ実行ロールのアクセス許可ポリシーに次のアクセス許可を含める必要があります。*amzn-s3-demo-logging-bucket* をログ記録バケットの名前に置き換えます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket",
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Sid": "AllowS3Putobject"
    }
  ]
}
```

------

**注記**  
Amazon EMR on EKS は、Amazon S3 バケットを作成することもできます。Amazon S3 バケットが利用できない場合は、IAM ポリシーに `“s3:CreateBucket”` アクセス許可を含めてください。

Amazon S3 にログを送信するための適切なアクセス許可を実行ロールに付与した後、「[を使用したジョブ実行の管理 AWS CLI](emr-eks-jobs-CLI.md)」に示すように、`start-job-run` リクエストの `monitoringConfiguration` セクションで `s3MonitoringConfiguration` が渡されると、ログデータは次の Amazon S3 の場所に送信されます。
+ 送信者ログ -/*logUri*/*virtual-cluster-id*/jobs/*job-id*/containers/*pod-name*/(stderr.gz/stdout.gz)
+ ドライバーログ - *logUri*/*virtual-cluster-id*/jobs/*job-id*/containers/*spark-application-id*/spark-*job-id*-driver/(stderr.gz/stdout.gz)
+ エグゼキュターログ - /*logUri*/*virtual-cluster-id*/jobs/*job-id*/containers/*spark-application-id*/*executor-pod-name*/(stderr.gz/stdout.gz)

# Amazon CloudWatch Logs を使用するようにジョブ実行を設定する
<a name="emr-eks-jobs-cloudwatch"></a>

ジョブの進行状況をモニタリングし、障害のトラブルシューティングを行うには、Amazon S3、Amazon CloudWatch Logs、またはその両方にログ情報を送信するようにジョブを設定する必要があります。このトピックは、Amazon EMR on EKS で起動されたジョブでの CloudWatch Logs の使用開始に役立ちます。CloudWatch Logs について詳しくは、Amazon CloudWatch ユーザーガイドの[ログファイルのモニタリング](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html)を参照してください。

**CloudWatch Logs IAM ポリシー**

ジョブが CloudWatch Logs にログデータを送信するには、ジョブ実行ロールのアクセス許可ポリシーに次のアクセス許可を含める必要があります。*my\$1log\$1group\$1name* と *my\$1log\$1stream\$1prefix* を、それぞれ CloudWatch Logs グループとログストリームの名前に置き換えます。実行ロール ARN に適切なアクセス許可がある限り、Amazon EMR on EKS は、ロググループとログストリームが存在しない場合に作成します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "arn:aws:logs:*:*:*"
      ],
      "Sid": "AllowLOGSCreatelogstream"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:my_log_group_name:log-stream:my_log_stream_prefix/*"
      ],
      "Sid": "AllowLOGSPutlogevents"
    }
  ]
}
```

------

**注記**  
Amazon EMR on EKS はログストリームを作成することもできます。ログストリームが存在しない場合は、IAM ポリシーに `"logs:CreateLogGroup"` アクセス許可を含める必要があります。

実行ロールに適切なアクセス許可を付与した後、「[を使用したジョブ実行の管理 AWS CLI](emr-eks-jobs-CLI.md)」に示すように、`start-job-run` リクエストの `monitoringConfiguration` セクションで `cloudWatchMonitoringConfiguration` が渡されると、アプリケーションはそのログデータを CloudWatch Logs に送信します。

`StartJobRun` API で、*log\$1group\$1name* は CloudWatch のロググループ名であり、*log\$1stream\$1prefix* は CloudWatch のログストリーム名のプレフィックスです。これらのログは AWS マネジメントコンソールで表示および検索できます。
+ 送信者ログ - *logGroup*/*logStreamPrefix*/*virtual-cluster-id*/jobs/*job-id*/containers/*pod-name*/(stderr/stdout)
+ ドライバーログ - *logGroup*/*logStreamPrefix*/*virtual-cluster-id*/jobs/*job-id*/containers/*spark-application-id*/spark-*job-id*-driver/(stderrstdout)
+ エグゼキュターログ - *logGroup*/*logStreamPrefix*/*virtual-cluster-id*/jobs/*job-id*/containers/*spark-application-id*/*executor-pod-name*/(stderr/stdout)

## ジョブの実行のリスト
<a name="emr-eks-jobs-list"></a>

次の例に示すように、`list-job-run` を実行してジョブ実行の状態を表示できます。

```
aws emr-containers list-job-runs --virtual-cluster-id <cluster-id>
```

## ジョブ実行の説明
<a name="emr-eks-jobs-describe"></a>

次の例に示すように、`describe-job-run` を実行すると、ジョブの状態、状態の詳細、ジョブ名など、ジョブの詳細を取得できます。

```
aws emr-containers describe-job-run --virtual-cluster-id cluster-id --id job-run-id
```

## ジョブ実行をキャンセルする
<a name="emr-eks-jobs-cancel"></a>

次の例に示すように、`cancel-job-run` を実行して実行中のジョブをキャンセルできます。

```
aws emr-containers cancel-job-run --virtual-cluster-id cluster-id --id job-run-id
```

# StartJobRun API による Spark SQL スクリプトの実行
<a name="emr-eks-jobs-spark-sql-parameters"></a>

Amazon EMR on EKS リリース 6.7.0 以降には Spark SQL ジョブドライバーが含まれているため、`StartJobRun` API を使用して Spark SQL スクリプトを実行できます。SQL エントリポイントファイルを提供することで、既存の Spark SQL スクリプトを変更することなく、`StartJobRun` API を使用して Amazon EMR on EKS で Spark SQL クエリを直接実行できます。以下の表は、StartJobRun API を使用して Spark SQL ジョブでサポートされている Spark パラメータの一覧です。

Spark SQL ジョブに送信するパラメータは、以下の Spark パラメータから選択できます。これらのパラメータを使用して、Spark プロパティのデフォルトを上書きします。


| オプション | 説明 | 
| --- | --- | 
|  --name NAME  | アプリケーション名 | 
| --jars JARS | ドライバーと実行クラスパスに含める jar のカンマ区切りリスト。 | 
| --packages | ドライバーとエグゼキュータークラスパスに含める jar の Maven 座標のカンマ区切りリスト。 | 
| --exclude-packages | –packages で提供される依存関係を解決する際に除外して、依存関係の競合を回避する groupId:artifactId のカンマ区切りリスト。 | 
| --repositories | —packages で与えられた Maven 座標を検索するための追加のリモートリポジトリのカンマ区切りリスト。 | 
| --files FILES | 各エグゼキューターの作業ディレクトリに配置されるファイルのカンマ区切りリスト。 | 
| --conf PROP=VALUE | Spark 設定プロパティ。 | 
| --properties-file FILE | 追加プロパティを読み込むファイルへのパス。 | 
| --driver-memory MEM | ドライバー用メモリ。デフォルト 1024 MB。 | 
| --driver-java-options | ドライバーに渡す追加の Java オプション。 | 
| --driver-library-path | ドライバーに渡す追加のライブラリパスエントリ。 | 
| --driver-class-path | ドライバーに渡す追加のクラスパスエントリ。 | 
| --executor-memory MEM | エグゼキューターあたりのメモリ。デフォルト 1GB。 | 
| --driver-cores NUM | ドライバーが使用するコアの数。 | 
| --total-executor-cores NUM | すべてのエグゼキューターの合計コア。 | 
| --executor-cores NUM | 各エグゼキューターが使用するコアの数。 | 
| --num-executors NUM | 起動するエグゼキューターの数。 | 
| -hivevar <key=value> | Hive コマンドに適用する変数置換。例: -hivevar A=B | 
| -hiveconf <property=value> | 指定したプロパティに使用する値。 | 

Spark SQL ジョブの場合、start-job-run-request.json ファイルを作成し、以下の例に示すように、ジョブ実行に必要なパラメータを指定します。

```
{
  "name": "myjob", 
  "virtualClusterId": "123456",  
  "executionRoleArn": "iam_role_name_for_job_execution", 
  "releaseLabel": "emr-6.7.0-latest", 
  "jobDriver": {
    "sparkSqlJobDriver": {
      "entryPoint": "entryPoint_location",
       "sparkSqlParameters": "--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1"
    }
  }, 
  "configurationOverrides": {
    "applicationConfiguration": [
      {
        "classification": "spark-defaults", 
        "properties": {
          "spark.driver.memory":"2G"
         }
      }
    ], 
    "monitoringConfiguration": {
      "persistentAppUI": "ENABLED", 
      "cloudWatchMonitoringConfiguration": {
        "logGroupName": "my_log_group", 
        "logStreamNamePrefix": "log_stream_prefix"
      }, 
      "s3MonitoringConfiguration": {
        "logUri": "s3://my_s3_log_location"
      }
    }
  }
}
```

# ジョブ実行状態
<a name="emr-eks-jobs-states"></a>

Amazon EMR on EKS ジョブキューにジョブ実行を送信すると、ジョブ実行は `PENDING` 状態になります。その後、以下の状態を経由して完了 (コード `0` で終了) または失敗 (0 以外のコードで終了) します。

ジョブ実行の各状態は以下のとおりです。
+ `PENDING` ‐ ジョブ実行が Amazon EMR on EKS に送信されたときの初期のジョブの状態。ジョブは仮想クラスターへの送信を待機しており、Amazon EMR on EKS はこのジョブの送信を行っています。
+ `SUBMITTED` ‐ 仮想クラスターに正常に送信されたジョブ実行。その後、クラスタースケジューラは、クラスターでこのジョブを実行しようとします。
+ `RUNNING` ‐ 仮想クラスターで実行されているジョブ実行。Spark アプリケーションでは、これは Spark ドライバープロセスが `running` 状態にあることを意味します。
+ `FAILED` ‐ 仮想クラスターへの送信に失敗したジョブ実行、または正常に完了しなかったジョブ実行。StateDetails と FailureReason を参照して、このジョブの失敗に関する追加情報を調べてください。
+ `COMPLETED` ‐ 正常に完了したジョブ実行。
+ `CANCEL_PENDING` ‐ ジョブ実行のキャンセルがリクエストされました。Amazon EMR on EKS は、仮想クラスター上のジョブをキャンセルしようとしています。
+ `CANCELLED` ‐ 正常にキャンセルされたジョブ実行。

# Amazon EMR コンソールでジョブを表示する
<a name="emr-eks-jobs-console"></a>

ジョブ実行データが表示できるため、各ジョブが状態を通過するのをモニタリングできます。Amazon EMR コンソールでジョブを表示するには、以下のステップを実行します。

1. Amazon EMR コンソールの左側にあるメニューの Amazon EMR on EKS で、**[仮想クラスター]** を選択します。

1. 仮想クラスターのリストから、ジョブを表示する仮想クラスターを選択します。

1. **[Job runs]** (ジョブ実行) テーブルで、**[View logs]** (ログを表示する) を選択して、ジョブ実行の詳細を表示します。

**注記**  
ワンクリックエクスペリエンスのサポートは、デフォルトで有効になっています。ジョブの送信中に `monitoringConfiguration` の `persistentAppUI` を `DISABLED` に設定すると、これを無効にできます。詳細については、「[永続アプリケーションユーザーインターフェイスの表示](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html)」を参照してください。

# ジョブ実行時の一般的なエラー
<a name="emr-eks-jobs-error"></a>

`StartJobRun` API を実行すると、次のエラーが発生することがあります。この表には、各エラーが一覧表示され、問題に迅速に対処できるように緩和策の手順が記載されています。


| エラーメッセージ | エラー状態 | 推奨される次のステップ | 
| --- | --- | --- | 
|  エラー: 引数 --*引数*は必須です  | 必須のパラメータが欠落しています。 | 欠落している引数を API リクエストに追加します。 | 
| [StartJobRun オペレーションの呼び出し時にエラー (AccessDeniedException) が発生しました: ユーザー ARN は emr-containers:StartJobRun の実行を承認されていません] | 実行ロールが欠落しています。 | [Amazon EMR on EKS でのジョブ実行ロールの使用](iam-execution-role.md)を参照してください。 | 
|  [StartJobRun オペレーションの呼び出し時にエラー (AccessDeniedException) が発生しました: ユーザー *ARN* は emr-containers:StartJobRun の実行を承認されていません]  |  呼び出し元に、条件キーを介した実行ロール [有効/無効な形式] に対するアクセス許可がありません。  | 「[Amazon EMR on EKS でのジョブ実行ロールの使用](iam-execution-role.md)」を参照してください。 | 
|  [StartJobRun オペレーションの呼び出し時にエラー (AccessDeniedException) が発生しました: ユーザー *ARN* は emr-containers:StartJobRun の実行を承認されていません]  |  ジョブの送信者と実行ロールの ARN が、異なるアカウントのものです。  | ジョブの送信者と実行ロールの ARN が同じ AWS アカウントのものであることを確認します。 | 
|  1 検証エラーが検出されました:「executionRoleArn 」の値*ロール*が ARN 正規表現パターンを満たすことができませんでした: ^arn:(aws[a-zA-Z0-9-]\$1):iam::(\$1d\$112\$1)?:(role((\$1u002F)\$1(\$1u002F[\$1u0021-\$1u007F]\$1\$1u002F))[\$1w\$1=,.@-]\$1)  |  呼び出し元は、条件キーを介して実行ロールのアクセス許可を持っていますが、ロールは ARN 形式の制約を満たしていません。  | ARN 形式に従って実行ロールを指定します。「[Amazon EMR on EKS でのジョブ実行ロールの使用](iam-execution-role.md)」を参照してください。 | 
|  StartJobRun オペレーションを呼び出すときにエラー (ResourceNotFoundException) が発生しました: 仮想クラスター*仮想クラスター ID* は存在しません。  |  仮想クラスター ID が見つかりません。  | Amazon EMR on EKS に登録された仮想クラスター ID を指定します。 | 
|  StartJobRun オペレーションを呼び出すときにエラー (ValidationException) が発生しました: 仮想クラスター状態*state* はリソース JobRun の作成には有効ではありません。  |  仮想クラスターはジョブを実行する準備ができていません。  | 「[仮想クラスターの状態](virtual-cluster.md#virtual-cluster-states)」を参照してください。 | 
|  StartJobRun オペレーションを呼び出すときにエラー (ResourceNotFoundException) が発生しました: リリース *RELEASE* は存在しません。  |  ジョブの送信で指定されたリリースが正しくありません。  | 「[Amazon EMR on EKS リリース](emr-eks-releases.md)」を参照してください。 | 
|  [StartJobRun オペレーションの呼び出し時にエラー (AccessDeniedException) が発生しました: ユーザー *ARN* はリソースに対する emr-containers:StartJobRun の実行を承認されていません: *ARN* (明示的な拒否を使用)] [StartJobRun オペレーションの呼び出し時にエラー (AccessDeniedException) が発生しました: ユーザー *ARN* にはリソースに対して emr-containers:StartJobRun を実行する権限がありません: *ARN*]  | ユーザーに StartJobRun を呼び出す権限がありません。 | 「[Amazon EMR on EKS でのジョブ実行ロールの使用](iam-execution-role.md)」を参照してください。 | 
|  StartJobRun オペレーションの呼び出し時にエラー (ValidationException) が発生しました: configurationOverrides.monitoringConfiguration.s3MonitoringConfiguration.logUri が制約を満たすことができませんでした: %s  |  S3 パス URI 構文が無効です。  | LogURI は s3://... の形式でなければなりません  | 

ジョブの実行前に `DescribeJobRun` API を実行すると、次のエラーが発生する場合があります。


| エラーメッセージ | エラー状態 | 推奨される次のステップ | 
| --- | --- | --- | 
|  stateDetails: JobRun の送信に失敗しました。 分類 *classification* はサポート対象外です。 failureReason: VALIDATION\$1ERROR 状態: FAILED。  | StartJobRun のパラメータは無効です。 | 「[Amazon EMR on EKS リリース](emr-eks-releases.md)」を参照してください。 | 
|  stateDetails: クラスター *EKS クラスター ID* は存在しません。 failureReason: CLUSTER\$1UNAVAILABLE 状態: FAILED  | EKS クラスターは使用できません。 | EKS クラスターが存在し、適切なアクセス許可を持っているかどうかを確認します。詳細については、「[Amazon EMR on EKS のセットアップ](setting-up.md)」を参照してください。 | 
|  stateDetails: クラスター *EKS クラスター ID* に十分なアクセス許可がありません。 failureReason: CLUSTER\$1UNAVAILABLE 状態: FAILED  |  Amazon EMR に、EKS クラスターにアクセスする権限がありません。  | 登録された名前空間で、アクセス許可が Amazon EMR に設定されていることを確認します。詳細については、「[Amazon EMR on EKS のセットアップ](setting-up.md)」を参照してください。 | 
|  stateDetails: クラスター *EKS クラスター ID* には現在到達できません。 failureReason: CLUSTER\$1UNAVAILABLE 状態: FAILED  |  EKS クラスターに到達できません。  | EKS クラスターが存在し、適切なアクセス許可を持っているかどうかを確認します。詳細については、「[Amazon EMR on EKS のセットアップ](setting-up.md)」を参照してください。 | 
|  stateDetails: 内部エラーのため、JobRun の送信に失敗しました。 failureReason: INTERNAL\$1ERROR 状態: FAILED  |  EKS クラスターで内部エラーが発生しました。  | 該当なし | 
|  stateDetails: クラスター *EKS クラスター ID* に十分なリソースがありません。 failureReason: USER\$1ERROR 状態: FAILED  |  EKS クラスターでジョブを実行するためのリソースが不足しています。  | EKS ノードグループに容量を追加するか、EKS Autoscaler を設定します。詳細については、[Cluster Autoscaler](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html) を参照してください。 | 

ジョブの実行後に `DescribeJobRun` API を実行すると、次のエラーが発生する場合があります。


| エラーメッセージ | エラー状態 | 推奨される次のステップ | 
| --- | --- | --- | 
|  stateDetails: JobRun のモニタリング中に問題が発生しました。 クラスター *EKS クラスター ID* は存在しません。 failureReason: CLUSTER\$1UNAVAILABLE 状態: FAILED  | EKS クラスターは存在しません。 | EKS クラスターが存在し、適切なアクセス許可を持っているかどうかを確認します。詳細については、「[Amazon EMR on EKS のセットアップ](setting-up.md)」を参照してください。 | 
|  stateDetails: JobRun のモニタリング中に問題が発生しました。 クラスター *EKS クラスター ID* に十分なアクセス許可がありません。 failureReason: CLUSTER\$1UNAVAILABLE 状態: FAILED  | Amazon EMR に、EKS クラスターにアクセスする権限がありません。 | 登録された名前空間で、アクセス許可が Amazon EMR に設定されていることを確認します。詳細については、「[Amazon EMR on EKS のセットアップ](setting-up.md)」を参照してください。 | 
|  stateDetails: JobRun のモニタリング中に問題が発生しました。 クラスター *EKS クラスター ID* には現在到達できません。 failureReason: CLUSTER\$1UNAVAILABLE 状態: FAILED  |  EKS クラスターに到達できません。  | EKS クラスターが存在し、適切なアクセス許可を持っているかどうかを確認します。詳細については、「[Amazon EMR on EKS のセットアップ](setting-up.md)」を参照してください。 | 
|  stateDetails: 内部エラーのため、JobRun のモニタリング中に問題が発生しました failureReason: INTERNAL\$1ERROR 状態: FAILED  |  内部エラーが発生し、JobRun のモニタリングを妨げています。  | 該当なし | 

ジョブを開始できず、ジョブが SUBMITTED 状態で 15 分間待機すると、以下のエラーが発生することがあります。クラスターリソースの不足が原因である可能性があります。


| エラーメッセージ | エラー状態 | 推奨される次のステップ | 
| --- | --- | --- | 
|  クラスタータイムアウト  | ジョブが 15 分以上 SUBMITTED 状態になっている。 | このパラメータのデフォルト設定である 15 分は、以下に示す設定オーバーライドでオーバーライドできます。 | 

以下の設定を使用して、クラスタータイムアウト設定を 30 分に変更します。新しい `job-start-timeout` 値を秒単位で指定していることに注意してください。

```
{
"configurationOverrides": {
  "applicationConfiguration": [{
      "classification": "emr-containers-defaults",
      "properties": {
          "job-start-timeout":"1800"
      }
  }]
}
```