Lambda 통합과 HTTP 통합의 차이를 만들어 이해

5109 단어 APIGatewayAWS

개요



AWS 개발자 어소시에이트를 받는 경우 API Gateway의 통합 유형으로 다음과 같은 4가지 차이점이 있습니다.


통합형


Lambda 통합, Lambda 비프록시 통합

Lambda 프록시 통합

HTTP 통합, HTTP 비 프록시 통합

HTTP 프록시 통합


이 중 Lambda 통합과 HTTP 통합의 차이점은 다음과 같습니다. Lambda 통합은 잘 구축할 기회가 있지만 HTTP 통합을 만들 기회가 적기 때문에 이번에 만들려고 생각합니다.
  • Lambda 통합 : 백엔드로 Lambda 함수와 통합
  • HTTP 통합 : 백엔드로서 EC2 등에서 직접 만든 API와 통합

  • 덧붙여 프록시 통합과 비프록시 통합의 차이에 대해서는, 이하의 기사가 대단히 쉬웠기 때문에, 참고로 해 주세요.
  • API Gateway + Lambda 프록시 바인딩 사용 여부에 따른 차이
  • [초보자용] Lambda 비프록시 통합으로 API Gateway API 빌드를 프록시 통합으로 비교해 봅니다.

  • HTTP 통합



    먼저 백엔드로 퍼블릭 서브넷에 간단한 API를 만듭니다. 이번에는 EC2로 만듭니다.

    server.py
    from flask import Flask
    from hello import get_hello
    
    app = Flask(__name__)
    
    @app.route('/hello', methods=['GET'])
    def local_endpoint():
        return get_hello()
    
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5000)
    
    

    hello.py
    import json
    
    def get_hello():
        message = "Hello, good morning"
        return_json = json.dumps({"message": message})
    
        return return_json
    
    

    위의 소스를 EC2에 배치하고 다음 명령을 실행하면 간단한 API를 구축할 수 있습니다.
    sudo yum install -y python3    # Python3のインストール
    sudo pip3 install Flask        # Flaskのインストール
    chmod 755 *.py                 # 実行権限の付与
    python3 server.py              # APIの起動 
    

    덧붙여 상기의 소스로 소통 확인할 때에는, EC2의 보안 그룹으로 5000번 포트를 허가합시다.

    소통 확인 결과
    curl http://XXX.XXX.XXX.XXX:5000/hello    # XXXはEC2のパブリックIPアドレス
    {"message": "Hello, good morning"}
    

    그리고는 이 엔드포인트의 URL을 API Gateway의 메소드 작성시에 지정합니다.


    이를 배포한 후 API Gateway 엔드포인트에서 API를 호출할 수 있습니다.
    API의 비즈니스 로직을 EC2측에 대고, 스로틀링 제한등은 API Gateway의 기능을 이용한다고 하는 활용을 할 수 있을까 생각합니다.


    덧붙여 실제로는 백엔드에 NLB 등 사이에 로드 밸런스 하는 구성이 많은 것 같습니다.
    또한 사설 서브넷에 구축된 API에 액세스하는 경우 VPC 링크를 활용합니다. 이하의 기사가 매우 참고가 됩니다.

    API Gateway를 통해서만 액세스할 수 있는 API를 ECS로 구축

    끝에



    개발자 어소시에이트를 공부하는 동안 차이를 잘 모르는 사람은 본 기사처럼 손을 움직여 보면 그 차이를 알 수 있다고 생각합니다.

    참고



    API Gateway API 통합 유형 선택

    좋은 웹페이지 즐겨찾기