EC2 の「ami-xxxxxxxxxxxxxxxxx の詳細をロードできません」エラーについて
Contents
概要
- 今回は、EC2 のAMIに表示された「ami-xxxxxxxxxxxxxxxxx の詳細をロードできません」のエラーを調査した結果をまとめます。
「ami-xxxxxxxxxxxxxxxxx の詳細をロードできません。」エラーについて
エラーの詳細
- EC2 のコンソールを開き、インスタンスの説明をタブを選択します。AMI の情報に下記のエラーが表示され、AMIの情報が表示できません。
ami-xxxxxxxxxxxxxxxxx の詳細をロードできません。これを表示するアクセス許可がない可能性があります。
- 以下、通常の表示パターンです。
- 以下、エラー表示のパターンです。
AMI エラーの発生条件
- 以下、これまで経験した「ami-xxxxxxxxxxxxxxxxx の詳細をロードできません」のエラー発生条件です。2パターンあります。
- AWSが提供している Windows Server のAMI イメージを使用して起動したインスタンスにおいて、新しいAMIがリリースされ、古いAMIイメージ(3 か月を超える AMI)が非公開となった場合。
- AWSが提供しているAMIではなく、カスタムAMI(プライベートイメージ)を使用して起動したインスタンスにおいて、AMIの登録が解除された場合。カスタムAMI は、Linux, Windows Server に限らず対象です。
AMI エラーの影響と対処について
- この機会に、AMI エラーの影響調査を行いました。対処方法についても以下に記載しています。
インスタンスの停止/起動
- 共有元アカウントよりAMIの共有を削除し、「ami-xxxxxxxxxxxxxxxxx の詳細をロードできません」のエラーが表示された状態で、インスタンスの停止 → 起動を実施しました。結果は、このAMI エラーが発生した状態でもインスタンスは停止およびその後起動が可能です。
- 念のため、AMIの共有を削除だけでなく、共有元アカウントにてAMI登録解除および関連するスナップショットを削除した場合も、共有先のインスタンスの停止 → 起動は問題なく実施できることを確認しました。
インスタンスのイメージ取得
- 共有元アカウントよりAMIの共有を削除し、「ami-xxxxxxxxxxxxxxxxx の詳細をロードできません」のエラーが表示された状態で、インスタンスのイメージ取得が可能であることを確認しました。先ずは一安心ですね。
- インスタンスの起動イメージが使用できない状態ですので、インスタンスの障害が起きる前にインスタンスのイメージを取得しておきましょう。
EC2 Auto Scalingによるスケールアウト
- 対象のインスタンスがEC2 Auto Scaling で起動している場合は影響があります。Auto Scaling によるインスタンス障害時の代替やスケールアウトが行われた場合に、新しいインスタンスが起動できませんでした。
- Auto Scaling による起動イメージは、AWSが提供しているAMIではなく、カスタムAMIを使用しましょう。また、AMIの共有ではなく、自己所有のイメージを作成して起動テンプレートにセットします。
- Windows ServerでカスタムAMI を使用する場合は、sysprepの実行が必要となります。詳細は、下記の記事を参照ください。
- カスタムAMI 以外の方法としては、下記ドキュメントに記載されている SSM Parameter Store から AMI のメタ情報を定期的に取得して起動テンプレートを更新する方法があります。