해결된 질문
작성
·
360
·
수정됨
2
App Runner 서비스 생성
생성 중 애플리케이션 배포 실패
도커 이미지 재생성 및 App Runner 서비스 재생성, App Runner 스펙업(cpu,mem), iam, root 계정에서 생성 시도(권한 문제는 아닌듯)
이슈:
hands-on-fast-and-secure-cicd-pipeline 깃헙 클론 - 도커파일 경로에서 도커 이미지 생성 - ecr에 푸시 - ecr 이미지 url 이용하여 App Runner 서비스 생성 시 생성 실패하는 상황입니다.
의심 되었던 부분:
1. 컨테이너 이미지나 포트 설정에 문제가 있었다면 localhost:8080으로 접속해도 문제가 생겼을텐데 문제 없이 접속 가능하고요.
2. App Runner의 리소스 제한이 있었을까봐 cpu, mem을 스펙업하고 재생성 했는데도 상황은 동일합니다.
3. 계정 간 권한의 문제일까봐 iam, root 계정에서 생성해보았습니다. 상황은 동일합니다.
스샷:
에러 로그:
02-16-2024 06:37:27 PM [AppRunner] Deployment with ID : 7b4ba5a1c8f0433187d873df5bd1aa8c started. Triggering event : SERVICE_CREATE
02-16-2024 06:37:27 PM [AppRunner] Deployment Artifact: [Repo Type: ECR], [Image URL: 938923105461.dkr.ecr.us-east-1.amazonaws.com/chadtest], [Image Tag: latest]
02-16-2024 06:37:51 PM [AppRunner] Pulling image 938923105461.dkr.ecr.us-east-1.amazonaws.com/chadtest from ECR repository.
02-16-2024 06:37:54 PM [AppRunner] Successfully pulled your application image from ECR.
02-16-2024 06:38:05 PM [AppRunner] Provisioning instances and deploying image for publicly accessible service.
02-16-2024 06:38:15 PM [AppRunner] Performing health check on protocol TCP
[Port: '8080'].
02-16-2024 06:39:06 PM [AppRunner] Your application stopped or failed to start. See logs for more information. Container exit code: 1
02-16-2024 06:39:28 PM [AppRunner] Deployment with ID : 7b4ba5a1c8f0433187d873df5bd1aa8c failed.
제가 겪은 이슈와 같은 상황을 겪고 있는 유저:
https://repost.aws/ko/questions/QU0lse8IEMSi-H4mlp5AAFWw/apprunner-failed-to-deploy
https://komodor.com/learn/exit-codes-in-containers-and-kubernetes-the-complete-guide/
이게 유력한 원인으로 보이는데요...
이게 아니라면 App Runner가 업데이트 되어 강의의 생성 내용과 달라져서 그런 것 인지...
흠...
혹시 App Runner 부분이 정상적으로 진행되지 않는다면 이후 강의에 차질이 생길까요??
답변 1
0
안녕하세요.
기본 값(제한시간 2초, 비정상 임계값 5요청, 간격 5초, 정상 임계값 1요청)으로 배포하셨다는 가정 하에 8080 포트 헬스체크가 실패한 것으로 보입니다.
제 환경에서 배포 성공했을 경우 아래와 같이 43초 정도 소요되는걸 확인했습니다.(매 경우 다를 수 있습니다.)
(내부 환경으로 인한 차이를 감안했을 때) 첨부해주신 이미지에서는 51초 정도 간격이 있는 것으로 보아 헬스체크를 수행하는 포트와 실제 어플리케이션 동작 포트가 다를 수 있을 것 같습니다.
정확한 원인을 파악하기 위해, 아래 정보도 제공해주시면 감사하겠습니다.
Python 코드
2. Dockerfile
3. 배포로그
4. 애플리케이션 로그
참고로 배포로그와 애플리케이션 로그는 "App Runner 이벤트 로그" 아래에 있습니다.
Python 코드
2. Dockerfile
도커 이미지 생성 및 로컬에서 확인
ecr에 도커 이미지 푸시
App Runner 서비스 생성
App Runner 서비스 생성 실패
3. 배포로그
4. 애플리케이션 로그
앗..! mac을 사용중이시군요.
1.9. ECR, AppRunner 소개 및 실습
에 13:45 부분 보시면,
docker build ... --platform=linux/amd64
위와 같이 platform 옵션을 통해 빌드를 진행합니다.
아마 사용중이신게 Mac의 M 시리즈일 것 같습니다. 해당 시리즈는 arm 기반의 운영체제이기 때문에 amd만 지원하는 AppRunner에서는 정상적으로 동작을 하지 않습니다.
참고로, 실무에서도 exec format error
라는 문구를 보시면 높은 확률로 아키텍처가 달라서이니 참고 부탁드립니다.
--platform=linux/amd64
옵션 추가하셔서 빌드하신 후에 다시 한 번 시도 부탁드리겠습니다!
이슈 제현을 위해 10분 정도 소요될 것 같습니다...잠시만요..