メインコンテンツまでスキップ

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 BeanstalkASG を使用して 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 を参照してください。

PerfectScale for Spot Auto-Enrollment がツール非依存であるとはどういう意味ですか?

IaC を用いると、インフラの仕様を含む設定ファイルを作成でき、設定の編集や配布が容易になります。IaC ツールにはさまざまな種類があり、たとえば Terraform・AWS CloudFormation・Azure Resource Manager・GCP Cloud Deployment Manager などがあります。

PerfectScale for Spot Auto-Enrollment は、必要なタグ(doitintl:spotscaling:auto-enrolldoitintl:fallback-to-on-demand)が使用する IaC ツールに依存しないという意味で、ツール非依存です。

PerfectScale for Spot Auto-Enrollment のデフォルト動作は何ですか?

PerfectScale for Spot Auto-Enrollment は、DoiT コンソールで推奨事項を適用した場合と同じように動作します。デフォルトでは、PerfectScale for Spot は希望キャパシティの 20.00% を On-Demand、80.00% を Spot Instances とすることを推奨します。許可されるインスタンスタイプについても同様に、vCPU とメモリ構成に基づいて類似のマシンタイプを推奨します。

エラーメッセージ

Incompatible launch template: already requesting for spot instances

このエラーは、Spot Instances をすでに要求している起動テンプレートを使用して、PerfectScale for Spot が mixed instances group を作成しようとした場合に発生します。

問題を解決するには、Advanced Details セクションで Request Spot InstancesPurchasing option を指定しない、新しい起動テンプレート、または同じテンプレートの新しいバージョンを作成する必要があります。

A screenshot showing AWS Launch Template purchasing option

起動テンプレートでは、Auto Scaling group で追加の設定を行い、複数のインスタンスタイプを起動し、On-Demand と Spot の購入オプションを組み合わせることができます。そのような組み合わせでインスタンスを起動するには、起動テンプレートで Spot Instance のリクエストを指定してはなりません(Limitations を参照)。そうでない場合、DoiT コンソールの ASGs 画面で次のエラーメッセージが表示されます。

Incompatible launch template: already requesting for spot instances

AWS からのエラーメッセージは次のとおりです。

Incompatible launch template: You cannot use a launch template that is set to request Spot Instances (InstanceMarketOptions) when you configure an Auto Scaling group with a mixed instances policy. Add a different launch template to the group and try again.

Incompatible launch template: launch configuration is not supported

launch configurations を使用している場合、PerfectScale for Spot の機能を活用できません。

2022 年 12 月 31 日以降、AWS は launch configurations をサポートしていないため、代わりに起動テンプレートを使用する必要があります。起動テンプレートへの移行方法については、AWS documentation を参照してください。

Incompatible launch template: this launch template has specific settings in storage, network interfaces, or advanced details

現時点では、storage・network interfaces・advanced details に特定の設定がある起動テンプレートはサポートしていません。PerfectScale for Spot を使用するには、使用したい起動テンプレートの追加設定を除いたバージョンを作成する必要があります。

A screenshot showing AWS Launch Template purchasing option