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

4분 분량
0

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

간략한 설명

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

  • AWS Command Line Interface(AWS CLI)를 이용해 오토 스케일링 용량 공급자를 생성할 때 오류가 발생합니다.
  • 다음과 같은 오류 메시지가 나타납니다. "The specified capacity provider already exists. To change the configuration of an existing capacity provider, update the capacity provider."
  • 다음과 같은 오류 메시지가 나타납니다. "The specified Auto Scaling group ARN is already being used by another capacity provider. Specify a unique Auto Scaling group ARN and try again."
  • 용량 공급자 전략을 생성할 때 다음과 같은 오류 메시지가 나타납니다. "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."
  • 용량 공급자 제한으로 인해 오류가 발생합니다.
  • AWS CloudFormation을 사용해 용량 공급자가가 성공적으로 생성되었지만 콘솔에 표시되지 않습니다.

해결 방법

AWS CLI를 사용해 오토 스케일링 용량 공급자를 생성할 때 오류가 발생합니다.

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

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

자세한 내용은 오류를 참고하세요.

참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

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

용량 공급자를 생성할 때는 이전 용량 제공자 이름과 다른 이름을 사용하세요. 또는 해당 이름의 기존 용량 공급자를 삭제한 후 새 용량 공급자를 생성할 수 있습니다.

생성된 용량 공급자의 목록 전체를 보려면 다음 명령을 실행합니다.

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

다음과 같은 출력이 표시됩니다.

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

용량 공급자를 삭제하려면 다음 명령을 실행합니다.

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

출력 예제와 추가 옵션을 보려면 delete-capacity-provider를 참고하세요.

새 용량 공급자를 생성하려면 다음 명령을 실행합니다.

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"

출력 예제와 추가 옵션을 보려면 create-capacity-provider을 참고하세요.

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

오토 스케일링과 용량 공급자는 일대일 관계여야 합니다. 오토 스케일링 한 개를 용량 공급자 하나에 연결해야 하며, 그 반대로도 마찬가지입니다. 내 용량 공급자가 오토 스케일링 하나에만 연결되어 있는지 확인하세요.

다음과 같은 오류 메시지가 나타납니다. "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"

이 오류는 몇 분 후 자동으로 해결됩니다. 잠시 기다린 후 용량 공급자를 다시 업데이트해 보세요. 또는 다음 CLI 명령을 실행해 첨부 파일 현재 상태를 확인할 수 있습니다. 그런 다음 첨부 파일이 UPDATE_COMPLETE 상태가 될 때까지 기다리세요.

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

다음과 같은 출력이 표시됩니다.

[
    "UPDATE_COMPLETE"
]

용량 공급자 제한으로 인해 오류가 발생합니다.

용량 공급자를 생성하거나 업데이트하기 전에 다음 사항을 검토하세요.

  • 한 개 용량 전략에는 용량 공급자를 6개 이상 지정할 수 없습니다.
  • 클러스터 전략에서는 오토 스케일링 용량 공급자나 AWS Fargate 용량 공급자 중 하나를 사용할 수 있습니다. 두 가지 유형을 조합해 사용할 수 없습니다.
  • 용량 공급자 전략의 기본 값은 작업을 실행할 때만 지원됩니다.

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

이는 용량 공급자가 CloudFormation 템플릿의 클러스터와 연결되지 않았을 때 발생할 수 있습니다. 이 문제를 방지하려면 CloudFormation 템플릿에서 다음 코드 조각을 사용해 용량 공급자를 클러스터에 연결하세요.

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

관련 정보

Amazon ECS 용량 공급자

오토 스케일링 용량 공급자

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

AWS 공식
AWS 공식업데이트됨 9달 전
댓글 없음

관련 콘텐츠