AWS CloudFormation スタックが機能していないことが原因で、AWS Elastic Beanstalk で環境の運用に障害が発生するため、トラブルシューティングしたいと考えています。
簡単な説明
Elastic Beanstalk は、CloudFormation スタックを作成することで、Elastic Beanstalk 環境に関連するリソースを管理します。このスタックは、スタック名 awseb-envID-stack として CloudFormation コンソールに表示されます。
Elastic Beanstalk 環境が機能しなくなると、CloudFormation スタックのステータスは FAILED と表示されます。さらに、次のエラーメッセージが表示されます。
"The stack stack_id associated with environment environment-ID is in stack-status state."
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
Elastic Beanstalk 環境を稼働状態に変更するには、次の表を参照のうえ、CloudFormation スタックのステータスに応じた手順を実行してください。
| | |
|---|
| CloudFormation スタックのステータス | CloudFormation のアクション | Elastic Beanstalk のアクション |
| CREATE_FAILED | なし | 環境の再構築または環境の完全終了を実行します。 |
| UPDATE_ROLLBACK_FAILED | スタックのステータスを UPDATE_ROLLBACK_COMPLETE に移行させます。 | 操作を再試行します。 |
| DELETE_FAILED | スタックを DELETE_COMPLETE ステータスに移行させます。 | 操作を再試行します。 |
| UPDATE_ROLLBACK_COMPLETE | なし | 操作を再試行します。 |
| UPDATE_COMPLETE | なし | スタックの以前の状態が CREATE_FAILED だった場合は、再構築または終了操作を実行します。それ以外の場合は、操作を再試行します。 |
| DELETE_COMPLETE | なし | 操作を再試行します。 |
| ROLLBACK_COMPLETE | なし | 環境の再構築または環境の完全終了を実行します。 |
CloudFormation スタックのステータスが FAILED である場合は、次のいずれかの解決策を実施します。
CREATE_FAILED ステータス
スタックのステータスが CREATE_FAILED の場合、環境を復旧できません。スタックのステータスが UPDATE_COMPLETE に変化した場合も、環境の問題は解消されません。スタックのステータスが CREATE_FAILED の場合は、新しい Elastic Beanstalk 環境を作成する必要があります。
環境を再作成するには、次のいずれかを実行します。
UPDATE_ROLLBACK_FAILED ステータス
Elastic Beanstalk 環境を稼働状態に移行させるには、次の手順を実行します。
- CloudFormation コンソールを開きます。
- スタックイベントにおいてロールバック中に更新に失敗したリソースを特定し、障害に対処します。
- スタックのステータスを UPDATE_ROLLBACK_COMPLETE に変更するために、CloudFormation で更新ロールバックを行います。
- [更新ロールバックを続ける] ダイアログボックスで [高度なトラブルシューティング] を展開します。
- [スキップするリソース - オプション] セクションで、更新に失敗したリソースを選択します。
- [更新ロールバックを続ける] を選択します。完了すると、スタックのステータスは UPDATE_ROLLBACK_COMPLETE と表示されます。
- エラーが発生した操作を再試行します。
DELETE_FAILED ステータス
Elastic Beanstalk 環境を稼働状態に移行させるには、次の手順を実行します。
- CloudFormation コンソールを開きます。
- スタックイベントにおいて、削除に失敗したリソースを特定します。
- リソースを手動で削除します。たとえば、削除に失敗したリソースがセキュリティグループである場合は、Amazon Elastic Compute Cloud (Amazon EC2) コンソールを使用してそのセキュリティグループを削除します。
- CloudFormation コンソールから CloudFormation スタックを削除します。削除されたスタックのステータスは、DELETE_COMPLETE と表示されます。
- 環境の終了または環境の再構築操作を再試行します。
詳細については、「AWSEBSecurityGroup が削除に失敗した場合、Elastic Beanstalk 環境を終了または再構築する方法を教えてください」を参照してください。
関連情報
Elastic Beanstalk 環境を無効な状態から復旧する