AWS Serverless Aplication : Api Gateway 생성 [Lambda, API Gateway, DynamoDB] (5)

2023. 9. 11. 22:51AWS

이전 글

 

https://muyeon95.tistory.com/280

 

AWS Serverless Aplication : DynamoDB 생성 [Lambda, API Gateway, DynamoDB] (4)

이전 글 https://muyeon95.tistory.com/279 AWS Serverless Aplication : Api service lambda [Lambda, API Gateway, DynamoDB] (3) 이전 글 https://muyeon95.tistory.com/278 AWS Serverless Aplication : Webpage Lambda [Lambda, API Gateway, DynamoDB] (2) 이전

muyeon95.tistory.com

 

AWS Builders 100 - Web application 을 듣고 정리한 내용입니다.

Api gateway 생성하기

 

웹 페이지가 기능을 사용할 수 있도록 즉 기능을 호출할 수 있도록 Api gateway 를 구성하여 호출 통로를 만든다.

Api gateway를 콘솔창에 검색해서 들어간다.

 

왼쪽의 APIs 메뉴로 들어간다.

어떤 API 형태를 만들어야 하는지를 결정해야하는데 이번에는 HTTP API 보다 API 관리 기능이 더 추가되어 있는 REST API 로 생성한다.

REST API 에서 Build 버튼을 누른다.

protocol 로는 REST 를, Create new API 로는 New API, Setting 에서는 API name 을 my-api 로 지정한다. 그 다음 create API 버튼을 누른다.

 

들어간 화면에서 Actions 버튼을 누르고 드롭다운 메뉴에서 Create Method 를 누른다.

누른 다음 get 을 선택한다.

 

그 다음 바로 옆에 있는 체크표시를 눌러서 저장한다.

 

저장하면 api를 구성할 수 있는 화면이 나오게 된다. 여기에서 Integration type 을 Lambda Function 을 선택하고, Use Lambda Proxy integration 를 클릭해 준다. Lambda Function 에는 api-service-create 로 이름을 작성한다. 다 작성했으면 맨 밑의 Save 버튼을 누른다. 아까 lambda 의 이름을 다른 걸로 저장했다면 그 lambda 를 찾아서 넣으면 된다.

 

아까 lambda 에 dynamoDB 의 권한만 넣었다. 여기에 api gateway 권한을 또 추가해주는 창이 뜬다. 

여기에 OK 버튼을 눌러서 api gateway 에서 lambda 를 부를 수 있도록 구성한다.

 

이제 부를 수 있는 준비가 되었다. Method Execution 창에서 TEST 버튼을 눌러 테스트를 준비한다.

들어간 화면에서 Test 버튼을 다시 눌러준다. 서비스가 더 복잡해지면 여기에서 Request Body 에 값을 추가하고 Headers 에도 추가할 수도 있지만, 지금은 아무 값도 넣지 않아도 된다.

 

Test 가 성공했다면 Status 가 200으로 나오며, Response Body 에 랜덤한 값이 나오게 된다. 그림과 다른 값이 나올 수 있다.

 


Api gateway 추가 설정하기

 

Api gateway 를 만들었지만, 바로 호출하면 CORS 관련 에러가 나게 될 것이다. 따라서 호출이 정상적으로 이루어지기 위한 추가설정을 한다. Actions 메뉴에서 Enable CORS 를 클릭한다.

 

나오는 창에서 Enable CORS and replace existing CORS headers 버튼을 클릭한다.

버튼을 누르면 나오는 창에서 Yes, replace existing values 를 선택한다.

api 가 정상적으로 작동된다는 것을 확인하고, 추가 설정을 마쳤으니 이제 이 api 를 실제 사용할 수 있게 준비한다.

Actions 에서 Deploy API 를 누른다.

누르면 창이 뜨게 되는데, 여기에서 Deployment stage 에서는 [New Stage] 를 선택하고 Stage name 에서는 dev 를 입력한다.

완료되면 Invoke URL 이 나오게 된다. 이 URL 은 사람마다 모두 다르다. 이 URL 을 한번 눌러본다. 그러면 아래 그림처럼 나오게 되는데 문구는 랜덤으로 다를 수 있다. 이 URL 은 반드시 복사해서 메모장에 붙여 넣어야 한다. 바로 다음 활용함

 

이제 마지막으로 서비스를 완성해 본다.

 


다음 글

 

https://muyeon95.tistory.com/282

 

AWS Serverless Aplication : Lambda 와의 연결 [Lambda, API Gateway, DynamoDB] (6)

이전 글 https://muyeon95.tistory.com/281 AWS Serverless Aplication : Api Gateway 생성 [Lambda, API Gateway, DynamoDB] (5) 이전 글 https://muyeon95.tistory.com/280 AWS Serverless Aplication : DynamoDB 생성 [Lambda, API Gateway, DynamoDB] (4) 이

muyeon95.tistory.com