无法使用CloudFormation删除Amazon ECS群集

时间:2017-09-18 13:07:09

标签: amazon-cloudformation

我正在使用以下CloudFormation模板来创建ECS群集。

AWSTemplateFormatVersion: '2010-09-09'
Description: 'AWS Cloudformation Template to create the Infrastructure'
Resources:
  ECSCluster:
    Type: AWS::ECS::Cluster
    Properties:
    ClusterName: 'Blog-iac-test-1'
  EC2InstanceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
    Path: /
    Roles: [!Ref 'EC2Role']
  ECSAutoScalingGroup:
    Type: AWS::AutoScaling::AutoScalingGroup
  Properties:
    VPCZoneIdentifier:
    - subnet-****
    LaunchConfigurationName: !Ref 'ECSAutoscalingLC'
    MinSize: '1'
    MaxSize: '2'
    DesiredCapacity: '1'
 ECSAutoscalingLC:
    Type: AWS::AutoScaling::LaunchConfiguration
    Properties:
      AssociatePublicIpAddress: true
      ImageId: 'ami-b743bed1'
      SecurityGroups:
      - sg-****
      InstanceType: 't2.micro'
      IamInstanceProfile: !Ref 'EC2InstanceProfile'
      KeyName: 'test'
      UserData:
        Fn::Base64: !Sub |
        #!/bin/bash -xe
        echo ECS_CLUSTER=Blog-iac-test-1 >> /etc/ecs/ecs.config
  EC2Role:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
      Statement:
      - Effect: Allow
      Principal:
        Service: [ec2.amazonaws.com]
        Action: ['sts:AssumeRole']
      Path: /
  ECSServicePolicy:
    Type: "AWS::IAM::Policy"
    Properties: 
      PolicyName: "root"
      PolicyDocument: 
        Version: "2012-10-17"
        Statement: 
        - Effect: Allow
        Action: ['ecs:*', 'logs:*', 'ecr:*', 's3:*']
        Resource: '*'
    Roles: [!Ref 'EC2Role']

堆栈已成功创建,但在销毁时,我收到以下错误:
当容器实例处于活动状态或耗尽时,无法删除群集。

我之前能够删除堆栈,这个问题最近才开始发生。 有什么可以解决这个问题的解决方法?我是否需要添加一些依赖项?

1 个答案:

答案 0 :(得分:2)

this AWS Documentation Link中所述,您是否也尝试过注销实例?:

  

注销容器实例:   在删除集群之前,您需要   必须注销该群集内的容器实例。对于每个   群集中的容器实例,请按照   取消注册容器实例即可取消注册。

     

或者,您可以使用以下AWS CLI命令注销   您的容器实例。确保替换Region集群   名称和您所使用的每个容器实例的容器实例ID   正在注销。

     

aws ecs deregister-container-instance --cluster default --container-instance container_instance_id --region us-west-2 --force