본문 바로가기

AWS4

AWS Lambda에 TypeScript 코드로 배포하기 이전 글에서 AWS Lambda와 API Gateway를 활용하여 Serverless API 환경을 구성하는 법을 알아보았다면 이번엔 실전편이다! 이전 글에서 구현한 Lambda 함수의 핸들러(이벤트를 처리하는 함수 코드의 메서드)는 기본적으로 .js 접미사가 있는 파일을 CommonJS 모듈로 취급한다. 즉, node.js 코드로 구현해야 한다는 뜻이다. 물론 선택적으로 파일명을 .mjs 확장자로 사용하여 ES 모듈로 지정할 수는 있다. [공식문서 참고] 그러나 이번 글에서는 Typescript를 이용해 Lambda 함수를 생성하고 배포하는 과정을 기록해보려 한다. > Lambda에 Typescript 코드 배포하는 방법들 - npx tsc 명령어로 트랜스파일하여 직접 zip 업로드 - AWS SAM .. 2024. 3. 1.
AWS Lambda + API Gateway로 Serverless API 환경 구성하기 > AWS Lambda란? 서버리스(serverless) 아키텍쳐. Lambda는 주로 서버리스(serverless)라는 용어와 함께 사용된다. 서버리스란 '서버가 없음'을 의미하지만 사실 서버가 아예 없는것은 아니고 서버의 관리 주체가 aws로 넘어감을 의미한다. 람다는 백엔드를 작은 함수 단위로 쪼개어 aws 내부의 서버에 업로드 하는 방식이다. 그러면 aws는 해당 함수를 내부 서버에 업로드 하고 요청 발생시 요청에 맞는 람다함수를 실행시켜준다. 따라서 람다를 이용하면 별도의 서버 구성 없이 클라이언트의 요청에 따라 원하는 함수를 실행시킬 수 있다. 그리고 람다는 요청 수 기반으로 비용이 측정되기 때문에 24시간 켜놓아야 하는 EC2같은 서비스 대비 저렴하게 이용할 수 있다. > API Gatewa.. 2024. 3. 1.
aws S3, CloudFront, Route53 연동하기 자체 개발한 플랫폼을 실제 도메인과 서버와 연결하기 위해 S3를 처음 사용해 보았다. 대략적 흐름은 이렇다. - 로컬에서 파일 build (npm build / yarn build) - 생성된 build 폴더 안의 파일들을 S3에 업로드 -> cloudfront 연동 -> Route 53 연동 s3와 cloudFront Route 53에서 기본 설정값에서 변경사항 위주로 기록하였다. 1. S3 생성하기 ACL 활성화: 객체 라이터로 변경. 퍼블렉 엑세스 차단 비활성화. 이 버킷과 그 안에 포함된 객체가 퍼블릭 상태가 될 수 있음을 알고 있습니다 체크. 여기는 수정할게 없으니 버킷 만들기 클릭 로컬에서 build한 파일들을 드래그 앤 드롭 이제 할 일은 버킷에 퍼블릭 권한을 활성화 해주어야 한다. 모든 버.. 2023. 4. 5.
s3로 배포했을 경우) root 주소 말고 다른 주소로 들어가서 새로고침시 403 error 뜰때 > 이슈 CloudFront를 거쳐 AWS S3에 static web hosting으로 배포한 회사 웹페이지를 google search console에서 각 라우터마다 URL 테스트를 했을때 아래 이미지와 같은 403 에러가 발생했다. > 원인 처음에는 S3에 "/"로 접근하지 않는 다른 URL을 차단하는 설정이 되어있는 것으로 생각했지만 "/"를 제외한 URL을 막는 설정은 없었다. 구글링을 통해 알게된 사실은 CSR로 하게되면 해당 URL에 파일이 없어서 에러가 나니까 이 때 에러를 "/"로 전달하게 하면 된다는 내용이었다. 우리가 개발하고 있는 Web App에는 Route마다 보여야 하는 페이지가 다를 수 있는데, 만약 /about라는 Route가 존재한다고 하면 현재 상태에서 해당 Route로 접.. 2022. 11. 23.