PerfectScale for Spot よくある質問(FAQ)
Spot Instance
Spot Instance とは何ですか?
Spot Instances は余剰の EC2 キャパシティで、On-Demand 料金から最大 90% のコスト削減が可能ですが、Amazon Web Services によって 2 分前の通知で中断される場合があります。Spot は On-Demand や Reserved Instances と同じ基盤の EC2 インスタンスを使用し、フォールトトレラントで柔軟なワークロードに最適です。Spot Instances はコンピュートキャパシティを取得するための追加オプションを提供し、On-Demand や Reserved Instances と併用できます。
Spot Instances と On-Demand Instances の違いは何ですか?
実行中の動作は、Spot Instances も本質的には On-Demand Instances と同じです。主な違いは、Spot Instances が通常、On-Demand 価格に対して大幅な割引を提供する点です。その代わりに、Spot Instances はキャパシティ要件により Amazon EC2 によって 2 分前の通知で中断される可能性があります。Spot 価格は、余剰 EC2 キャパシティの長期的な需給に基づいて段階的に調整されます。詳細は Amazon EC2 Spot Instances を参照してください。
いつ Spot Instances を使用すべきですか?
Spot Instances は、フォールトトレランスが組み込まれている、ステートレスである、または大規模クラスタ(例:Hadoop)でデータ処理を行うアプリケーションに最も適しています。
その他のユースケースには次のものがあります。
- バッチ処理 — 現在低コストで利用可能な Spot Instances と組み合わせて AWS Batch サービスを使用することで、バッチ処理を実行できます。これは、同じバッチ処理を On-Demand Instances で実行する場合と比較して、顕著なコスト削減につながります。
- 継続的インテグレーション — 開発とテストはクラウド環境では一般的です。開発/テストのタスクは通常、不定期に実行され、プロダクションワークロードではないため、時折の中断に耐えられます。
- ハイパ フォーマンスコンピューティング(HPC) — 人工知能の分析アプリケーションなど、大規模並列ワークロードを Spot Instances で実行できます。これらのアプリケーションは GPU(グラフィックス処理ユニット)上で動作し、GPU インスタンスは高価であるため、Spot Instances は大きな助けになります。
Spot Instances を使用する際のベストプラクティスは何ですか?
利用可能な Spot キャパシティを最大化するため、複数の Availability Zone を使用し、インスタンスタイプに柔軟性を持たせることを推奨します。Spot キャパシティプールとは、同一のインスタンスタイプ・オペレーティングシステム・Availability Zone・ネットワークプラットフォーム(EC2-Classic または EC2-VPC)を持つ未使用の EC2 インスタンスの集合です。
Spot Instance の料金はいくらになりますか?
Spot Instances では、インスタンスが稼働している間に適用される Spot 価格を支払います。Spot Instance の価格は Amazon EC2 によって設定され、Spot Instance キャパシティの長期的な需給動向に基づいて段階的に調整されます。詳細は AWS の Spot Instance advisor を参照してください。
利用可能な Spot Instances がない場合はどうなりますか?
PerfectScale for Spot は、Spot Instances が利用できないシナリオに対して On-Demand へのフォールバックをサポートし、ワークロードの可用性を確保します。Spot Instances が再び利用可能になり次第、Spot に復帰します。
PerfectScale for Spot
PerfectScale for Spot は潜在的なコスト削減額をどのように計算しますか?
潜在的な削減額は次に基づいて計算されます。
- Auto Scaling Group における 希望インスタンス数
- On-Demand 価格と Spot 価格の 1 時間あたりの差額
- 対象月の時間数(約 730 時間)
Spot と On-Demand Instances の比率はどのようになりますか?
デフォルトでは、PerfectScale for Spot は希望キャパシティの 20% を On-Demand、80% を Spot Instances とすることを推奨します。On-Demand Instances と Spot Instances のパーセンテージは DoiT コンソール、または instance distributions tags から変更できます。
許可されるインスタンスタイプのリストを変更できますか?
ワークロード要件を満たさないインスタンスタイプは DoiT コンソールで除外できます。詳しくは Modify Recommendations を参照してください。
PerfectScale for Spot はどの AWS テクノロジーで動作しますか?
PerfectScale for Spot は、機能に Auto Scaling Groups(ASG)を使用するあらゆる AWS テクノロジーで動作します。
PerfectScale for Spot は Amazon Elastic Beanstalk をサポートしますか?
はい。AWS Elastic Beanstalk は ASG を使用して Amazon EC2 インスタンスを管理します。
PerfectScale for Spot は Amazon ECS をサポートしますか?
PerfectScale for Spot は、EC2 launch type を用いる AWS Elastic Container Service(Amazon ECS)をサポートします。これは ASG を使用して機能します(上記参照)。
一方で、AWS Fargate が ASG を使用しないため、Fargate launch type を用いる Amazon ECS は PerfectScale for Spot ではサポートしていません。
PerfectScale for Spot は Amazon EKS をサポートしますか?
はい。Amazon Elastic Kubernetes Service(Amazon EKS)は Kubernetes の Cluster Autoscaler をサポートしており、これは ASG を使用して機能します(上記参照)。
Kubernetes Cluster Autoscaler は、Pod の失敗や他ノードへの再スケジュール時にクラスタ内のノード数を自動調整する、Kubernetes コントロールプレーンの中核コンポーネントです。EKS 環境に PerfectScale for Spot の推奨事項を適用することで、Spot Instances の実行によりコスト削減を実現できます。
Amazon がメンテナンスするオープンソースプロジェクトである AWS Node Termination Handler を使用すると、「EC2 メンテナンスイベント、EC2 Spot の中断、ASG のスケールイン、ASG の AZ リバランス、API またはコンソール経由の EC2 インスタンスの終了など、EC2 インスタンスが利用不可となるイベントに対して、Kubernetes コントロールプレーンが適切に応答すること」を確実にできます。
PerfectScale for Spot は Amazon EMR をサポートしますか?
いいえ。PerfectScale for Spot は Amazon EMR をサポートしていません。これは EMR が ASG を使用せず、managed scaling と呼ばれる独自のオートスケーリング方式を使用するためです。
PerfectScale for Spot 自動登録(Auto-Enrollment)
PerfectScale for Spot Auto-Enrollment とは何ですか?
DevOps やプラットフォームチームは、クラウドインフラストラクチャの実装に infrastructure as code(IaC)ツールを用いることを好む場合が多くあります。IaC ツールにより、IT リソース管理やクラウドリソースのプロビジョニングに必要な手作業を、シンプルなコードに置き換えることができます。Auto-Enrollment は、AWS の ASG タグを活用することでこのニーズに応える機能です。
詳細は AWS tags: PerfectScale for Spot Auto-Enrollment を参照してください。