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

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

Amazon ECR 오류 메시지 문제 해결

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

HTTP 429: 요청이 너무 많거나 ThrottleException

하나 이상의 Amazon ECR 작업 또는 API 호출에서 ThrottleException 오류 또는 오류를 받을 수 있습니다. 429: Too Many Requests 이는 짧은 간격으로 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이 발생하면 다음 문제 해결 단계가 도움이 될 것입니다.