Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動したときに表示される ReservationCapacityExceeded エラーをトラブルシューティングしたいと考えています。
簡単な説明
キャパシティ予約は、インスタンスタイプ、プラットフォーム、アベイラビリティーゾーンなど、新規または実行中のインスタンスの属性と自動的に照合されます。また、インスタンスをオープンキャパシティ予約、特定のキャパシティ予約、またはキャパシティ予約のグループで起動するかどうかを指定できます。キャパシティ予約でインスタンスを起動すると、次の ReservationCapityExceeded エラーが表示される場合があります。
「The requested reservation does not have sufficient compatible and available capacity for this request.」
このエラーは、次の理由で発生します。
- キャパシティ予約とインスタンスのインスタンスタイプ、プラットフォーム、アベイラビリティーゾーンの属性が一致しない。
- キャパシティ予約にリクエストを満たすのに十分なキャパシティがない。
- キャパシティ予約のステータスがキャンセルされているか、期限切れになっている。
詳細については、「オンデマンドキャパシティ予約でコンピューティングキャパシティを予約する」を参照してください。
Amazon EC2 コンソールを開いて、キャパシティ予約の詳細を表示します。次に、[キャパシティ予約] を選択し、表示するキャパシティ予約を選択します。
解決策
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
以下の理由に応じて、ReservationCapacityExceeded のトラブルシューティングを行います。
キャパシティ予約とインスタンスのインスタンスタイプ、プラットフォーム、アベイラビリティーゾーンの属性が一致しない
次の describe-capacity-reservations コマンドを実行して、キャパシティ予約の詳細を表示します。
**注:**example-capacity-reservation-ids は、ご自分のキャパシティ予約IDに置き換えてください。
aws ec2 describe-capacity-reservations \
--capacity-reservation-ids example-capacity-reservation-ids
Amazon EC2 インスタンスを新たに起動するか、既存の Amazon EC2 インスタンスを起動するかに応じて、ReservationCapacityExceeded エラーを解決してください。
Amazon EC2 インスタンスを新たに起動する
Amazon EC2 インスタンスを新たに起動する場合は、指定されているインスタンスタイプとアベイラビリティーゾーンを確認してください。次の describe-images コマンドを実行して、プラットフォームの詳細を取得します。
**注:**example-ami-ids は、ご自分の AMI ID に置き換えてください。
aws ec2 describe-images --image-ids example-ami-id \
--query 'Images[].[PlatformDetails]'
インスタンスタイプ、プラットフォーム、アベイラビリティーゾーンが一致しない場合は、次のアクションを実行してください。
- 属性が一致し、十分なキャパシティがあるキャパシティ予約を使用する。
- インスタンスを起動するときは、必ずキャパシティ予約属性と一致するインスタンス属性を指定または選択する。
既存の Amazon EC2 インスタンスを起動する
既存の Amazon EC2 インスタンスを起動する場合は、インスタンスのインスタンスタイプ、プラットフォームの詳細、およびアベイラビリティーゾーンの属性を確認してください。インスタンスの属性を確認するには、describe-instances コマンドを実行するか、 Amazon EC2 コンソールを使用します。インスタンス属性が一致しない場合は、属性が一致し、十分なキャパシティがあるキャパシティ予約を選択してください。詳細については、「インスタンスのキャパシティ予約設定を変更する」を参照してください。
キャパシティ予約にリクエストを満たすのに十分なキャパシティがない
キャパシティ予約の利用可能なキャパシティを確認するには、AvailableInstanceCount Amazon CloudWatch メトリクスを確認してください。または、次の describe-capacity-reservations コマンドを実行します。
**注:**example-capacity-reservation-ids は、ご自分のキャパシティ予約IDに置き換えてください。
aws ec2 describe-capacity-reservations \
--capacity-reservation-ids example-capacity-reservation-ids \
--query 'CapacityReservations[0].{AvailableInstanceCount:AvailableInstanceCount}'
要件を満たすのに十分なキャパシティがない場合は、次のアクションを実行してください。
キャパシティ予約のステータスがキャンセルされているか、期限切れになっている
describe-capacity-reservations コマンドを実行して、キャパシティ予約のステータスを表示します。
**注:**example-capacity-reservation-ids は、ご自分のキャパシティ予約IDに置き換えてください。
aws ec2 describe-capacity-reservations \
--capacity-reservation-ids example-capacity-reservation-ids \
--query 'CapacityReservations[0].{Status : State}'
キャパシティ予約のステータスがキャンセルされているか、期限切れになっている場合は、別のキャパシティ予約をターゲットにするようにインスタンスを設定します。アクティブで、インスタンスの属性と一致し、十分なキャパシティがあるキャパシティ予約をターゲットにしてください。(詳細については、「インスタンスのキャパシティ予約設定を変更する」を参照してください)。インスタンス要件に一致するキャパシティ予約がない場合は、新しいキャパシティ予約を作成します。
関連情報
既存の キャパシティーの予約へのインスタンスの起動
EC2 インスタンスを起動できないのはなぜですか?