Web/DB & Cloud

AWS Lambda를 API Gateway를 통하여 배포하기

WakaraNai 2022. 1. 1. 04:38
728x90
반응형

aws-cli를 활용하여 구축해보자

 

1. aws-cli 설치

AWS 회원가입 후 

자신의 OS에 맞게 aws-cli 설치하기

다 끝나면 aws --version을 통해 설치 확인하기

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2.html

 

AWS CLI 버전 2 설치, 업데이트 및 제거 - AWS Command Line Interface

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

2. User 계정 연동하기

AWS에서 IAM(Identity and Access Management)로 가서

Users에서 Add users 클릭

 

user name 지정하고

꼭 AWS access type을 Programmatic access로 하기

사용자 권한 부여를 위해

exisiting policies directly에서 

'AWSLambdaFullAccess" 권한을 선택

 

태그 단계 무시하고 생성 완료하기

이 때 Access key ID와 Secret access key는 꼭 다른 곳에 메모해두기!!

 

메모를 바탕을 터미널에서 aws configure 설정하기

region name에는 AWS Management Console에 접속했을 때 주소창 쿼리문에 뜨는 곳으로!!

다른 region으로 하고 싶다면 오른쪽 상단에서 선택하기

 

 

3. Role 생성하기

Roles 탭에서 Create role 클릭

 

사용할 AWS 서비스를 Lambda로 설정

 

권한으로 AWSLambdaBasicExecutionRole을 부여

 

이후로 무시하고 생성 완료하기

방금 만든 role의 Role ARN 메모해두기

 

4. 파일을 올릴 AWS Lambda function 생성하기

터미널에 다음의 명령어를 한 줄로 입력하기

aws lambda create-function
	--function-name (생성할 함수의 이름)
    --zip-file fileb://(파일의 절대 경로)
    --handler index.handler 
    --runtime nodejs14.x 
    --role (아까 복사한 Role ARN)

 

AWS Lambda에서 생성한 함수 확인하기

만약 안 보인다면 주소창에 region이 aws config할 때 쓴 곳과 동일한지 확인하기

 

생성한 함수를 클릭하면 하단의 code source에서

방금 zip파일에 담아서 보낸 사진을 확인할 수 있음

 

index.handler 설정을 위한 index.js 생성하여 꼭 배포해서 적용하기

(Deploy 꼭 누르자!)

exports.handler = async(event, context) => {
    return event.greeting;
}

 

 

5. API Gateway 연결하기 - 함수를 실행할 end-point

 

Add trigger를 눌러서 API Gateway 선택

 

REST API 타입으로 하고 Security는 Open으로

 

생성된 trigger에서 API endpoint 확인하기

 

 

이 API의 요청 응답을 지정하기위해

그 trigger의 이름을 클릭

 

Actions에서 Create Method를 선택하고

간단하게 POST 요청에 대한 응답부터 생성해보자

 

방금 생성한 Lambda function 이름으로 지정해주기

 

 

 

 

출처

https://merrily-code.tistory.com/21?category=938924 

728x90
반응형