インスタンス購入オプション - Amazon EMR

インスタンス購入オプション

クラスターをセットアップするときに、Amazon EC2 インスタンスの購入オプションを選択します。オンデマンドインスタンス、スポットインスタンス、あるいはその両方を使用することを選択できます。料金はインスタンスタイプとリージョンによって異なります。Amazon EMR の料金は、Amazon EC2 の料金 (基盤となるサーバーの料金) と Amazon EBS の料金 (Amazon EBS ボリュームをアタッチする場合) に加算されます。現在の料金については、「Amazon EMR の料金」を参照してください。

クラスターのインスタンスグループまたはインスタンスフリートを使用する選択により、クラスターの実行中のインスタンス購入オプションの変更方法が決まります。ユニフォームインスタンスグループを選択する場合、インスタンスグループの作成時にその購入オプションのみを指定できます。また、インスタンスタイプと購入オプションは各インスタンスグループのすべての Amazon EC2 インスタンスに適用されます。インスタンスフリートを選択する場合、インスタンスフリートが作成された後に購入オプションを変更でき、指定するターゲット容量を満たすように購入オプションを組み合わせることができます。これらの構成の詳細については、「インスタンスフリートまたはユニフォームインスタンスグループでクラスターを作成する」を参照してください。

オンデマンドインスタンス

オンデマンドインスタンスは、秒単位で、コンピューティング性能に対して料金をお支払いいただくものです。オプションで、これらのオンデマンドインスタンスに、リザーブドインスタンスまたはハードウェア専有インスタンス購入オプションを使用できます。リザーブドインスタンスでは、1 つのインスタンスに対して 1 回だけの支払いを行って容量を予約します。ハードウェア専有インスタンスは、ホストハードウェアのレベルでその他の AWS アカウントに属するインスタンスから物理的に分離されています。購入オプションの詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「インスタンス購入オプション」を参照してください。

予約インスタンスの使用

Amazon EMR でリザーブドインスタンスを使用するには、Amazon EC2 を使ってリザーブドインスタンスを購入し、リージョンまたはアベイラビリティーゾーンのいずれかに適用される予約の範囲を含む、予約のパラメータを指定します。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「Amazon EC2 リザーブドインスタンス」および「リザーブドインスタンスの購入」を参照してください。リザーブドインスタンスを購入した後、次の条件をすべて満たす場合、Amazon EMR はクラスターの起動時にリザーブドインスタンスを使用します。

  • オンデマンドインスタンスが、リザーブドインスタンスの指定に一致するクラスター設定で指定されている

  • クラスターがインスタンス予約の範囲内 (アベイラビリティーゾーンまたはリージョン) で起動されている

  • 予約インスタンス容量がまだ利用できる

例えば、インスタンス予約が米国東部リージョンにスコープ設定された m5.xlarge リザーブドインスタンスを購入したとします。その後、2 つの m5.xlarge インスタンスを使用する米国東部の Amazon EMR クラスターを起動します。最初のインスタンスは、予約インスタンスのレートで請求され、もう一方はオンデマンドのレートで請求されます。予約インスタンス容量は、オンデマンドインスタンスが作成される前に使用されます。

専用インスタンスの使用

ハードウェア専有インスタンスを使用するには、Amazon EC2 を使用してハードウェア専有インスタンスを購入し、[専有] テナンシー属性で VPC を作成します。Amazon EMR 内で、クラスターがこの VPC 内で起動することを指定します。ハードウェア専有インスタンスの指定に適合するクラスター内のすべてのオンデマンドインスタンスでは、クラスターの起動時に利用可能なハードウェア専有インスタンスを使用します。

注記

Amazon EMR は、個々のインスタンス上で dedicated 属性の設定をサポートしません。

スポットインスタンス

Amazon EMR 内のスポットインスタンスは、オンデマンドの購入と比較して、低コストで Amazon EC2 インスタンス容量を購入できるオプションを提供します。スポットインスタンスを使用するデメリットは、実行中のインスタンスタイプでスポット容量が使用できなくなると、インスタンスが終了する可能性があることです。アプリケーションでスポットインスタンスを使用することが適切な場合の詳細については、「スポットインスタンスを使用すべき場合」を参照してください。

Amazon EC2 に未使用の容量がある場合、スポット料金と呼ばれる割引料金で EC2 インスタンスが提供されます。この料金は、可用性と需要に基づいて変動し、リージョンとアベイラビリティーゾーンにより設定されます。スポットインスタンスを選択するときは、各 EC2 インスタンスタイプに支払う最大スポット料金を選択します。クラスターのアベイラビリティーゾーン内のスポット価格が、そのインスタンスタイプに指定された最大スポット料金よりも低い場合、インスタンスが起動します。インスタンスが実行されている間、現在のスポット価格 (最大スポット料金ではない) で課金されます。

注記

期間が定義されたスポットインスタンス (スポットブロックとも呼ばれます) は、2021 年 7 月 1 日以降の新規のお客様は、ご利用いただけません。既に、期間が指定されたスポットインスタンスを使用した経験をお持ちのお客様については、2022 年 12 月 31 日まで、この機能を引き続きサポートいたします。

最新の料金については、「Amazon EC2 スポットインスタンスの料金」を参照してください。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「スポットインスタンス」を参照してください。クラスターを作成して構成するとき、クラスターが起動するアベイラビリティーゾーンを最終的に決定するネットワークオプションを指定します。詳細については、「ネットワークを設定する」を参照してください。

ヒント

[詳細オプション] を使用してクラスターを作成するときは、[スポット] 購入オプションの横にある情報ツールヒントにマウスカーソルを移動すると、コンソールにリアルタイムのスポット料金が表示されます。選択したリージョンの各アベイラビリティーゾーンの料金が表示されます。最低価格は緑色の行に示されます。アベイラビリティーゾーン間でスポット価格が変動するため、最初の価格が最低のアベイラビリティーゾーンを選択すると、クラスターの寿命を通じて価格が最低になる可能性があります。最適な結果を得るには、選択する前にアベイラビリティーゾーンの履歴を調べてください。スポットインスタンスの詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「スポットインスタンスの料金履歴」を参照してください。

スポットインスタンスのオプションは、クラスター構成でユニフォームインスタンスグループを使用しているか、インスタンスフリートを使用しているかによって異なります。

ユニフォームインスタンスグループ内のスポットインスタンス

ユニフォームインスタンスグループでスポットインスタンスを使用すると、インスタンスグループ内のすべてのインスタンスはスポットインスタンスでなければなりません。クラスターに 1 つのサブネットまたはアベイラビリティーゾーンを指定します。インスタンスグループごとに、1 つのスポットインスタンスと最大スポット料金を指定します。クラスターのリージョンとアベイラビリティーゾーンでのスポット料金が最大スポット料金に満たない場合は、そのタイプのスポットインスタンスが起動します。スポット価格が最大スポット料金を上回ると、インスタンスは終了します。最大スポット料金は、インスタンスグループを構成する場合にのみ設定します。後で変更することはできません。詳細については、「インスタンスフリートまたはユニフォームインスタンスグループでクラスターを作成する」を参照してください。

インスタンスフリート内のスポットインスタンス

インスタンスフリート構成を使用するとき、追加のオプションにより、スポットインスタンスの起動と終了の方法をさらにコントロールできます。基本的に、インスタンスフリートはインスタンスを起動するためにユニフォームインスタンスグループとは異なる方法を使用します。その方法は、スポットインスタンス (およびオンデマンドインスタンス) 用にターゲット容量を設定することです。インスタンスタイプごとに加重容量を指定するか、加重容量としてインスタンスタイプの vCPU (YARN vcores) を使用できます。この加重容量は、そのタイプのインスタンスがプロビジョニングされるとき、ターゲット容量に加算されます。Amazon EMR は各ターゲットのターゲット容量が満たされるまで、両方の購入オプションを用いてインスタンスをプロビジョニングします。さらに、インスタンスの起動時に Amazon EMR が選択するアベイラビリティーゾーンの範囲を定義できます。プロビジョニングのタイムアウトを含め、フリートごとに追加のスポットオプションも指定します。詳細については、「インスタンスフリートを設定する」を参照してください。