AwsTask#fetch! — cross-region IAM permission denied
Fix Plan: PullTaskWorker::perform | ecs:DescribeTasks IAM Permission Denied
Changes#
tesla: app/models/aws_task.rb#
- What:
fetch!메서드에Aws::ECS::Errors::AccessDeniedExceptionrescue 절을 추가합니다.describe_tasks호출을begin/rescue블록으로 감싸고, IAM 권한 거부 시 명확한 에러 로그를 남긴 후nil을 반환합니다.stop!메서드(lines 114-121)에서 이미 사용 중인 AWS ECS 예외 처리 패턴을 따릅니다. - Why: 현재
fetch!에서AccessDeniedException이 발생하면PullTaskWorker의rescue StandardError까지 bubble up되어 IAM 문제와 다른 에러를 구분하기 어렵습니다. 명시적 rescue로 권한 문제를 즉시 식별할 수 있습니다. - Lines: 69-73 (describe_tasks 호출 부분)
Acceptance Criteria#
-
app/models/aws_task.rb의fetch!메서드에Aws::ECS::Errors::AccessDeniedExceptionrescue 절이 존재 - rescue 절에서
Cupix::Logger.error로 "AccessDeniedException" 메시지와task_id를 로깅 -
stop!메서드의 기존 예외 처리 패턴(lines 114-121)과 일관된 코드 스타일
Tests#
- 기존 테스트: spec 파일 없음 (spec/models/aws_task_spec.rb 미존재)
- 신규 테스트: 없음 — rescue 절 추가만으로 기존 동작을 변경하지 않음