클라우드/AWS
[Mac OS]ECS exec format error (ECR, ECS 오류, task, cluster)
chanstory
2023. 1. 25. 23:41
반응형
ECS cluster를 통해 service 배포 중
exec format error 이라는 에러가 떴다.
Mac M1 환경에서 빌드된 이미지를 통해 Task definition 을 진행하여 서비스를 배포시도를 하고 있는 상황이다.
(git 으로 code push 시 Github Action 을 통한 이미지 자동 빌드 및 ECR로 push)
오류 원인
- Task Definition 시 운영체제/아키텍처 선택 오류
Fargate 는 x86 아키텍쳐만 지원하므로 Mac M1 환경에서 이미지를 빌드할 때
아래와 같은 코드 수정이 필요하다.
#FROM node:16 //x86
FROM --platform=linux/amd64 node:16-alpine // ARM64
임시로 도커 빌드 시 platform 을 명시하여 이미지 빌드 시 x86 아키텍처에도 적용될 수 있도록 한다.
이외의 방법으로는
로컬에서 빌드된 이미지를 통한 태스크 정의 = ARM64 아키텍처 적용
Github Action 에서 빌드된 이미지를 통한 태스크 정의 = x86 아키텍처 적용
위 방법이 있다.
코드에서 platform 을 명시해주는것이 현재 실습환경에서는 더 유용한 방법 이다.
반응형