EMR Serverless でのアプリケーションの動作について
このセクションでは、ジョブを送信する際の動作、スケーリングの容量設定、EMR Serverless のワーカー設定について説明します。
アプリケーションのデフォルトの動作
自動起動 — デフォルトでは、アプリケーションはジョブの送信時に自動起動するように設定されています。この機能はオフにできます。
自動停止 — アプリケーションは、デフォルトで 15 分間アイドル状態になると自動停止するように設定されています。アプリケーションが STOPPED
状態に変わると、設定された事前初期化済みの容量が解放されます。アプリケーションが自動停止するまでのアイドル時間を変更できます。または、この機能をオフにすることもできます。
最大容量
アプリケーションがスケールアップ可能な最大容量を設定できます。CPU、メモリ (GB)、ディスク (GB) について最大容量を指定できます。
注記
ワーカー数にそれらのサイズを乗じることで、サポートされるワーカーサイズに比例するように最大容量を設定することをお勧めします。例えば、アプリケーションを 2 vCPU、16 GB メモリ、20 GB のディスクを備えた 50 個のワーカーに制限する必要がある場合は、最大容量を 100 vCPU、800 GB メモリ、1,000 GB のディスクに設定します。
サポートされているワーカーの設定
次の表は、EMR Serverless に指定できるサポート対象のワーカーの設定とサイズを示しています。ワークロードの必要性に応じて、ドライバーとエグゼキュターにさまざまなサイズを設定できます。
CPU | 「メモリ」 | デフォルトのエフェメラルストレージ |
---|---|---|
1 vCPU |
最小 2 GB、最大 8 GB、1 GB 単位 |
20 GB~200 GB |
2 vCPU |
最小 4 GB、最大 16 GB、1 GB 単位 |
20 GB~200 GB |
4 vCPU |
最小 8 GB、最大 30 GB、1 GB 単位 |
20 GB~200 GB |
8 vCPU |
最小 16 GB、最大 60 GB、4 GB 単位 |
20 GB~200 GB |
16 vCPU |
最小 32 GB、最大 120 GB、8 GB 単位 |
20 GB~200 GB |
CPU — 各ワーカーには、1、2、4、8、または 16 個の vCPU を配置できます。
メモリ — 各ワーカーには、前の表に記載されている制限内で GB 単位で指定されたメモリが搭載されています。Spark ジョブにはメモリオーバーヘッドがあります。つまり、使用するメモリが指定されたコンテナサイズを超えています。このオーバーヘッドは、プロパティ spark.driver.memoryOverhead
と spark.executor.memoryOverhead
で指定されます。オーバーヘッドのデフォルト値はコンテナメモリの 10% であり、最小値は 384 MB です。ワーカーサイズを選択する際は、このオーバーヘッドを考慮する必要があります。
例えば、ワーカーインスタンスに 4 個の vCPU を選択し、事前に初期化されたストレージ容量が 30 GB である場合は、Spark ジョブのエグゼキュターメモリとして約 27 GB の値を設定する必要があります。これにより、事前初期化された容量を最大限に活用できます。使用可能なメモリは 27 GB であり、合計はこれに 27 GB の 10% (2.7 GB) を加えた 29.7 GB です。
ディスク — 各ワーカーには、最小サイズが 20 GB、最大サイズが 200 GB の一時ストレージディスクを設定できます。ワーカーごとに設定する 20 GB を超える追加ストレージに対してのみ料金が発生します。