Spot 向け PerfectScale のセットアップ
必要な権限
- PerfectScale for Spot Manager
PerfectScale for Spot はお客様の AWS アカウントへのアクセスを必要とします。まだの場合は、DoiT 組織に AWS アカウントをリンク してください。
アカウントに Spot 向け PerfectScale をリンクする
PerfectScale for Spot が ASG の動作を監視し推奨事項を提示できるようにするには、PerfectScale for Spot を AWS アカウントにリンクし、関連する AWS IAM ロールを更新する必要があります。
PerfectScale for Spot を AWS アカウントにリンクしても、ASG の設定やワークロードには影響しません。Spot Instance の推奨事項を適用するには、DoiT コンソールで Apply Recommendations ボタンを使用するか、PerfectScale for Spot Auto-Enrollment タグを設定する必要があります。
-
DoiT コンソール にサインインし、上部ナビゲーションバーから Integrate を選択し、Amazon Web Services を選択します。
-
Amazon Web Services 画面で、PerfectScale for Spot で使用するアカウントを選択します。
-
アカウント編集画面で、PerfectScale for Spot のチェックボックスを選択します。

-
Update account を選択して、アカウントに PerfectScale for Spot を追加します。
テンプレートから CloudFormation スタックを作成するために AWS コンソールへ移動するよう求められます。CloudFormation スタックの作成後、アカウントの更新に約 30 秒かかる場合があります。詳細は Feature permissions: PerfectScale for Spot を参照してください。
DoiT コンソールでの Spot 向け PerfectScale の推奨事項
PerfectScale for Spot を AWS アカウントにリンクすると、DoiT コンソールの PerfectScale for Spot 画面で推奨事項を確認できます。
推奨事項を表示する
推奨事項を表示するには、上部ナビゲーションバーから Optimize を選択し、PerfectScale for Spot を選択します。

各 Auto Scaling グループのステータスは Optimization Status 列に表示されます。
-
Optimized: ASG は完全に最適化されています。適用可能な推奨事項はすべて実装されています。
-
New recommendations: PerfectScale for Spot に新しい推奨事項があります。ASG を選択し、推奨事項を確認して必要に応じて修正し、変更を適用してください。
-
Not Optimized: ASG は最適化されておらず、PerfectScale for Spot の推奨事項の恩恵を受けていません。
-
Error: この ASG で PerfectScale for Spot が機能するのを妨げる要因があります。AWS CloudFormation スタックの更新が必要な場合があります。行き詰まった場合は、エキスパートへの問い合わせを開く ことができます。
推奨事項を修正する
最適化されていない ASG では、ASG の Current Values と、PerfectScale for Spot による Recommended Values が表示されます。
その ASG における現在のオンデマンドコストと稼働時間は、左上に表示されます。

推奨事項では、以下の値を調整できます。
-
On-Demand Base Capacity: 初期キャパシティにおいて On-Demand Instances で満たす必要がある ASG の最小インスタンス数。
-
On-Demand Instances: ベースキャパシティを超える部分における On-Demand Instances のパーセント。
-
Spot Instances: ベースキャパシティを超える部分における Spot Instances のパーセント。
-
Allowed Instance Types: プライマリのインスタンスタイプに基づいてプロビジョニングを推奨するインスタンスタイプ。
-
Availability Zones: 高可用性のために、指定した Availability Zones 間でインスタンスを分散します。
推奨事項を適用する
PerfectScale for Spot の推奨事項に従って ASG を再設定するには、Apply Recommendations を選択します。
成功した場合:
-
ASG を mixed instances policy で動作させ、launch template を使用するように更新します。
-
Recommended Values 列が消え、Current Values 列の値が変更内容を反映するように更新されます。
-
上部に表示されるメトリクスは、On-Demand と Spot の実際のコスト/時間の内訳、ならびに実際の削減額を示します。右上の Time Range ドロップダウンで、メトリクスを表示する期間を調整できます。
-
ASG の最適化ステータスは
Optimizedになります。
追加設定
PerfectScale for Spot は次の 2 つの追加設定を提供します。
-
Automatically update: 選択すると、PerfectScale for Spot は継続的にコスト削減の機会を探索し、自動的に ASG を最適化します。
-
Fallback to On-Demand: 選択すると、Spot Instances のキャパシティ需要を満たすのに十分な EC2 インスタンスがない場合、PerfectScale for Spot は自動的に On-Demand Instances にフォールバックします。
AWS タグ を使用する場合、追加設定は利用できません。
AWS タグ
PerfectScale for Spot は、Infrastructure as Code(IaC)ツールで使用できる次の AWS タグをサポートします。
-
PerfectScale for Spot Auto-Enrollment:
doitintl:spotscaling:auto-enroll、doitintl:fallback-to-on-demand -
Instance distributions:
doitintl:spotscaling:spot-distribution-percentage、doitintl:spotscaling:on-demand-base-capacity
AWS タグは、DoiT コンソールにサインインする代わりに、Terraform や AWS CloudFormation などの IaC ツールを使用してクラウドインフラをデプロイ・運用することを好む DevOps やプラットフォームチームに最適です。
タグのキーと値は大文字・小文字を区別します。
PerfectScale for Spot Auto-Enrollment
PerfectScale for Spot Auto-Enrollment は、IaC ツールを使用して PerfectScale for Spot の推奨事項を実装できる、ツールに依存しないソリューションです。
-
Auto-Enrollment タグ: PerfectScale for Spot の推奨事項を適用するためのタグ。
- Key:
doitintl:spotscaling:auto-enroll - Value: 次のいずれかを選択
always: AWS が Spot 市場の価格を変更・更新した場合や新しいリソースが更新・リリースされた場合に、新たなコスト削減機会を見つけて継続的な推奨事項の適用を許可します。never: PerfectScale for Spot による推奨事項の適用を停止します。
- Key:
-
フォールバック用タグ: オンデマンドへのフォールバックを有効にするためのタグ。
- Key:
doitintl:fallback-to-on-demand - Value: 次のいずれかを選択
true: Spot Instances のキャパシティ需要を満たすのに十分な EC2 インスタンスがない場合、PerfectScale for Spot は自動的に On-Demand Instances にフォールバックします。false: Spot Instance interruptions が発生しても、PerfectScale for Spot は On-Demand Instances にフォールバックしません。
- Key:
インスタンス分布
PerfectScale for Spot は、インスタンスの購入オプションに使用できる以下の AWS タグをサポートします。
-
インスタンス分布タグ:ベース容量を超えるリソースに対して、Auto Scaling グループ内の Spot Instances のパーセンテージを指定します。
- Key:
doitintl:spotscaling:spot-distribution-percentage - Value: 0 から 100 までの整数
- Key:
-
On-Demand ベース容量タグ:Auto Scaling グループの初期容量のうち、On-Demand Instances で満たす必要がある最小量を指定します。
- Key:
doitintl:spotscaling:on-demand-base-capacity - Value: 整数
- Key:
インスタンス分布タグを指定しない場合、PerfectScale for Spot はデフォルト設定を使用します:On-Demand Instances 20%、Spot Instances 80%。