Amazon ECR 오류 메시지 문제 해결 - Amazon ECR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon ECR 오류 메시지 문제 해결

일부의 경우, Amazon ECR 콘솔이나 AWS CLI 를 통해 API 호출을 시작하면 오류 메시지가 표시되고 종료됩니다. 몇 가지 일반적인 오류 메시지 및 잠재적인 해결 방안이 아래 설명되어 있습니다.

HTTP 429: Too Many Requests or ThrottleException

하나 이상의 Amazon ECR 작업 또는 API 호출로부터 429: Too Many Requests 오류 또는 ThrottleException 오류를 받을 수 있습니다. 이는 짧은 간격으로 Amazon ECR에서 단일 엔드포인트를 반복적으로 호출하고 있으며, 요청에 병목 현상이 발생하고 있음을 나타냅니다. 병목 현상은 단일 사용자로부터 단일 엔드포인트로의 호출이 일정 기간 동안 특정 임계값을 초과할 때 발생합니다.

Amazon ECR의 각 API 작업에는 연결된 속도 스로틀이 있습니다. 예를 들어 GetAuthorizationToken 작업의 제한은 20TPS(초당 트랜잭션)이며 200TPS까지 확장 가능합니다. 각 리전의 각 계정에는 최대 200개의 GetAuthorizationToken 크레딧을 저장할 수 있는 버킷이 생성됩니다. 이러한 크레딧은 초당 20의 속도로 보충됩니다. 버킷에 200개의 크레딧이 있으면 1초 동안 초당 200개의 GetAuthorizationToken API 트랜잭션을 수행한 다음 초당 20개의 트랜잭션을 무기한 유지할 수 있습니다. Amazon ECR API의 속도 제한에 대한 자세한 내용은 Amazon ECR 서비스 할당량 섹션을 참조하세요.

병목 현상 오류를 해결하려면 증분 백오프가 있는 재시도 함수를 코드에 구현하십시오. 자세한 정보는AWS SDK 및 도구 참조 설명서재시도 동작을 참조하세요. 또 다른 옵션은 Service Quotas 콘솔을 사용하여 속도 제한 증가를 요청하는 것입니다. 자세한 내용은 AWS Management Console에서 Amazon ECR 서비스 할당량 관리 섹션을 참조하세요..

HTTP 403: "User [arn] is not authorized to perform [operation]"

Amazon ECR로 작업을 수행하려고 시도할 때 다음 오류가 표시될 수 있습니다.

$ aws ecr get-login-password A client error (AccessDeniedException) occurred when calling the GetAuthorizationToken operation: User: arn:aws:iam::account-number:user/username is not authorized to perform: ecr:GetAuthorizationToken on resource: *

이는 사용자에게 Amazon ECR를 사용할 권한이 부여되지 않았음을 나타내거나 해당 권한이 올바르게 설정되지 않았음을 나타냅니다. 특히, Amazon ECR 리포지토리에 대해 작업을 수행하고 있는 경우, 사용자에게 해당 리포지토리에 액세스할 수 있는 권한이 부여되었는지 확인하십시오. Amazon ECR에 대한 권한 생성 및 확인에 대한 자세한 내용은 Amazon Elastic Container Registry용 Identity and Access Management 단원을 참조하십시오.

HTTP 404: "Repository Does Not Exist" 오류 발생

현재는 존재하지 않는 Docker Hub 리포지토리를 지정하는 경우 Docker Hub가 이를 자동으로 생성합니다. Amazon ECR에서는 먼저 새로운 리포지토리가 명시적으로 생성되어야 이를 사용할 수 있습니다. 이렇게 하면 새로운 리포지토리가 실수(예: 오타)로 생성되지 않으며, 또한 새로운 리포지토리에 적절한 보안 액세스 정책이 명시적으로 지정되도록 해줍니다. 리포지토리 생성에 대한 자세한 내용은 Amazon ECR 프라이빗 리포지토리 단원을 참조하십시오.

오류: TTY가 아닌 장치에서 대화형 로그인을 수행할 수 없습니다.

오류 Cannot perform an interactive login from a non TTY device이 발생하면 다음 문제 해결 단계가 도움이 될 것입니다.