Amazon EC2 Spot Instances の開始方法

Amazon EC2 スポットインスタンスは、AWS クラウドで予備のコンピューティング性能を、オンデマンドインスタンスに比べて大幅な割引で提供します。

スポットインスタンスでは、ビッグデータ、コンテナ、CI/CD、HPC、およびその他の耐障害性が強いワークロードで最大 90% の費用を削減できます。または、ワークロードのスループットを最大 10 倍にスケールし、既存の予算内にとどめることができます。

スポットインスタンスとは

開始方法

スポットインスタンスの使用を開始するのは簡単です。最初に、スポットインスタンスで実行するのに最も適した主要なワークロードを特定します。次に、AWS マネジメントコンソール、統合された AWS のサービス (Amazon EMR、Amazon ECS、AWS Batch、EC2 Auto Scaling など)、または EC2 フリート API から数分でスポットインスタンスを起動します。Amazon EC2 ユーザーガイドを参照し、以下のベストプラクティスとリソースに目を通します。

1. スポットを作成する前に知っておくこと

  1. この動画を見て、スポットインスタンスで実行するのに最適なワークロードを確認します。
  2. 低価格で料金を予測できるスポット料金モデルの仕組みについて学びます。オンデマンド料金に対して一般に 70~90% の節約となります。

2.最初のスポットインスタンスの作成

  1. AWS マネジメントコンソールAWS SDK/CLI、AWS API を使って、最初のスポットインスタンスを作成するために、スポットインスタンスの仕組みについて学習します。
  2. CI/CDビッグデータコンテナレンダリングなどのワークロード向けにスポットインスタンスを作成する方法について学習します。

3.ベストプラクティスの実施

  1. この動画を見て、スポットインスタンスを作成するときに、コンピューティングコストの節約を最大化するためのいくつかの簡単なルールについて学習します。詳細はこちら
  2. 中断の影響を最小限に抑える方法について学習します (こちら)。

スポットインスタンスの仕組み

ユースケースの例

スポットインスタンスでコンテナ化されたワークロード

コンテナはステートレスで耐障害性があり、Amazon EC2 スポットインスタンスには最適です。このオンラインセミナーを視聴して、Kubernetes でコンテナ化されたワークロードを効率的にデプロイし、わずかなコストで任意の規模のクラスターを簡単に管理する方法を学習します。スポットインスタンスは Amazon Elatic Container ServiceAmazon Elastic Kubernetes Service または Kubernetes と共に使用して、分散システムから毎日数百マイルのデータをマップ化するアプリケーションまで、コンテナ化されたあらゆるワークロードを実行できます。詳細はこちら。

EC2 スポットインスタンスで Kubernetes クラスターを実行するコストを節約する

EC2 スポットインスタンスでの Amazon EMR の実行

スポットインスタンスでのビッグデータワークロード

スポットインスタンスは、迅速なデータ分析のためのタイムクリティカルでハイパースケールのワークロードを実行するために、加速化、スケール化、および大幅なコスト削減を提供します。Amazon EMR、Hadoop、または Spark でスポットインスタンスを使用して、大量のデータを処理します。この動画を視聴して、Amazon EC2 スポットと Amazon EMR の使用を開始し、使いやすく高速で、コスト効率の高いデータの処理を実現してください。Amazon EMR とスポットインスタンスでビッグデータワークロードを実行する方法に関する追加リソースについては、スポットインスタンスでの Amazon EMR ページをご覧ください。 


スポットインスタンスでの CI/CD ワークロード

EC2 スポットプラグインで Jenkins を設定し、完了するジョブの数に応じて、スポットインスタンスのフリートを自動的にスケールします。CI 用の旧世代のインスタンスを利用してコストの削減額を増やします。これらのプロセスではテストに多くの能力を必要としないためです。読み込み、統合、カナリア、セキュリティテストはすべて、スポットインスタンスが持つ伸縮自在性と価格節約によるメリットを得ることができます。詳細はこちら

Jenkins 用の Amazon EC2 スポットフリートプラグインがあることをご存知でしたか?

クラウド上のスタジオ

スポットインスタンスでワークロードをレンダリングする

レンダリングワークロードの耐障害性により、スポットインスタンスでの実行に最適です。また、スポットインスタンスによってコストを大幅に削減できます。2019 SIGGRAPH でこのプレゼンテーションを視聴して、AWS Thinkbox の開始方法と、わずかな費用でクラウド内のレンダリングワークロードをスケーリングするスポットインスタンスについてご覧ください。Scripps Networks Interactive がスポットインスタンスと AWS ThinkBox を活用して CGI レンダリング時間を 95% 短縮した方法をご覧ください (こちら)。


スポットインスタンスのウェブアプリケーションとサービス

新しい費用節約型イニシアチブを特定するか、広告サーバーからリアルタイムの入札サーバーまで広範囲に及ぶさまざまなウェブサービスやアプリケーションに対応した大量のインスタンスに拡張します。こちらのオンラインセミナーを視聴して、EC2 Auto Scaling を使用してウェブベースのアプリケーションを大規模にデプロイする方法について学習してください。EC2 起動テンプレートを使用して、ロードバランサーの背後でオンデマンドインスタンスとスポットインスタンスを組み合わせて EC2 Auto Scaling グループに電力を供給し、デプロイして、ワークロードのコストを最適化する方法を学びます。スポットインスタンスでのウェブアプリケーションの実行については、こちらのブログをご覧ください。 

Amazon EC2 スポットインスタンスを使用して、スケーラブルなウェブベースのアプリケーションを低コストで構築する方法

EC2 スポットインスタンスでの AWS Batch: 少ないバッチ処理を高速化する方法

スポットインスタンスでのバッチ処理

スポットインスタンスを使用すると、ごくわずかなコストでバッチワークロードを処理できます。この動画を視聴して、AWS Batch でスポットインスタンスを使用してバッチ処理ワークロードの実行を開始する方法を学習してください。スポットインスタンスで実行されるバッチワークロードをさらに最適化するには、このブログでスポット容量の最適化割り当て戦略について学習します。追加のリソースについては、スポットインスタンスを用いた AWS Batch ページをご覧ください。 


スポットインスタンスでの機械学習

スポットインスタンスを使用して、AI/ML をより速く、より少ないコストでトレーニングします。この動画を視聴して、Elastic Inference で推論トレーニングジョブを実行し、スポットインスタンスで計算コストを最大 90% 節約する方法を学習してください。CloudFormation をセットアップし、テンプレートを起動して自動化を構築する方法に関するベストプラクティスを学びます。マネージドスポットトレーニングを使用して、Amazon SageMaker で AI/ML ワークロードをより速く、より少なく実行する方法を学ぶには、このセルフガイドチュートリアル通りに実行してください。 

Amazon Elastic Inference および Amazon EC2 スポットインスタンスを使用して、推論コストを最大 90% 削減

スポットのベストプラクティス

お客様のアプリケーションにベストプラクティスをどのように適用するかは、お客様のインスタンスタイプ要件、予算要件、アプリケーション設計によって決まります。以下に、いくつかの推奨事項を示します。

1.スポットのルール

コンピューティングのコストを最大限に削減するために従う必要のある、簡単な 2 つのルールについて学習します
  1. スポットキャパシティープールの価格は別個のもので、まれに変更される
  2. Amazon EC2 では、キャパシティーを戻す必要があるときに 2 分前の警告が表示される

2.インスタンスの柔軟性

可能ならさまざまなインスタンスタイプでアプリケーションをテストしてください。価格は、各アベイラビリティーゾーンのインスタンスタイプごとに独立して変動するため、インスタンスタイプに対する柔軟性があれば、多くの場合、同じ価格でより多くのコンピューティング性能を得られます。この動画で詳細を説明しています。

 

3.フリート API

EC2 Auto Scaling グループでスポットインスタンスを実行する場合、容量の最適化割り当て戦略を使用して、利用可能な容量が最も多いスポット容量プールにアクセスします。容量が最適化された EC2 Auto Scaling グループは、容量プールが最も深いスポットインスタンスを起動し、中断の可能性を低減します。 


処理の中断

2 分前の通知を自動化する (4:11)

スポットインスタンスの利用時には、そのインスタンスの返却が EC2 によって要求されようとしているときに、「2 分前の通知」を受け取ります。これは、キャパシティーを EC2 に戻す必要があるためです。この中断の影響を軽減するには、上記のベストプラクティスに沿って操作を行います。

この動画を見て、スポットインスタンスが Amazon EC2 によって中断されるときに受け取る 2 分前の通知を自動化してください。スポットインスタンスアドバイザーで、さまざまなスポットプールの平均的な中断頻度を確認することもできます。