

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

# Amazon EMR on EKS の垂直的自動スケーリングを開始する
<a name="jobruns-vas-gs"></a>

Amazon EMR Spark アプリケーションのワークロードに合わせてメモリと CPU リソースを自動的に調整する場合は、Amazon EMR on EKS の垂直的自動スケーリングを使用します。詳細については、「[Amazon EMR Spark ジョブで垂直的自動スケーリングを使用する](jobruns-vas.html)」を参照してください。

## 垂直的自動スケーリングを使用して Spark ジョブを送信する
<a name="jobruns-vas-spark-submit"></a>

[StartJobRun](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_StartJobRun.html) API を使用してジョブを送信する場合、Spark ジョブのドライバーに以下の 2 つの設定を追加して、垂直的自動スケーリングを有効にします。

```
"spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing":"true",
"spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.signature":"YOUR_JOB_SIGNATURE"
```

上のコードでは、最初の行で垂直的自動スケーリング機能が有効になっています。次の行は、ジョブの署名を選択するために必須の署名設定です。

これらの設定と許容されるパラメータ値の詳細については、「[Amazon EMR on EKS の垂直的自動スケーリングを設定する](jobruns-vas-configure.md)」を参照してください。デフォルトでは、ジョブは垂直的自動スケーリングのモニタリング専用 **[オフ]** モードで送信されます。このモニタリング状態では、自動スケーリングを実行しなくてもリソースレコメンデーションを計算して表示できます。詳細については、「[垂直的自動スケーリングモード](jobruns-vas-configure.md#jobruns-vas-parameters-opt-mode)」を参照してください。

以下の例では、垂直的自動スケーリングを使用してサンプル `start-job-run` コマンドを完了する方法を示しています。

```
aws emr-containers start-job-run \
--virtual-cluster-id $VIRTUAL_CLUSTER_ID \
--name $JOB_NAME \
--execution-role-arn $EMR_ROLE_ARN \
--release-label emr-6.10.0-latest \
--job-driver '{
  "sparkSubmitJobDriver": {
     "entryPoint": "local:///usr/lib/spark/examples/src/main/python/pi.py"
   }
 }' \
--configuration-overrides '{
    "applicationConfiguration": [{
        "classification": "spark-defaults",
        "properties": {
          "spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing": "true",
          "spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.signature": "test-signature"
        }
    }]
  }'
```

## 垂直的自動スケーリング機能の検証
<a name="jobruns-vas-verify"></a>

垂直的自動スケーリングが送信されたジョブで正しく機能することを確認するには、kubectl を使用して `verticalpodautoscaler` カスタムリソースを取得し、スケーリングの推奨事項を確認してください。例えば、以下のコマンドは、[垂直的自動スケーリングを使用して Spark ジョブを送信する](#jobruns-vas-spark-submit) セクションのサンプルジョブに関するレコメンデーションを問い合わせます。

```
kubectl get verticalpodautoscalers --all-namespaces \
-l=emr-containers.amazonaws.com/dynamic.sizing.signature=test-signature
```

このクエリの出力は以下のようになります。

```
NAME                                                          MODE   CPU         MEM PROVIDED   AGE
ds-jceyefkxnhrvdzw6djum3naf2abm6o63a6dvjkkedqtkhlrf25eq-vpa   Off    3304504865  True           87m
```

出力が類似していない場合やエラーコードが含まれている場合は、「[Amazon EMR on EKS 垂直自動スケーリングのトラブルシューティング](troubleshooting-vas.md)」を参照して、問題の解決に役立つ手順をご覧ください。