본문으로 건너뛰기

API Creation and Deployment

개념

API란 무엇인가?

API는 소프트웨어 애플리케이션이 서로 통신할 수 있도록 하는 정의 및 프로토콜의 집합입니다. APIM (API Management)의 맥락에서, API는 클라이언트가 호출할 수 있는 작업의 모음을 나타내며, 백엔드 서비스에 대한 접근을 용이하게 합니다.

API를 만드는 이유는 무엇인가?

API를 만드는 것은 제공자와 소비자 모두에게 여러 가지 이점을 제공합니다:

제공자를 위한 이점:

  • 모듈화: 기능을 재사용 가능한 서비스로 캡슐화합니다.
  • 확장성: 확장 가능한 애플리케이션 개발을 촉진합니다.
  • 보안: 접근 제어 및 모니터링을 구현합니다.
  • 수익화: 외부 개발자나 파트너에게 API를 제품으로 제공합니다.

소비자를 위한 이점:

  • 접근성: 내부 구현을 이해하지 않고도 서비스에 접근할 수 있습니다.
  • 효율성: 애플리케이션에 기능을 신속하게 통합할 수 있습니다.
  • 혁신: 기존 API를 결합하여 새로운 솔루션을 구축할 수 있습니다.

APIM 및 Kong Gateway에서 API의 역할

APIM에서 API는 클라이언트와 백엔드 서비스 간의 주요 인터페이스 역할을 합니다. API는 다음과 같은 기능을 수행합니다:

  • 클라이언트가 서비스와 상호작용하는 방식을 정의합니다.
  • 인증, 속도 제한 및 변환과 같은 정책을 시행합니다.
  • 사용량 및 성능 지표를 모니터링합니다.

각 API는 특정 프로젝트와 연결되어 있으며, API 요청을 처리하는 런타임 구성 요소인 게이트웨이를 통해 배포됩니다.

Kong Gateway는 다음과 같은 기능을 제공하여 API 관리를 향상시킵니다:

  • 고급 라우팅: 다양한 기준에 따라 요청을 직접 전달합니다.
  • 보안: 인증, 권한 부여 및 암호화를 구현합니다.
  • 가시성: API 사용량 및 성능을 모니터링합니다.
  • 확장성: 플러그인을 통해 기능을 추가합니다.

APIM을 통한 API 생성의 장점

APIM 없이 API 관리의 도전 과제

전통적인 환경에서 Kong과 같은 게이트웨이에 API를 직접 생성하는 것은 (CLI, REST API 또는 구성 파일을 통해) 여러 가지 제한 사항이 따릅니다:

  • 수동 구성 오버헤드: 각 API는 수동으로 정의해야 하며, 이는 인적 오류와 불일치의 위험을 증가시킵니다.
  • 중앙 집중식 가시성 부족: 개발자와 관리자는 등록된 모든 API를 관리, 감사 또는 검토할 수 있는 단일 뷰가 없습니다.
  • 단편화된 정책 관리: 보안 정책, 속도 제한 및 요청/응답 변환은 API별로 수동으로 적용해야 하며, 버전 관리나 이력이 없습니다.
  • 제한된 협업: 공유 플랫폼이 없으면 개발자, 테스터 및 관리자 간의 협업이 비효율적이 됩니다.
  • 생애 주기 지원 부족: API 버전 관리, 배포 전 테스트 또는 변경 사항 추적은 번거롭고 사용자 지정 스크립트나 외부 도구가 필요합니다.

이러한 문제는 API의 수가 증가하거나 여러 팀 또는 환경에서 작업할 때 더욱 심각해집니다.

APIM이 이러한 문제를 해결하는 방법

APIM 시스템은 Kong Gateway 위에 강력한 관리 레이어를 제공하여 API를 관리하는 간소화되고 확장 가능한 방법을 제공합니다. 그 이점은 다음과 같습니다:

  • 시각적 인터페이스: 사용자는 사용자 친화적인 웹 콘솔을 통해 API를 생성, 구성 및 배포할 수 있으며, CLI를 사용하거나 구성 파일을 수동으로 편집할 필요가 없습니다.
  • 중앙 집중식 API 레지스트리: 모든 API는 프로젝트별로 관리되어 명확한 소유권, 격리 및 거버넌스를 허용합니다.
  • 통합 정책 적용: API 구성 중에 보안, 속도 제한, 로깅 및 변환 정책을 쉽게 첨부할 수 있으며, 명확한 버전 관리가 가능합니다.
  • 원활한 배포: 프로젝트별 게이트웨이에 원클릭 배포를 통해 오류를 줄이고 단계적 환경을 지원합니다.
  • 내장된 버전 관리 및 문서화: API는 동일한 환경에서 버전 관리, 테스트 및 문서화할 수 있어 유지 관리성이 향상됩니다.
  • 팀 협업: 역할 기반 접근을 통해 다양한 이해관계자(관리자, 개발자, 테스터)가 프로젝트 경계 내에서 안전하게 기여할 수 있습니다.

궁극적으로, APIM은 Kong의 런타임 기능과 구조화된 관리 플랫폼을 결합하여 API가 구축되고 유지되는 방식을 변화시켜 운영 부담을 줄이고 더 빠르고 안전한 개발 워크플로를 가능하게 합니다.

API 생성 단계

APIM에서 API를 생성하려면 다음 단계를 따르십시오:

APIM 콘솔에 접근하기

apim-admin 자격 증명으로 로그인합니다.

적절한 프로젝트를 선택하고 API 관리 섹션으로 이동합니다.

새 API 추가하기

“+ API 추가”를 클릭합니다. API를 정의할 방법을 선택합니다.

API 설정 구성하기

  • 이름: API의 고유 식별자입니다.
  • 게이트웨이: 프로젝트의 Kong 게이트웨이 및 게이트웨이 URL에 연결합니다.
  • 웹 서비스 URL: 백엔드 서비스 엔드포인트입니다.
  • API URL 접미사: 게이트웨이 URL에 추가되는 접미사입니다.
  • 설명: API에 대한 선택적 세부정보입니다.
  • 작업 정의: URL 경로 및 매개변수를 지정하여 작업(예: GET, POST)을 추가합니다.

정책 적용하기

인증, 속도 제한, 변환 등을 위한 정책을 구현합니다.

API 문서 작성 또는 업데이트하기

내장된 Markdown 편집기를 사용하여 API 문서를 작성하거나 업데이트하세요.

내용을 미리 보고 “게시”를 클릭하세요. 그러면 문서가 API 문서 메뉴에 표시되고 권한이 있는 사용자가 개발자 포털을 통해 접근할 수 있게 됩니다.

API를 API 관리에 저장하기

API 구성을 저장하고 API 관리 화면에서 생성된 API를 확인하세요.

노트

자세한 지침 및 추가 옵션은 사용자 가이드 > APIM 콘솔 가이드 > API 관리 를 참조하세요.

API 배포

API를 성공적으로 생성한 후, 생성된 API를 클릭하여 API 구성 화면에 접근할 수 있습니다. 여기에서 API 배포 버튼을 클릭하여 API를 배포하여 외부에서 접근할 수 있도록 합니다.

API의 각 배포는 새로운 버전을 생성합니다. API를 배포할 때마다 버전 설명을 입력해야 합니다.

API가 배포된 후, 사용자는 API 배포 메뉴를 통해 API 상태 및 배포 로그를 모니터링할 수 있습니다.

사용자는 각 개별 API 배포 기록을 클릭하여 API 및 그 버전의 세부 정보를 볼 수도 있습니다.

이 단계가 완료되면 API는 이제 게이트웨이에서 활성화되며 공개 엔드포인트 URL을 통해 접근할 수 있습니다. 이제 API를 테스트하는 마지막 단계로 진행할 수 있습니다.