ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • API 서비스 개발 ( AWS API Gateway - Swagger 사용 경험담 )
    [ 개발 ]/[ AWS ] 2020. 11. 12. 14:54
    728x90

    얼마전 프로젝트에서 API 서비스를 개발하개 되었다.

    회사에서는 이미 AWS 를 도입하여 AWS에서 운영되고 있는 모든 내용에 대해서는 될 수 있으면 AWS 의 서비스를 이용하고 있다. 

    우리는 관련해서 다음과 같은 구조로 서비스를 설계 하였다. 

    Swagger  : API Doc 정의
    API Gateway : 외부에서 공개적으로 사용되는 모든 API 는  API Gateway 를 거쳐 진행하도록 설계를 진행한다. 

    개발방법은 다음과 같다 .

    1. Swagger 를 통하여 API를 정의한다. 
       * Swagger 에서는 json 또는 yaml 로 API 정의할 수 있으며 추후 정의된 내용을 API Gateway 바로 반영하여 동작시킨다.

    2. 정의된 API를 API Gateway 에 integration 을 통하여 반영한고 Mockup 으로 동작하도록 한다.
        외부의 협업이 필요한 부분에 대해서는 Mockup 을 바라보고 선 개발하도록 열어줄 수 있다.
        Mockup 역시 Swagger 에서 사전에 정의할 수 있다.  

    3. 각각의 API 가 서버에서 개발될 때 마다 Mockup 에서 서버로 호출하도록 API Gateway 설정을 바꾸어 준다. 

    4. 개발이 모두 완료되면 AWS Gateway 의 Staging 을 이용하여 운영에도 반영하도록 한다.

    장점

    가장 인상적이였던 부분은 2,3을 동시 진행가능하다는 점. 그리고 stagiing 을 잘 이용하면 효과적이고 안정적으로 개발을 할 수 있다는 점

    단점

    Swagger 에서 API Gateway 의 staging 설정을 할 때 프로토콜은 설정할 수 없어 개발과 운영을 http 혹은 https 로 통일해야 한다는 것
    ( 이부분을 늦게 알아서 ELB 설정 등으로 통일을 시켜야 했다. ) 
    Swagger 가이드가 영문이고 CROS 를 AWS Gateway 에 반영하는 부분이 없어 API Gateway 에서 설정 후 역으로 Swagger Json으로 내려 받아 참고하며 수정했던 점.

    여러모로 참신한 개발이였다. 
    다음 개발은 서버가 완전이 없느 서버리스로 도전해 보아야겠다. 

    Swagger 에서 기본으로 재공하고 있는 샘플 API Doc

     

    개발환경 구성

     

    728x90
Designed by Tistory.