AWS Lambda
-
AWS 를 사용한 서버리스 아키텍쳐 적용기(삽질기) (7) - IAM role 세팅Web Study/Server 2019. 6. 11. 12:33
저번 글에서 빠르게 만들면서 AdministratorAccess 정책을 이용해서 권한을 설정해줬습니다. 하지만 AdministratorAccess 는 모든 권한에 접근할 수 있기 때문에 혹시나 잘못되면 과금등에도 손댈 수 있기 때문에 role 변경이 필요해보입니다. 그럼 어떤 권한을 부여해야되는지 알아보도록 하겠습니다. 0. 기존 권한 확인 및 사용된 권한 확인. AWS에서 IAM Management Console 로 이동해서 왼쪽 메뉴 중에서 '사용자' 를 클릭하면 정의된 사용자를 확인할 수 있습니다. 해당 사용자를 클릭하면 아래와 같이 AdministratorAccess 권한이 설정된 것을 확인할 수 있습니다. 정확하게 어떤 서비스들이 사용되었는지 확인하기 위에 엑세스 관리자를 클릭해 확인해보겠습니다..
-
AWS 를 사용한 서버리스 아키텍쳐 적용기(삽질기) (6) - serverless 프레임워크 2Web Study/Server 2019. 5. 22. 11:27
저번 글에서 서버리스 프레임워크를 간단하게 사용해봤습니다. 이번 글에선 좀 더 많은 기능을 테스트해보겠습니다. 0. 새로운 프로젝트 생성 sls create -t aws-nodejs -p 명령어를 통해 다시 프로젝트를 생성하겠습니다. 생성한 다음 해당 폴더에 들어가서 yarn init -y 명령어를 통해 package.json을 만들어줍니다. 또한 이번에는 좀 더 편하게 사용할 수 있도록 serverless-http, serverless-webpack 등을 사용할 예정입니다. * serverless-http? 기존 node 기반 백엔드 서버 구축에 사용되는 express, koa 등의 프레임워크로 람다 함수를 wrapping 해서 사용할 수 있게 만들어주는 일종의 툴. * serverless-webpac..
-
AWS 를 사용한 서버리스 아키텍쳐 적용기(삽질기) (5) - serverless 프레임워크 1Web Study/Server 2019. 5. 14. 18:03
0. serverless framework란? serverless framework는 서버없는 아키텍쳐를 배치하고 운영하기 위한 프레임워크 입니다. -> serverless architecture를 쉽게 설계, 운영하도록 도와주는 툴킷. 1. serverless 설치 공식 홈페이지인 https://serverless.com/ 에 들어가면 아래와 같은 메인 화면이 보입니다. 오른쪽에 커맨드를 보고 따라해보겠습니다! 그전에! npm을 사용하기 때문에 기본적으로 nodejs와 npm이 설치되어 있어야 합니다. 제 기준으로 nodejs는 현재 10.15.0, npm은 6.8.0 입니다. 람다에서 요구하는 노드 버전이 8.10 이므로 최소 8.10 이상으로 설치해야 되겠죠 ?! 준비를 끝낸 뒤에 보이는 것과 같이..
-
AWS 를 사용한 서버리스 아키텍쳐 적용기(삽질기) (3) - API Gateway 1Web Study/Server 2019. 5. 9. 16:52
0. API Gateway 란? 이름에 보이는 것 처럼 API 와 관련이 있다는 것을 유추할 수 있숩니다. AWS에서 정의되어 있는 것을 살펴보면, 'Amazon API Gateway는 규모와 상관없이 REST 및 WebSocket API를 생성, 게시, 유지하고 모니터링 및 보안하기 위한 AWS 서비스입니다.' 라고 명시되어 있숩니다. 쉽게 말해, API를 조금 더 쉽게 작성하고 사용할 수 있게 해주는 API 호스팅 서비스라고 해보겠습니다. 위는 api gateway의 아키텍쳐 입니다. 왼쪽에서부터 enduser가 사용하는 client App, API Gateway, AWS의 각종 서비스들로 구분됩니다. AWS 클라우드 기반 어플리케이션을 구축할 때의 편리성, 보안성 등을 쉽게 얻을 수 있습니다. AP..
-
AWS 를 사용한 서버리스 아키텍쳐 적용기(삽질기) (2) - 람다함수 2Web Study/Server 2019. 5. 7. 11:54
1. 환경변수와 태그 람다에서는 환경 변수와 태그를 구성할 수 있습니다. 환경변수는 말 그대로 환경변수 입니다. 코드와 상관없이 함수 코드와 라이브러리에 설정을 동적으로 전달할 수 있게끔 만들어줍니다. Node의 process.env 와 같다고 보면 됩니다. 예를 들어 api endpoint url, api 키 값 등 변할 수 있는 것들을 넣어서 사용할 수 있습니다. (도커가 '짜잔!' 하고 뜬 이유? 어디서든 환경 설정할 필요없이 도커 이미지만 있으면 바로 사용할 수 있기 때문입니다.) 환경변수는 그러한 기능을 한다고 보면 됩니다. API 바꾸고 키 바꾸고 로컬 저장 장소등을 바꾸려고 할 때마다 코드를 수정하려면 너~무 귀찮고 시간 낭비가 생깁니다. 하지만 환경변수는 그때그때 값만 바꿔주면 된다는 점에..