본문 바로가기
컴퓨터공학 기초/인프라

[AWS] API Gateway 비 프록시 통합모드에서 querystring 받기

by 상용최 2020. 8. 16.
반응형

오늘은 Amazon API Gateway와 Lambda를 연결해보도록 하겠다.

 

API Gateway 란 ?

Amazon API Gateway는 간단하게 설명하자면 규모와 관계 없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다. 

자세한 설명은 아래사이트에서 확인하실 수 있습니다.

https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/welcome.html

 

Amazon API Gateway란 무엇입니까? - Amazon API Gateway

Amazon API Gateway란 무엇입니까? Amazon API Gateway는 규모와 관계 없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다. API 개발자는 AWS 또는 다른 웹 서비스를 비롯��

docs.aws.amazon.com

 

 

API Gateway 와 Lambda 연결하기

 

1. Lambda 생성

Lambda function 이름을 my-function2로 생성합니다.

생성방법은 아래게시글에 나와있습니다.

https://csy7792.tistory.com/277

 

[AWS] Lambda 생성 후 테스트해보기

AWS에는 Lambda라는것이 있다. Lambda란 무엇인가? 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스이다. 자세한 내용은 https://docs.aws.amazon.com/ko_kr/lambda/?id=doc.

csy7792.tistory.com

 

생성 후 코드를 아래와 같이 바꿔줍니다.

exports.handler = async (event) => {
    console.log(event);
    let myParam = event.myParam;
    const response = {
        statusCode: 200,
        body: JSON.stringify(myParam)
    };
    return response;
};

 

2. API Gateway 생성

API Gateway를 검색하면 아래와같은 화면이 나옵니다.

API 생성을 클릭하여 줍니다.

생성을 클릭하면 아래와 같은 화면이 나옵니다.

이 예제에서는 REST API를 선택하겠습니다.

REST API - 구축을 클릭합니다.

구축을 누르면 아래와 같은 화면이 나옵니다.

프로토콜을 REST, 새 API 생성을 선택 후 API 이름을 지정한 후 API 생성을 클릭합니다.

생성하면 아래와 같은 화면으로 이동하게 됩니다.

작업 - 메서드생성을 클릭합니다.

메서드 생성을 클릭하면 아래 화면이 나옵니다.

GET을 선택하게 되면 화살표가 있는곳에 V 아이콘이 생성됩니다.

V 아이콘을 클릭합니다.

V를 클릭하게 되면 설정을 하는 화면이 생성됩니다.

Lambda함수에 위에서 생성한 my-function2를 넣어주고 저장을 클릭합니다.

저장을 클릭하면 권한관련한 팝업이 하나 나타나게 됩니다.

확인을 클릭해줍니다.

저장을 하면 GET 함수의 / - GET - 메서드 실행 창을 확인할 수 있습니다.

메서드 실행 창에서 통합요청을 클릭합니다.

클릭하게 되면 아래와 같은 창이뜹니다.

Lambda 프록시 통합 사용은 체크하지 않습니다.

매핑 템플릿을 클릭합니다.

매핑 템플릿을 클릭한다면 아래와 같은 화면이 생성됩니다.

매핑 템플릿 추가를 클릭 -> appliaction/json을 입력하고 추가합니다.

추가하면 템플릿을 입력하는 창이 나옵니다.

저 부분에 받을 파라미터들을 JSON 타입으로 입력해줍니다.

저는 myParam이라는 파라미터명으로 보낼것이기때문에 아래와 같이 입력합니다.

 

3. API Gateway 배포

생성을 완료했다면 배포를 해야합니다.

작업- API 배포를 클릭합니다.

배포 스테이지에서 [새 스테이지]를 클릭 후 스테이지 이름과 설명을 적습니다.

저는 prod라는 이름으로 정했습니다.

배포가 정상적으로 됐다면 왼쪽 메뉴화면에서 스테이지를 클릭합니다.

클릭하면 아래와 같은 화면이 나타나게됩니다.

방금 우리가 추가했던 GET을 클릭하면 호출할 수 있는 URL이 존재합니다.

 

확인한 URL 뒤에 우리가 API Gateway - 템플릿에서 추가한 파라미터를 URL 뒤에 붙여줍니다.

저는 myParam이라는 파라미터를 추가했고 URL은 위에 보시는것과 같습니다.

URL?myParam=~~ 같은 형식으로 호출합니다.

정상적으로 동작하는것을 확인하실 수 있습니다.

 

 

참고자료

https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/welcome.html

 

Amazon API Gateway란 무엇입니까? - Amazon API Gateway

Amazon API Gateway란 무엇입니까? Amazon API Gateway는 규모와 관계 없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다. API 개발자는 AWS 또는 다른 웹 서비스를 비롯��

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/apigateway-getting-started-with-rest-apis.html

 

Amazon API Gateway에서 Lambda 통합으로 REST API 생성 - Amazon API Gateway

Amazon API Gateway에서 Lambda 통합으로 REST API 생성 이 연습을 사용하여 Amazon API Gateway에서 Lambda 프록시 통합 및 Lambda 비 프록시 통합으로 REST API를 생성 및 배포할 수 있습니다. Lambda 통합에서 클라이�

docs.aws.amazon.com

 

반응형

댓글