无法删除 ECS 的 EC2 实例(EC2 容器服务)

Unable to delete EC2 instance for ECS(EC2 Container Service)

由于最近推出了 Amazon ECS,我尝试用它开始一个示例。看起来 ECS 会为 ECS 创建一个 EC2 实例作为 "cluster",其名称类似于 "ECS Instance - EC2ContainerService-default-e40c3e79-1d27-4512-a790-c6782b45b15a"。但是,当我不想再为我的容器提供服务时,我找不到删除此 EC2 实例的方法。

当我通过网络控制台终止这个实例时,另一个具有相同名称(但实例 ID 不同)的实例稍后会出现。这很烦人,已经收取了我一些钱。这是 EC2 网络控制台的屏幕截图:

总有一个 运行 实例。

这是我的 ECS web 控制台的屏幕截图,我已经删除了所有集群。

此时,我找不到关于此问题的任何文档或博客。 :(

Note

If your instance is maintained by an Auto Scaling group or AWS CloudFormation stack, terminate the instance by updating the Auto Scaling group or AWS CloudFormation stack; otherwise, the Auto Scaling group will recreate the instance after you terminate it.

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deregister_container_instance.html

可以在 EC2 控制台导航窗格中找到 Auto Scaling 组:在 Auto Scaling 下,单击 Auto Scaling 组。

如果您使用 Elastic Beanstalk 创建了实例。那么你应该按照下面的link来永久终止这个。

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.terminating.html

正如 Michael - sqlbot 所指出的,AWS Auto Scaling 机制可能会重新创建实例以满足初始配置需求(例如 ECS 集群)。

防止这种情况发生的一种选择是通过发出

将自动缩放组更新为 0 个实例

aws autoscaling update-auto-scaling-group --auto-scaling-group-name modify-this-with-auto-scaling-group-name --min-size 0 --max-size

此外,如果不需要自动缩放组,请通过发出

删除自动缩放组

aws autoscaling delete-auto-scaling-group --auto-scaling-group-name modify-this-with-auto-scaling-group-name

希望对您有所帮助!