내용으로 건너뛰기

"Capacity is unavailable" 오류로 인해 실패한 Fargate 작업의 Amazon ECS RunTask API 문제를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon Elastic Container Service(Amazon ECS) RunTask API를 사용하여 AWS Fargate 작업을 시작하려고 합니다. 그러나 용량을 사용할 수 없다는 이유로 작업이 실패합니다.

간략한 설명

Amazon ECS에 Fargate 작업을 시작하는 데 필요한 용량이 없는 경우 RunTask API가 실패하고 다음 오류 메시지가 표시됩니다.

"Capacity is unavailable at this time. Please try again later or in a different availability zone"

이 오류를 해결하려면 RunTask API를 다시 시도하기 전에 잠시 기다리십시오. 또한 AWS Step Functions를 사용하여 재시도 프로세스를 자동화할 수 있습니다.

해결 방법

RunTask API를 나중에 다시 시도하십시오.

다음과 같은 방법을 사용하면 RunTask에 더 많은 가용 용량을 부여하고 대기 시간을 단축할 수 있습니다.

  • Amazon ECS는 가용 영역별로 용량을 관리하므로 networkConfiguration.awsvpcConfiguration.subnets RunTask 요청 파라미터에서 서로 다른 가용 영역에 여러 서브넷을 설정하는 것이 좋습니다.
  • overrides.cpuoverrides.memory RunTask 요청 파라미터를 서로 다른 CPU 및 메모리 조합으로 설정합니다. 자세한 내용은 작업 CPU 및 메모리를 참조하십시오.

RunTask API 자동화

RunTask API의 시작 및 후속 재시도를 자동화하려면 Step Functions를 사용하십시오.

Step Functions에서 RunTask를 시작했는데 제한된 용량 때문에 작업이 실패하는 경우 Step Functions에서 ErrorEquals 필드에 ECS.AmazonEcException을 기록합니다. 이 정보를 사용하여 향후 재시도를 구성할 수 있습니다.

Step Function 워크플로를 설정하려면 Step Functions를 사용하여 Amazon ECS 또는 Fargate 작업 관리를 참조하십시오. Step Functions 오류 보고에 대한 자세한 내용은 Step Functions의 오류 처리를 참조하십시오.

Amazon EventBridge에서 RunTask API를 정기적으로 호출하는 경우 EventBridge에서 Step Functions를 호출하여 재시도를 자동화하십시오.

AWS 공식업데이트됨 2년 전