耐障害性に優れた柔軟なアプリケーションのためにスポットインスタンスをリクエストする - Amazon EC2 Auto Scaling

耐障害性に優れた柔軟なアプリケーションのためにスポットインスタンスをリクエストする

起動テンプレートには、終了日や使用期間を指定せずにスポットインスタンスをリクエストできるオプションがあります。Amazon EC2 スポットインスタンスは、EC2 オンデマンドの料金と比較して、大幅割引で提供される予備のキャパシティーです。スポットインスタンス は、アプリケーションを実行する時間に柔軟性がある場合や、アプリケーションを中断できる場合に、費用効率の高い選択肢です。スポットインスタンスをリクエストする起動テンプレート作成の詳細については、「起動テンプレートの高度な詳細を設定する」を参照してください。

重要

スポットインスタンスは通常、オンデマンドインスタンスを補完するために使用されます。このシナリオでは、スポットインスタンスの起動に使用されるものと同じ設定を、Auto Scaling グループの設定内で指定できます。Auto Scaling グループの一部として設定を指定する場合、特定の数のオンデマンドインスタンスを起動した後のみにスポットインスタンスを起動するようにリクエストできます。その後、グループのスケーリングに応じてオンデマンドインスタンスとスポットインスタンスの組み合わせを継続して起動するようにリクエストできます。詳細については、「複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ」を参照してください。

このトピックでは、Auto Scaling グループ自体ではなく起動テンプレートにより設定を指定することで、Auto Scaling グループ内にスポットインスタンスのみを起動する方法について説明します。このトピックの情報は、起動設定を使用してスポットインスタンスをリクエストする Auto Scaling グループにも適用されます。違いは、起動設定には上限価格が必須ですが、起動テンプレートの場合、この設定はオプションとなることです。

起動テンプレートを作成してスポットインスタンスのみを起動する場合は、次の考慮事項に留意してください。

  • スポット料金 起動するスポットインスタンスには、現在のスポット料金のみが課金されます。この料金は、需要と供給の長期的な傾向に基づいて時間の経過とともに緩やかに変動します。詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「Spot Instances」(スポットインスタンス) ならびに「料金と削減額」を参照してください。

  • 上限価格を設定する。起動テンプレートではオプションとして、スポットインスタンスの時間あたりの上限価格を指定することができます。時間あたりの上限価格が現在のスポット料金を上回っていて、利用可能なキャパシティーがある場合には、Amazon EC2 は速やかにスポットインスタンスに対するリクエストに対応します。 スポットインスタンスの料金が、お客様の Auto Scaling グループで実行中のインスタンスに設定された上限価格を上回った場合には、インスタンスが終了されます。

    警告

    低すぎる上限価格が設定されるなどの理由で、スポットインスタンスを取得できない場合には、アプリケーションが実行されないことがあります。利用可能なスポットインスタンスを、可能な限り長期にわたり活用するには、上限価格をオンデマンド料金に近い値に設定します。

  • アベイラビリティーゾーン間でのバランシング。複数のアベイラビリティーゾーンを指定した場合、Amazon EC2 Auto Scaling は指定したゾーンの間でスポットリクエストを分散します。上限価格が 1 つのアベイラビリティーゾーンでリクエストを落札するには低すぎる場合、Amazon EC2 Auto Scaling は他のアベイラビリティーゾーンでリクエストが落札されたかどうか確認します。その場合、Amazon EC2 Auto Scaling は失敗したリクエストをキャンセルし、リクエストが落札されたアベイラビリティーゾーンの間でリクエストを再分散します。落札されたリクエストがないアベイラビリティーゾーンの料金が、今後のリクエストに成功するために十分に下がった場合、Amazon EC2 Auto Scaling はすべてのアベイラビリティーゾーンの間で再調整します。

  • スポットインスタンスの終了 スポットインスタンスは任意のタイミングで終了できます。スポットインスタンスの可用性や料金に変化があった場合は、Amazon EC2 スポットサービスにより、Auto Scaling グループのスポットインスタンスが終了されることがあります。またスケーリングやヘルスチェックの実行時には、Amazon EC2 Auto Scaling が、オンデマンドインスタンスの終了と同じ方法により、スポットインスタンスを終了することがあります。インスタンスが終了された際には、そのためのストレージは削除されます。

  • 必要とされるキャパシティーの維持 終了されるスポットインスタンスがあった場合、Amazon EC2 Auto Scaling は、グループ内で必要とされるキャパシティーを維持するために、代わりのインスタンスの起動を試みます。現在のスポット料金が上限価格未満の場合は、スポットインスタンスが起動されます。スポットインスタンスのリクエストが正常に処理されなかった場合は、その試行が繰り替えされます。

  • 上限価格の変更 上限価格を変更するには、起動テンプレートを新規で作成するか、既存の起動テンプレートを新しい上限価格で更新します。その上で、このテンプレートを Auto Scaling グループに関連付けます。これらのインスタンスに使用する起動テンプレートで指定された上限価格が、現在のスポット料金より高い限り、既存のスポットインスタンスが実行され続けます。上限価格を指定しない場合、オンデマンド料金がデフォルトの上限価格となります。