概要
AWSで不要になったルートテーブルを削除しようとしてエラーで削除できない。
The routeTable 'rtb-*****' has dependencies and cannot be deleted. (Service: AmazonEC2; Status Code: 400; Error Code: DependencyViolation; Request ID: ****-****-*****-*****)
当該エラーが表示されるケースとしては以下 2 点の可能性が考えられる
- メインルートテーブルである
- サブネットに関連付けられている
今回は、1)に該当してました。
残念ながらメインルートテーブルは VPC 自体の削除時にのみ削除できる仕様となっているため、VPCも削除することにしました。
が、またエラーでVPCも削除できない。
The vpc 'vpc-*****' has dependencies and cannot be deleted. (Service: AmazonEC2; Status Code: 400; Error Code: DependencyViolation; Request ID: *****-*****-****-****-*****)
依存関係はデフォルトのセキュリティグループが残されているだけの状況だと思うけど、メインルートテーブルと同様VPC 自体の削除時にのみ削除できるはず。
でも、メッセージでは依存関係のエラーと思われるエラーが見受けられてるのでさらに依存関係を探してみる。
まとめ
VPCにて、VPC エンドポイントを関連付けされていることがわかりました。
この関連付けを解除することでVPCを削除でき不要になったルートテーブルも削除できました。
- VPC コンソールへ接続
- VPC エンドポイント(vpce-*****)を選択
-
-
- で選択したVPC エンドポイントを削除
[Actions] - [Delete Endpoints]
- で選択したVPC エンドポイントを削除
-
ElasticBeanstalkで作成した環境で、
関連付けを調べるのに時間がかかったので残しておきます。