일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- class
- react
- SWIFT
- 개발자
- kafka
- front-end
- AWS
- state
- Kotlin
- Nest.js
- 개발이 취미인 사람
- vue
- 코틀린
- file upload
- 상속
- javascript
- Producer
- component
- swagger
- back-end
- jpa
- 조건문
- It
- Sequelize
- java
- restful api
- spring boot
- props
- 반복문
- node.js
- Today
- Total
개발이 취미인 사람
[AWS] Lambda 개념 및 로컬 환경 설정(Mac + Node + Serverless) 본문
- 개요
안녕하세요. 이번 시간에는 AWS Lambda 서비스에 대해 알아보겠습니다.
AWS에서 Lambda라는 서비스는 소개할 때 "프로비저닝 하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스"라고 소개하고 있습니다.
무슨 말일 까요?... 일단 프로비저닝이란 우리의 요구사항에 맞게 시스템 자원을 할당하고 배치 및 배포해 두었다가 필요한 상황에서 시스템을 즉시 사용할 수 있는 상태라고 말할 수 있습니다.
예시로 AWS EC2 서비스를 비교해서 설명해보겠습니다.
EC2 서비스는 가상의 클라우드 공간에 컴퓨팅을 구축한다고 모두 아실 겁니다. (EC2 서비스는 실행하는 시간, 트래픽 등 요금을 지속적으로 측정합니다.) EC2 인스턴스를 실행 상태라면 비용은 계속 나가게 됩니다.
하지만 Lambda서비스는 반대로 "내가 필요한 상황에서 시스템을 즉시 사용"할 수 있습니다.
보통 Lambda 서비스를 활용해서 구축하는 기능을 살펴보면, E-Mail, SMS(문자전송), Notification System(알람 서비스) 등등
어떠한 특정 이벤트가 발생할 때 Lambda 서비스를 많이 활용합니다. (저도 실서비스에 이러한 상황에서 많이 사용했습니다. :>)
아무리 설명을 해도... 직접 실습하지 않으면 머릿속에 그려지지 않을 거라 생각이 듭니다.
- 개발환경 설정
저는 Node.js를 활용한 Serverless Framwork를 사용할 생각입니다. 개발 PC에는 Node와 awscli를 설치해야 합니다.
Node.js 설치
아래 링크를 통해 설치해주시면 되겠습니다. https://nodejs.org/ko/download/
brew 설치
설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
설치 확인
brew -v
awscli 설치
설치
brew install awscli
설치 확인
aws --version
AWS 인증설정
개발 PC에서 aws 리소스에 접근하려면 Access Key를 발급받아 설정해야 합니다.
Access Key를 발급받아 사용하기 위해서 보통 우리는 IAM을 통해 유저를 생성해 해당 유저에 권한을 설정합니다.
루트(Root) 계정에 Access Key를 사용하면 나중에... 해킹을 당하거나 키가 유출되면 문제가 발생할 수 있기 때문에 꼭!! IAM에서 유저를 생성하시는 걸 추천드리겠습니다.
IAM 유저에 대해 잘 모르시는 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다.
[AWS] IAM(Identify and Access Management) 생성 및 사용법
Key 설정
유저를 생성하고 액세스 키 ID와 비밀 액세스 키를 로컬 PC에 설정해야 합니다.
설정 명령어
aws configure
저는 해당 키를 삭제할 예정이기 때문에 여러분들은 키를 노출하시면 안 됩니다!!.
~/. aws 경로를 확인하면 config credentials 폴더가 생성됩니다.
설정 확인
aws ec2 describe-instances
위 설정을 다했다면 우리가 생성한 유저에 권한을 부여해야 합니다. 두 가지 권한을 부여합니다.
- AWSLambdaFullAccess : 람다 함수 생성시 사용
- IAMFullaccess : 생성할 람다 함수의 IAM 역할(role) 생성시 사용
이번 시간에는 Lambda 개발환경을 설정했습니다. 다음 시간에는 Lambda를 구축하는 시간을 가져보겠습니다.
'백앤드(Back-End) > AWS' 카테고리의 다른 글
[AWS] Lambda 구축 (Serverless Framework) (0) | 2021.09.28 |
---|---|
[AWS] Lambda 구축 (AWS Console) (0) | 2021.09.28 |
[AWS] SMS 문자 메시지 전송 (Simple Notification Service) (5) | 2021.09.11 |
[AWS] IAM(Identify and Access Management) 생성 및 사용법 (0) | 2021.08.12 |
[AWS] Route53 도메인 구매(등록) (0) | 2021.07.15 |