Search
🔵

a1.2.a9.1.1.4.1_1. title: 코드를 컨테이너로 감싸고, AWS ECR에 컨테이너를 등록하고, 이를 세이지메이커 엔드포인트(Sagemaker Endpoint)에 배포할 수 있다.

생성
🚀 prev note
🚀 next note
♻️ next note
14 more properties
코드를 컨테이너로 감싸고(참고1), AWS ECR에 컨테이너를 등록(from2)하고, 이를 세이지메이커 엔드포인트(Sagemaker Endpoint)(from1)에 배포할 수 있다. 빌드한 컨테이너를 AWS 의 ECR에 푸시(참고2)하는 간단한 셸 스크립트는 아래와 같다. git push 와 다를 것이 없다(from2).
algorithm_name=sagemaker-decision-trees # 알고리즘 이름을 작성 account=$(aws sts get-caller-identity --query Account --output text) region=$(aws configure get region) # Get the region defined in the current configuration region=${region:-us-west-2} # default to us-west-2 if none defined fullname="${account}.dkr.ecr.${region}.amazonaws.com/${algorithm_name}:latest" docker build -t ${algorithm_name} . # Build the docker image locally with the image name docker tag ${algorithm_name} ${fullname}
Shell
복사
AWS 의 ECR 에 푸시하기 위해 도커에 로그인할 때 유저명은 AWS 를 사용하고 비밀번호는 get-login-password 를 통해 불러온 뒤(참고5) 사용하려는 ECR 레지스트리의 URI 와 함께 사용한다(참고6).
# Get the login command from ECR and execute it directly aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin ${fullname} docker push ${fullname} # then push it to ECR with the full name.
Shell
복사
parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료들.
1.
본질은 위와 같고, 저장소가 존재하지 않는 문제에 대응할 수 있는 스크립트는 아래와 같다.
# If the repository doesn't exist in ECR, create it. (참고3) aws ecr describe-repositories --repository-names "${algorithm_name}" > /dev/null 2>&1 # if (이전줄출력 != 0) { # ECR 생성 #} (참고4) if [ $? -ne 0 ] then aws ecr create-repository --repository-name "${algorithm_name}" > /dev/null fi
Shell
복사
from : 과거의 어떤 생각이 이 생각을 만들었는가?
1.
supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는가?
1.
None
opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는가?
1.
None
to : 이 문서에 작성된 생각이 어떤 생각으로 발전되고 이어지는가?
1.
None
참고 : 레퍼런스