Quantcast
Channel: Amazon Web Services ブログ
Viewing all articles
Browse latest Browse all 446

スポットインスタンスに注目- ベストプラクティスについて

$
0
0
わたしはよく EC2スポットインスタンスこそが、どのような利用量でも世界規模の実装が可能な機能である、と伝えてきました。
 
Spot_history_m3xl_week_iad_1
大量の計算パワーを既に持っていて世界中のタイムゾーンに多くのお客様が様々な処理を実行しているのでなければ、現実の市場を作るために必要とされる需要と供給(とその結果変わる価格)によって常に変化することは無いでしょう。思い出してください、スポットインスタンスはEC2キャパシティに指値をすることで (オンデマンド価格に較べて)最大90%のコスト削減を可能にします。指値がその時点のスポット価格を上回っていればインスタンスを起動でき、(同一のリージョン、アベイラビリティゾーン、インスタンスタイプの)キャパシティに対してより高い指値があれば(2分の警告の後に)ターミネートされる可能性があります。
 
スポットインスタンスは変動するため、その価値を最大化するためには、持続して指値の戦略に注意する必要があります。別の見方をすると、もし正しくアプリケーションを構築しているなら、最大90%のコスト削減を得る(もしくは固定予算で 10倍の計算能力を取得できる)状態にあります。これは、あなたの組織のクラウドアーキテクトとして、非常に興味深いことです。価格を考慮しながら耐障害性のより高いアプリケーションを作ることで、計算パワーのコストを減らすためのテクニカルスキルを訓練することができます。スポットインスタンスのメリットとデメリットを習得すれば、あなた(とあなたの組織)に利益をもたらすでしょう!
 
傾向は明確です
EC2の歴史(個別のオンデマンドインスタンス、スポットインスタンスコンテナスポットフリート)を見返すと、傾向はとても明確です。一度、特定の長期実行するインスタンスと価格表に注目したことがあるなら、今からは、実行時間が不明で(同じ属性のインスタンスで共有している)キャパシティプールの需要と共有で決まる最適な価格で実行するインスタンス集合について考えてみましょう。この新しい考え方は、古い思考パターンからあなたを開放し、大量の計算キャパシティを素早く安く取得するための新しく魅力ある方法への扉を開きます。そして、価格面でも本当に素晴らしいアプリケーションを構築することができます。
 
スポットによりWin-Winの状況にあると、私は言及する必要があります。あなた(とあなたのお客様)は、その時点で最も経済的な価格で計算パワーを取得できます。アマゾンは、所有しているサーバ群(参考: AWSグローバルインフラストラクチャページの場所一覧)に対して高い稼働率を維持することができます。高い稼働率は私達のコスト構造を改善し、環境的な恩恵ももたらします。
 
スポットのベストプラクティス
これから数ヶ月間のうちに、EC2スポットチームからの多大な支援とともに、スポットインスタンスの仕様についてのベストプラクティスをお知らせする計画をしています。これらのプラクティスの多くは、実世界にある私達のお客様から共有いただいた例に基いています(理論や学術的なものではありません)。今日は、いくつかのベストプラクティスの簡単な概要のシリーズを始めたいと思います。
 
少し詳しくキャパシティプールの概念を定義しましょう。上述したように、キャパシティプールは、リージョン、アベイラビリティゾーン、オペレーティングシステム(Linux/UnixまたはWindows)、インスタンスタイプが同一の、起動可能なEC2インスタンスの集合です。各EC2キャパシティプールには、可用性(その時点で起動可能なインスタンス数)、需要と共有により導出された価格が付いています。後ほど紹介しますが、複数のキャパシティプールに跨って実行可能なアプリケーションは、一環して経済的に計算パワーにアクセスできる最適な状態にあります。プール内のキャパシティはオンデマンドとスポットインスタンスで共有されていることに注意すると、より多くのスポットインスタンスの需要やオンデマンドインスタンスの起動リクエストによってスポット価格は上昇する可能性があります。
 
スポットインスタンスを使いはじめるためにいくつかのベストプラクティスをご紹介します。
 
価格に考慮したアプリケーションを構築する - 以前にも言及したように、クラウドコンピューティングはビジネスモデルとテクノロジーの組み合わせです。価格を考慮したコードを書く(もしくはシステムを設計する)ことができ、それにより多くのクラウド予算を作る可能性を秘めています。これは多くのテクノロジーにとって新しい領域です。私からあなたへのアドバイスは、職務記述書に、コスト削減のための設計を含めるようにすることです。
 
少しの時間を投資する(もしくはEC2 APIAWS Command Line Interface(CLI)等を使ってツールを作る)ことによって、あなたのアプリケーションが使っているリージョンの全てのキャパシティプールを使いはじめる事ができます。より効果的でより低い割り込み率を得るために、より安く安定している価格のプールを探しましょう。
 
価格履歴を確認する - 過去90日(3ヶ月)に遡ってプール毎の価格履歴を参照できます。現時点でお客様から非常に人気のあるインスタンス(私がこのブログを書いている時点ではR3です)は、スポット価格が不安定になりがちです。古い世代( c1.xlarge, m1.small, cr1.8xlarge, cc2.8xlarge等)は比較的安定している傾向にあります。一般的に、古い世代のインスタンスを選ぶと、低価格で割り込みが少ない結果となっています。
 
複数のキャパシティプールを使う - 多くの種類のアプリケーションは、複数のキャパシティプールに跨って実行可能(もしくは実行できるように容易に適用可能)です。複数のプールで実行できるようになると、あるプールもしくは2つのプールに影響する価格の大きな変動に対する過敏度を減らします(一般的に、異なるキャパシティプール間に価格の相関は殆どありません)。たとえば、5つの異なるプールを使っていると、価格変動と割り込みは80%低減されます。
 
このベストプラクティスへの高品質なアプローチは、柔軟性において複数の側面で結果として現れ、多くのキャパシティプールにアクセスできます。複数のアベイラビリティゾーンに跨って実行する事ができます(実際にAuto ScalingやスポットフリートAPIを組み合わせ可能)。もしくは、同一ファミリーの中でも複数のインスタンスサイズに跨って実行することができます(Amazon EMRはこのアプローチを採用しています)。例えば、あなたのアプリケーションが必要なvCPU数がわかっているなら、その数を確保することで十分なワーカースレッドを起動します。
 
このベストプラクティスを順守することは、各プールがほぼ同じキャパシティ量を使うように努める必要があります。これはスポットキャパシティとスポット価格の変動による影響を最小化するでしょう。
 
より詳しく知るには、EC2ドキュメント内のスポットインスタンスの章を参照ください。
 
乞うご期待!
既に述べたように、このポストはイントロダクションであり、もっと多くのアイディアとコードを用意しています。フィードバックがある場合、もしくはあなたがお持ちの スポットのTipsをコントリビュートしたい場合は、awseditor@amazon.comにご連絡ください。
 
— Jeff; (翻訳は松尾が担当しました。原文: Focusing on Spot Instances – Let’s Talk About Best Practices

Viewing all articles
Browse latest Browse all 446

Trending Articles