내용으로 건너뛰기

Amazon ECS 클러스터의 새 용량 공급자를 설정하거나 기존 용량 공급자를 업데이트하려고 할 때 발생하는 문제를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Elastic Container Service(Amazon ECS) 클러스터에서 새 용량 공급자를 설정하거나 기존 용량 공급자를 업데이트할 수 없습니다.

해결 방법

다음은 ECS 클러스터에서 새 용량 공급자를 설정하거나 기존 용량 공급자를 업데이트할 때 발생하는 일반적인 문제입니다.

AWS CLI를 사용하여 AWS Auto Scaling 그룹 용량 공급자를 생성할 때 오류 발생

AWS CLI를 사용해 용량 공급자를 생성할 때는 AWS CloudTrail 이벤트를 검토하여 CreateCapacityProvider API가 있는지 확인하십시오. 다음은 일반적인 용량 공급자 API 오류입니다.

  • ClientException: 이러한 오류는 클라이언트 작업으로 인해 발생할 수 있습니다. 클라이언트 작업이 AWS Identity and Access Management(IAM) 사용자를 대신하여 작업 또는 리소스를 사용합니다. 하지만 클라이언트 작업에 작업이나 리소스를 사용하는 데 필요한 권한이 없습니다. 특정한 식별자가 유효하지 않다는 오류일 수도 있습니다.
  • UpdateInProgressException: 이 오류는 지정된 컨테이너 인스턴스에서 ECS 컨테이너 에이전트 업데이트가 이미 진행 중이기 발생합니다. 보류 중이나 준비 중과 같은 전환 단계에서 컨테이너 에이전트와 연결이 끊어지면 업데이트가 해당 상태에서 중단될 수 있습니다. 그러나 에이전트가 다시 연결되면 이전에 중지된 위치에서 업데이트가 재개됩니다.

자세한 내용은 오류를 참조하십시오.

참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

다음과 같은 오류 메시지가 나타납니다. "The specified capacity provider already exists. To change the configuration of an existing capacity provider, update the capacity provider"

용량 공급자를 생성할 때는 이전 용량 공급자 이름과 다른 이름을 사용하십시오. 또는 해당 이름의 기존 용량 공급자를 삭제한 후 새 용량 공급자를 생성하십시오.

생성된 모든 용량 공급자의 목록을 보려면 describe-capacity-providers AWS CLI 명령을 실행합니다.

aws ecs describe-capacity-providers --query capacityProviders\[\].name --region example-region

다음과 같은 출력이 나타납니다.

[
    "FARGATE",
    "FARGATE_SPOT",
    "ecs-capacityprovider-1"
]

용량 공급자를 삭제하려면 delete-capacity-provider AWS CLI 명령을 실행합니다.

aws ecs delete-capacity-provider --capacity-provider ecs-capacityprovider-1 --region example-region

새 용량 공급자를 생성하려면 create-capacity-provider AWS CLI 명령을 실행합니다.

aws ecs create-capacity-provider --name "example-capacity=provider" --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup,managedScaling={status=ENABLED,targetCapacity=100,minimumScalingStepSize=1,maximumScalingStepSize=100},managedTerminationProtection=ENABLED"

다음과 같은 오류 메시지가 나타납니다. "The specified Auto Scaling group ARN is already being used by another capacity provider. Specify a unique Auto Scaling group ARN and try again"

AWS Auto Scaling 그룹과 용량 공급자는 일대일 관계를 가져야 합니다. 용량 공급자가 하나의 AWS Auto Scaling 그룹에만 연결되어 있는지 확인하십시오. 그룹이 하나의 용량 공급자와만 연결되어 있는지 확인합니다.

용량 공급자 전략을 생성했는데 다음 오류가 발생합니다. "The specified cluster is in a busy state. Cluster attachments must be in UPDATE_COMPLETE or UPDATE_FAILED state before they can be updated. Wait and try again"

이 오류는 몇 분 후 자동으로 해결됩니다. 오류가 해결되면 용량 공급자를 다시 업데이트해 보십시오. 또는 describe-clusters AWS CLI 명령을 실행하여 첨부 파일의 현재 상태를 볼 수 있습니다. 그런 다음 첨부 파일이 UPDATE_COMPLETE 상태가 될 때까지 기다리십시오.

aws ecs describe-clusters --clusters example-ARN --include ATTACHMENTS --query clusters\[\].attachmentsStatus --region example-region

완료된 업데이트 상태 출력은 다음과 비슷합니다.

[
    "UPDATE_COMPLETE"
]

용량 공급자 제한으로 인해 오류 발생

용량 공급자가 다음을 충족하는지 확인하십시오.

  • 용량 전략에 6개 이상의 용량 공급자를 지정할 수 없습니다.
  • 클러스터 전략에 AWS Auto Scaling 그룹 용량 공급자 또는 AWS Fargate 용량 공급자를 사용하십시오. 두 가지 유형을 조합해 사용할 수 없습니다.
  • 용량 공급자 전략의 기본 값은 작업을 실행할 때만 지원됩니다.

CloudFormation을 사용해 용량 공급자가가 성공적으로 생성되었지만 콘솔에 표시되지 않음

이는 용량 공급자를 AWS CloudFormation 템플릿의 클러스터와 연결하지 않을 때 발생합니다. 이 문제를 방지하려면 CloudFormation 템플릿에서 다음 코드 조각을 사용해 용량 공급자를 클러스터에 연결하십시오.

...
ECSCluster:
  Type: 'AWS::ECS::Cluster'
  Properties:
    ClusterName: example-cluster
    CapacityProviders:
      - !Ref ECSCapacityProvider
...

관련 정보

EC2 시작 유형을 위한 Amazon ECS 용량 공급자

Amazon ECS에서 용량 공급자를 삭제할 때 나타나는 DELETE_FAILED 오류를 해결하려면 어떻게 해야 합니까?

AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠