inflearn logo
강의

Course

Instructor

[DevOps] Creating a fast and secure application deployment pipeline (CI/CD)

1.9. Introduction to ECR and AppRunner, and Hands-on

App Runner 서비스 생성 시 실패

Resolved

518

chad

7 asked

2

1. 무엇을 하고 싶으신가요?

 App Runner 서비스 생성

2. 언제, 어떤 오류가 발생하시나요?

 생성 중 애플리케이션 배포 실패

3. 어떤 시도를 해보셨나요?

 도커 이미지 재생성 및 App Runner 서비스 재생성, App Runner 스펙업(cpu,mem), iam, root 계정에서 생성 시도(권한 문제는 아닌듯)

4. 작성한 코드를 공유해주세요.

이슈:
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 부분이 정상적으로 진행되지 않는다면 이후 강의에 차질이 생길까요??

aws docker ci/cd Terraform gitlab devsecops trivy semgrep gitleaks

Answer 1

0

rex

안녕하세요.

기본 값(제한시간 2초, 비정상 임계값 5요청, 간격 5초, 정상 임계값 1요청)으로 배포하셨다는 가정 하에 8080 포트 헬스체크가 실패한 것으로 보입니다.

제 환경에서 배포 성공했을 경우 아래와 같이 43초 정도 소요되는걸 확인했습니다.(매 경우 다를 수 있습니다.)
image

(내부 환경으로 인한 차이를 감안했을 때) 첨부해주신 이미지에서는 51초 정도 간격이 있는 것으로 보아 헬스체크를 수행하는 포트실제 어플리케이션 동작 포트가 다를 수 있을 것 같습니다.

정확한 원인을 파악하기 위해, 아래 정보도 제공해주시면 감사하겠습니다.

  1. Python 코드
    2. Dockerfile
    3. 배포로그
    4. 애플리케이션 로그

참고로 배포로그와 애플리케이션 로그는 "App Runner 이벤트 로그" 아래에 있습니다.
image

1

chad

이슈 제현을 위해 10분 정도 소요될 것 같습니다...잠시만요..

1

chad

  1. Python 코드
    image

    2. Dockerfile
    image

    도커 이미지 생성 및 로컬에서 확인

imageimageimage


ecr에 도커 이미지 푸시
imageimage

App Runner 서비스 생성
imageimage

App Runner 서비스 생성 실패
image


3. 배포로그
imageimage


4. 애플리케이션 로그
imageimage

1

rex

앗..! mac을 사용중이시군요.

1.9. ECR, AppRunner 소개 및 실습에 13:45 부분 보시면,

docker build ... --platform=linux/amd64

위와 같이 platform 옵션을 통해 빌드를 진행합니다.

아마 사용중이신게 Mac의 M 시리즈일 것 같습니다. 해당 시리즈는 arm 기반의 운영체제이기 때문에 amd만 지원하는 AppRunner에서는 정상적으로 동작을 하지 않습니다.

참고로, 실무에서도 exec format error라는 문구를 보시면 높은 확률로 아키텍처가 달라서이니 참고 부탁드립니다.

--platform=linux/amd64옵션 추가하셔서 빌드하신 후에 다시 한 번 시도 부탁드리겠습니다!

0

chad

아...
그럼 이미지 빌드부터 다시 진행하면 될까요?...
기존 ecr 이미지로는 어쨌든 진행을 못한다는 말씀이시죠?

1

rex

맞습니다.

docker build . -t ...:latest --platform=linux/amd64 로 시도해봐주세요!

0

chad

생성이 실패하는 바람에 영상을 진행하지 못하여 그 내용을 확인하지 못했는데...
이 부분은 공지에 추가되면 좋을 듯 합니다..

0

rex

넵넵. 일단 시도해보시고 결과 알려주시면 감사하겠습니다.

0

chad

네 잠시만요 진행 중입니다.

1

chad

imageimageimage
정상적으로 생성 완료되었습니다.
amd만 지원한다니...

트러블 슈팅 같이 진행해 주셔서 감사합니다...

1

rex

고생하셨습니다. 앞으로도 잘 안되는게 있으면 편하게 질문 부탁드리겠습니다.

docker compose에 대해 질문드립니다.

0

8

1

패키지 구분에 대해 궁금한게 있습니다

0

8

1

iam 권한

0

15

1

수강기간 연장 가능하실까요?

0

21

2

강의 듣는 중인데,

0

23

1

36강 오탈자가 있는 거 같습니다.

0

20

2

node.js 설치 관련 질문 드립니다

0

22

1

Cursor 설정

0

26

1

맥북으로 RDP 연결 질문

0

29

2

라우팅 테이블 설정 중 궁금한게 있습니다.

0

34

1

수강 연장 가능하면 요청 드립니다.

0

28

2

JPA Repository 질문이 있습니다!

1

33

2

페이지네이션 처리를 쿼리에서 하는 방식 질문

1

36

1

디바이스 페어링 문의

0

32

2

cosign tlog 관련 409에러

1

72

2

gitleaks 시크릿 스캔의 기준에 대한 질문입니다.

1

72

2

gitlab-ci.yml과 CI/CD 파이프라인 까지 수강중입니다.

0

77

2

first before

1

84

1

Private Subnet과 Gitlab

0

238

2

AWS 역할에 대해서

1

351

1

강의 교안

1

277

1

DooD, DinD 또는 Kaniko 외 다른 방법은 없는걸까요?

2

481

1

Kaniko 의 한계 부분에 대한 질문

1

256

1

artifacts 에 대한 질문이 있습니다!

1

256

1