无法分离或销毁通过 CloudFormation 脚本创建的 AWS 网络接口

问题描述

我最近已成功创建和销毁此 AWS CloudFormation 堆栈 https://github.com/jacekdalkowski/aws-cf-eks-min/blob/main/eks-min.yaml,但今天删除过程失败,此后我无法清理它。

根据日志,删除失败(按顺序):

  1. VpcGateway 附件
  2. 公共子网2
  3. 互联网网关
  4. VPC。

我尝试手动删除这些,但似乎另一个资源 BastionHostSshNetworkInterface(类型为 AWS::EC2::NetworkInterface)实际上并未被销毁。

我无法分离或破坏界面。尝试通过我的主/管理员帐户上的控制台(网页)分离界面时,出现错误

无法分离网络接口。 API 错误:“您没有访问指定资源的权限。”

尝试通过 CLI 分离时:

aws ec2 detach-network-interface --attachment-id eni-attach-03e1... --force

我收到类似的错误

调用 DetachNetworkInterface 操作时发生错误 (AuthFailure):您没有访问指定资源的权限。

我尝试给自己设置各种策略,例如AWSNetworkManagerFullAccessAmazonEC2FullAccess

如何授予我自己或我的 CLI 用户对特定网络接口的权限,以便我可以分离和/或销毁它?

解决方法

所以问题是,在删除堆栈之前,我正在使用 Kubernetes 并设置服务。在 EKS 上设置服务会导致创建弹性负载均衡器。在删除堆栈之前我没有删除我的 Kubernetes 环境,ELB 被留下孤立但连接到 VPC 并阻止它被删除。