본문 바로가기

infra9

AWS lambda layer AWS Lambda에서 공통으로 사용할 부분을 어떻게 사용할지 고민해보다가 lambda layer라는게 존재해서 찾아보았다. Lambda layer 람다 계층은 추가적인 코드나 데이터를 포함하는 아카이브이다. 계층 사용을 고려하는데는 다음과 같은 이유가 있다. 배포 패키지의 크기를 줄이기 위해. 람다 계층을 사용하면 배포할 람다 함수 자체는 작아지게 된다. 핵심 함수 로직을 종속 항목과 분리하기 위해. 여러 함수에서 종속 항목을 공유하기 위해. 계층을 생성한 후 계정의 여러 함수에 적용할 수 있다. 코드 중복을 줄일 수 있다. Lambda 콘솔 코드 편집기를 사용하기 위해. 람다 코드 편집기는 aws 콘솔에서 직접 코드를 수저할 수 있다는 측면에서 유용한 기능인데, 배포 패키지가 크면 사용할 수 없다. .. 2024. 3. 23.
aws code pipeline blue / green 배포 AWS 내에서 CD를 구성하기 위해 Code Pipeline을 CDK로 구성할 필요가 있다. 이를 공부하면서 겪은 내용을 정리해 둔다. 참고 문서: https://ecsworkshop.com/blue_green_deployments/ https://github.com/aws-containers/ecs-workshop-blue-green-deployments Code Pipeline 배포를 위해 주로 사용하는 AWS 스택으로, 여러 개의 Stage로 구성할 수 있다. 이 Stage는 기능에 따라 크게 Source, Build, Deploy Stage로 나눌 수 있다. Source Stage는 코드 등 아티팩트를 가져오는 역할을 하고, Build는 임시 인스턴스를 띄워서 빌드 또는 테스트하는 역할을 수행한다.. 2024. 1. 12.
[TIL] aws codebuild에서 docker image pull rate limit 해결하기 오늘 AWS codebuild에서 docker image를 빌드할 때 pull rate limit 에러가 났는데 이를 해결한 과정을 적어두고자 한다. Context CI/CD를 위해 code pipeline을 붙여놓고, code pipeline에 code build를 포함시켜서 docker image를 build하는 과정을 포함시켰다. Base image는 debian:bookworm-slim 이다. Problem 오늘 많은 코드를 머지시켰고, CD pipeline이 많이 돌았다. 머지 후 code build에서 docker image를 빌드하는 도중 다음과 같은 에러가 발생했다. #4 ERROR: failed to copy: httpReadSeeker: failed open: unexpected sta.. 2023. 12. 15.
[TIL] mig 해제하기 nvidia a100 80GB gpu를 사용하다 mig를 해제하는 과정에서 생긴 이슈를 정리해 두고자 한다. MIG MIG(Multi-Instance GPU)는 NVIDIA H100, A100, A30 GPU에 적용된 기술이다. MIG는 GPU를 각각 자체 고대역폭 메모리, 캐시, 컴퓨팅 코어를 갖추고 완전히 격리된 최대 7개의 인스턴스로 파티셔닝할 수 있다. MIG를 이용하면 쿠버네티스에서 사용할 때 쓰루풋을 늘릴 수 있다. 기존에는 nvidia.com/gpu 하나당 하나의 모델을 할당할 수 있다. A100을 예로 들면, 80GB의 메모리에 하나의 모델로 이루어진 pod만 띄울 수 있다는 것이다. 이 80GB의 메모리를 모두 사용한다면 문제없지만, 5GB의 메모리만을 사용할 때에는 75GB의 메모리가 .. 2023. 12. 14.