AutoScaling で EC2 インスタンスが起動せずに「You cannot specify tags for Spot instances requests if there are no Spot instances requests being created by the request.」エラーが表示されるときの対処方法

Auto Scaling グループに紐づけている起動テンプレートのバージョンで、スポットインスタンスにタグ付けする設定になっている一方で、スポット購入のオプションが有効化されていないために対象のエラーが発生しています。
2022.04.03

困っていた内容

AutoScaling で EC2 インスタンスが起動しません。
対象の Auto Scaling グループの[アクティビティ履歴]を確認すると以下のエラーが表示されます。

Launching a new EC2 instance. Status Reason: You cannot specify tags for Spot instances requests if there are no Spot instances requests being created by the request. Launching EC2 instance failed.

または

Launching a new EC2 instance. Status Reason: Could not launch On-Demand Instances. InvalidParameterValue - You cannot specify tags for Spot instances requests if there are no Spot instances requests being created by the request. Launching EC2 instance failed.

対処方法について教えてください。

どう対応すればいいの?

Auto Scaling グループに紐づけている起動テンプレートのバージョンで、スポットインスタンスにタグ付けする設定になっている一方で、スポット購入のオプションが有効化されていません。この場合、スポット購入のオプションを有効化することでエラーを解消できます。

※ スポットインスタンスを使用したくない場合:リソースタグから「スポットインスタンスリクエスト」を外した起動テンプレートのバージョンを作成し、Auto Scaling グループにそのバージョンを適用してください。

確認方法

Auto Scaling グループに紐づけている起動テンプレートのバージョンの設定をご確認ください。

起動テンプレートのバージョンの[詳細]タブから[リソースタグ]を確認すると、スポットインスタンスリクエストにタグをつける設定となっております。

タグスポットインスタンス

しかし、[高度な詳細]を開くとスポット購入のオプションが有効化されていません。

スポット購入のオプション

対応方法

以下にて対応方法を説明します。

Auto Scaling グループに紐づけている起動テンプレートのページで対象のバージョンを選択した状態でアクションボタンをクリックし、「テンプレートを変更(新しいバージョンを作成)」を選択します。

テンプレートを変更

[高度な詳細]をクリックして購入オプションの「スポットインスタンスをリクエスト」にチェックマークを入れ、テンプレートのバージョンを作成ボタンをクリックします。

スポットインスタンスをリクエスト

そして対象の Auto Scaling グループのページに戻り、編集ボタンをクリックします。

Auto Scaling グループの編集

先ほど作成した起動テンプレートのバージョンを選択し、更新ボタンをクリックします。

バージョンを変更する

エラーが解消されて、EC2 インスタンスが起動されました!

エラーが解消された

参考情報