EC2 インスタンス開始時に The requested configuration is currently not supported. のエラーが発生した場合に確認すること

インスタンスタイプ変更後にインスタンスの起動を試みて"The requested configuration is currently not supported.Please check the documentation for supported configurations."というエラーメッセージが表示された場合には、インスタンスタイプがアベイラビリティゾーンで利用可能か確認してみてください。

コンバンハ、千葉(幸)です。

今回は決め打ちで、以下のエラーメッセージで検索してたどり着いた方に向けて書いていきます。

The requested configuration is currently not supported. Please check the documentation for supported configurations.とは何ぞや

わたしの環境で発生したシチュエーションは以下です。

▼変更前のインスタンスタイプが t2.micro である

EC2_Instace_before

▼r6i.large にインスタンスタイプの変更を試み、正常に変更される

Ec2_Instance_after

▼インスタンスを起動(開始)しようとするとエラーが発生する

Instance_run_error

インスタンス i-xxxxx の 開始 に失敗しました

The requested configuration is currently not supported. Please check the documentation for supported configurations.

このエラーが発生した時、どこを確認すればいいの?というのを記していきます。

先にまとめ

  • インスタンスタイプがアベイラビリティゾーンで利用可能であるかまずは確認しよう
  • マネジメントコンソールの「EC2」→「インスタンスタイプ」で利用可能かどうか確認できます
  • その他の原因の可能性もあるので、上記に当てはまらなければ以下を確認しよう
  • 原因: 起動テンプレートまたは起動設定の一部のオプションにインスタンスタイプとの互換性がない、あるいは、リクエストされた AWS リージョンまたはアベイラビリティーゾーン内では、インスタンス設定がサポートされていない可能性があります。

  • 解決策:

    別のインスタンス設定を試してください。要件に適合したインスタンスタイプを検索するには、「Amazon EC2 Linux インスタンス用 ユーザーガイド」の「Amazon EC2 インスタンスタイプの検索」を参照してください。

    この問題の詳細な解決方法については、下記を確認してください。

    • 選択した AMI が、インスタンスタイプでサポートされたものであることを確認します。例えばインスタンスタイプで、インテル Xeon プロセッサではなく、ARM ベースの AWS Graviton プロセッサを使用している場合には、ARM 互換の AMI を使用する必要があります。
    • リクエストしたリージョンとアベイラビリティーゾーンの中で、インスタンスタイプが利用可能であるかをテストします。最新世代のインスタンスタイプには、特定のリージョンまたはアベイラビリティーゾーンではまだ利用できないものがあります。古い世代のインスタンスタイプについては、新しいリージョンとアベイラビリティーゾーンで利用できない場合があります。場所 (リージョンまたはアベイラビリティーゾーン) ごとに、利用可能なインスタンスタイプを検索するには、describe-instance-type-offerings コマンドを使用します。詳細については、「 Amazon EC2 Linux インスタンス用ユーザーガイド」の「Amazon EC2 インスタンスタイプの検索」を参照してください。
    • ハードウェア専有インスタンスまたは Dedicated Hosts を使用する場合は、ハードウェア専有インスタンスまたは Dedicated Hosts としてサポートされているインスタンスタイプを選択する必要があります。

上記のドキュメントは EC2 Auto Scaling のものですが、単純なインスタンス起動の場合に当てはまる部分も多くあります。Amazon EC2 のトラブルシュートのドキュメントは以下です。(ちょっと内容がさみしい)

インスタンスタイプがアベイラビリティゾーンで利用可能か確認する

EC2 コンソールの「インスタンスタイプ」を開くと、インスタンスタイプの各種情報を確認できる画面になります。

いくつか確認可能な項目があり、どれを一覧画面で表示するかは右上の歯車アイコンから変更できます。アベイラビリティゾーンを表示するようにしましょう。

EC2_Management_Console_EC2_InstanceType

今回の変更後のインスタンスタイプである r6i.large を確認すると、アベイラビリティゾーンとしてap-northeast-1a, ap-northeast-1dが表示されています。

EC2_Management_Console_InstanceType

今回の事象が発生したインスタンスはアベイラビリティゾーンap-northeast-1cに属していました。

EC2_Management_Console_availabilityZone

アベイラビリティゾーンで利用可能でないインスタンスタイプで起動を試みたためエラーが発生した、ということが分かりました。

EC2 インスタンスのローンチ(新規作成)の時は??

インスタンスタイプ変更でなく、新規にインスタンスを作成する場合はどうなのか?が気になったので試してみました。

  • アベイラビリティゾーン:ap-northeast-1c
  • インスタンスタイプ:r6i.large

上記の組み合わせで作成を試みると、作成リクエスト実行後に以下のエラーが発生しました。

インスタンスを起動できませんでした

Your requested instance type (r6i.large) is not supported in your requested Availability Zone (ap-northeast-1c). Please retry your request by not specifying an Availability Zone or choosing ap-northeast-1a, ap-northeast-1d.

EC2_Management_Console_launch_failer

インスタンスタイプがアベイラビリティゾーンで利用可能でないことがメッセージに記載されています。こちらのエラーメッセージはわかりやすいですね。

アベイラビリティゾーンで利用可能なインスタンスタイプを検索する

今回のケースでは、現時点でr6i.largeが選択できない、ということで他のインスタンスタイプを検討します。

EC2 コンソール「インスタンスタイプ」ではさまざまな切り口でフィルタリングできます。

以下の画像は以下の組み合わせでフィルタリングしている例です。

  • メモリ(GiB)が 16 GiB 以上である
  • アベイラビリティゾーンが以下のいずれかである
    • ap-northeast-1a, ap-northeast-1c
    • ap-northeast-1a, ap-northeast-1c, ap-northeast-1d

EC2_Management_Console_Instance_Type

アベイラビリティゾーンで利用可能なインスタンスタイプに変更して起動を試みると、問題なく実行中ステータスに遷移しました。

EC2_Instance_run_success

本事象は、比較的新しめのインスタンスタイプに変更を試みたときに起こることが多いと思います。時間の経過とともに利用可能なアベイラビリティゾーンが増えていくこともありますので、インスタンスタイプ変更が喫緊でない、という場合には少し様子を見て対応可能になるのを待つのも選択肢の一つかと思います。

参考:ゾーンネームとゾーン ID の組み合わせはアカウントによって違うこともある

ここまでap-northeast-1a, ap-northeast-1c, ap-northeast-1dといったアベイラビリティゾーンを見てきましたが、アカウントによっては「インスタンスタイプ」から検索した結果が異なるかもしれません。

ap-northeast-1a, ap-northeast-1c, ap-northeast-1dなどはゾーンネームと呼ばれるのに対し、apne1-az4といった表し方はゾーン IDと呼ばれます。AWS アカウントが異なるとこれらの組み合わせも変わることがあるため注意が必要です。

手っ取り早いところでは EC2 コンソールのダッシュボードから確認できるので、意識しておくとよいでしょう。

終わりに

The requested configuration is currently not supported. Please check the documentation for supported configurations.というエラーメッセージが出た時にどうする、というエントリでした。

インスタンスタイプがアベイラビリティゾーンで利用可能でない」が原因として最も多く考えられるので、まずはそこを確認してみてください。(アベイラビリティゾーンで利用可能でなくとも変更自体はできる、というのがつまずきポイントですね。)

同じエラーが発生した方の参考になれば幸いです。

以上、 チバユキ (@batchicchi) がお送りしました。

ちなみに

他にも以下のケースで同じエラーメッセージが出ることがあるようです。