본문 바로가기

AWS6

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.
AWS Cloudformation 최근에 AWS 인프라가 점점 더 복잡해짐에 따라 AWS 인프라를 코드로 관리할 필요성이 생겼다. 이에 대해 좀 더 찾아보다가 AWS Cloudformation을 도입해보게 되었다. IaC (Infrastructure as Code) IaC는 매뉴얼한 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 일을 말한다. 장점 IaC를 사용하면 파일 형태의 config가 생성되어 편집하고 배포하기가 쉽다. 매번 동일한 환경을 생성하도록 보장한다. 환경에 대한 버전 관리도 가능하다. 방식 선언적 접근 방식: 원하는 상태를 정의하고, 시스템은 원하는 상태에 도달하기 위해 노력한다. 명령적 접근 방식: 인프라 상태 뿐만 아니라 어떻게 달성될 지도 명령으로 정의된다. 적절한 순서로 실행되어야 한다. 툴 Ter.. 2023. 12. 9.