1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Elastic Beanstalkの環境の終了やアプリの削除でerror

Last updated at Posted at 2021-09-07

状況

Elastic Beanstalkで環境やアプリケーションが削除できなくなる時がありました。

原因

RDSだったり、セキュリティグループなどの依存関係があると削除できなくなるようです。

エラーメッセージ

以下はElastic Beanstalk管理内にRDSを立てた環境でRDSを先に削除してしまった際に出たエラーメッセージです。

error.txt

ERROR
Stack deletion failed: The following resource(s) failed to delete: [AWSEBRDSDatabase].
2021-xx-xx-xxxx	
ERROR
Deleting RDS database named: xxxxxxxxxxxx failed Reason: DBInstance xxxxxxxxxxxx was not found during DescribeDBInstances

余談&注意点

注意点
今回のエラーの本筋とは関係ありませんが
Elastic BeanstalkではRDSを『管理下に置かない』ことが推奨されています。
理由はElastic Beanstalkの環境を削除した際にRDSが管理下にあると
一緒に削除されてしまうからです。
これを防止する方法としてRDSインスタンス設定で削除防止の設定をすることもできます。

解決策

CloudFormationをラップして定番ウェブアプリケーションのAWSにおけるベストプラクティス的な
構築をサクッとサポートしてくれるのがElastic Beanstalkなんですね。なので
1.CloudFormationの管理画面を開きます。
2.左メニューからスタックをクリックします。
3.ステータスの欄が[DELETE_FAILED]となっているスタックを確認します。
(Elastic Beanstalk 環境の IDが出ていればその内容も含めて確認します)
4.失敗している処理を進めたい場合は左側のチェックを入れて[削除ボタン]を押します。
5.ポップアップウィンドウでチェックを入れるとその「リソースは無視する」という動きになりますのでチェックを入れます。
cantdeleteeb.jpg
6.スタックのステータスが [DELETE_COMPLETE] に変わったら、 Elastic Beanstalkの管理画面から[環境を終了]します。

セキュリティグループが原因の場合

基本的には同様の手順で消すことができます。
しかし、セキュリティグループ自体も削除できない場合があります。
もし使っていないという確認が取れればセキュリティグループの
インバウンド、アウトバウントを削除してセキュリティブループ同士の
依存関係をとってあげることで削除できたりします。
詳細は参考ページをご参照下さい。

参考情報

本家:Beanstalkの削除
本家:セキュリティグループの削除

蛇足

PaasやSaasなどで機能が豊富で手軽なゆえに実はブラックボックス化してしまっていることは結構ある気がします。
Beanstalkの中身を詳しく知るにはVPCやCloudFormationあたりを掘り下げれば理解が深まると思います。
ツールで便利になってはいますがまだまだ最低限の知識は必要ですね。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?