API Management 정보

Azure API Management는 모든 환경에서 API에 사용되는 하이브리드 다중 클라우드 관리 플랫폼입니다. 이 문서에서는 API Management의 일반적인 시나리오 및 주요 구성 요소에 대한 개요를 제공합니다.

시나리오

API는 디지털 환경을 지원하고, 애플리케이션 통합을 간소화하고, 새 디지털 제품을 뒷받침하며, 데이터 및 서비스를 재사용 가능하고 보편적으로 액세스할 수 있도록 합니다. API에 대한 종속성이 확산되고 증가함에 따라 조직은 수명 주기 내내 이러한 종속성을 고급 자산으로 관리해야 합니다.

Azure API Management는 고객이 다음과 같은 문제를 해결하는 데 도움이 됩니다.

  • API 소비자의 백 엔드 아키텍처 다양성 및 복잡성 추상화
  • Azure 및 외부에 호스트된 서비스를 API로 안전하게 노출
  • API 보호, 가속화 및 관찰
  • 내부 및 외부 사용자의 API 검색 및 사용 지원

일반적인 시나리오는 다음과 같습니다.

  • 레거시 자산 잠금 해제 - API는 레거시 백 엔드를 추상화 및 현대화하고, 새 클라우드 서비스 및 최신 애플리케이션에서 액세스할 수 있도록 하는 데 사용됩니다. API는 마이그레이션의 위험, 비용 및 지연 없이 혁신을 허용합니다.
  • API 중심 앱 통합 - API는 데이터, 애플리케이션 및 프로세스를 노출하고 액세스하기 위한 쉽게 사용할 수 있는 표준 기반, 자체 설명 메커니즘입니다. 앱 통합을 간소화하고 비용을 절감합니다.
  • 다중 채널 사용자 환경 - API는 웹, 모바일, 웨어러블 또는 사물 인터넷 애플리케이션과 같은 사용자 환경을 지원하는 데 자주 사용됩니다. API를 다시 사용하여 개발 및 ROI를 가속화합니다.
  • B2B 통합 - 파트너와 고객에게 노출되는 API는 비즈니스 프로세스를 통합하고 비즈니스 엔터티 간에 데이터를 교환하기 위한 장벽을 낮춥니다. API는 지점 간 통합에 내재된 오버헤드를 제거합니다. 특히 셀프 서비스 검색 및 온보딩이 사용하도록 설정된 API는 B2B 통합을 스케일링하기 위한 기본 도구입니다.

API Management 구성 요소

Azure API Management는 API 게이트웨이, 관리 평면 및 개발자 포털로 구성됩니다. 이러한 구성 요소는 기본적으로 Azure에서 호스트되고 완전히 관리됩니다. API Management는 용량과 기능이 다른 다양한 계층에서 사용할 수 있습니다.

Key components of Azure API Management

API 게이트웨이

클라이언트 애플리케이션의 모든 요청은 먼저 API 게이트웨이에 도달한 다음, 각 백 엔드 서비스에 전달합니다. API 게이트웨이는 백 엔드 서비스의 외관 역할을 하므로 API 공급자는 API 소비자에게 영향을 주지 않고 API 구현을 추상화하고 백 엔드 아키텍처를 발전시킬 수 있습니다. 게이트웨이를 사용하면 라우팅, 보안, 제한, 캐싱 및 관찰 가능성을 일관되게 구성할 수 있습니다.

API 게이트웨이는 다음을 수행합니다.

  • API 호출을 수락하고 구성된 백 엔드로 라우팅합니다.
  • API 키, JWT 토큰, 인증서 및 기타 자격 증명을 확인합니다.
  • 사용 할당량 및 속도 제한을 적용합니다.
  • 필요에 따라 정책 문에 지정된 대로 요청 및 응답을 변환합니다.
  • 구성된 경우 응답을 캐시하여 응답 대기 시간을 개선하고 백 엔드 서비스의 부하를 최소화합니다.
  • 모니터링, 보고 및 문제 해결을 위한 로그, 메트릭 및 추적 내보내기

자체 호스팅 게이트웨이를 사용하면 고객은 API를 호스트하는 동일한 환경에 API 게이트웨이를 배포하여 API 트래픽을 최적화하고 로컬 규정 및 지침을 준수할 수 있습니다. 자체 호스팅 게이트웨이를 사용하면 하이브리드 IT 인프라를 사용하는 고객이 온-프레미스 및 Azure의 단일 API Management 서비스에서 클라우드 간에 호스트되는 API를 관리할 수 있습니다.

자체 호스팅 게이트웨이는 Linux 기반 Docker 컨테이너로 패키지되며 일반적으로 Azure Kubernetes Service 및 Azure Arc 지원 Kubernetes를 포함하는 Kubernetes에 배포됩니다.

관리 평면

API 공급자는 API Management 서비스 기능에 대한 모든 권한을 제공하는 관리 평면을 통해 서비스와 상호 작용합니다.

고객은 널리 사용되는 여러 프로그래밍 언어로 Azure Portal, Azure PowerShell, Azure CLI, Visual Studio Code 확장 또는 클라이언트 SDK를 비롯한 Azure 도구를 통해 관리 평면과 상호 작용합니다.

관리 평면을 사용하여 다음을 수행합니다.

  • API Management 서비스 설정 프로비저닝 및 구성
  • OpenAPI 사양, Azure 컴퓨팅 서비스, WebSocket 또는 GraphQL 백 엔드를 비롯한 광범위한 원본에서 API 스키마 정의 또는 가져오기
  • 제품에 API 패키징
  • API에서 할당량 또는 변환 등의 정책 설정
  • 분석에서 인사이트 얻기
  • 사용자 관리

개발자 포털

오픈 소스 개발자 포털은 API 설명서를 사용하여 원하는 대로 사용자 지정 가능한 자동 생성 웹 사이트입니다.

API 공급자는 사용자 지정 콘텐츠를 추가하고, 스타일을 사용자 지정하고, 브랜딩을 추가하여 개발자 포털의 모양을 사용자 지정할 수 있습니다. 자체 호스팅을 통해 개발자 포털을 더 확장합니다.

앱 개발자는 오픈 소스 개발자 포털을 사용하여 API를 검색하고, 온보딩하여 사용하고, 애플리케이션에서 사용하는 방법을 알아봅니다. (API를 시민 개발자가 검색하고 사용하기 위해 Power Platform으로 내보낼 수도 있습니다.)

개발자 포털을 사용하여 개발자는 다음을 수행할 수 있습니다.

  • API 설명서를 읽습니다.
  • 대화형 콘솔을 통해 API를 호출합니다.
  • 계정을 만들고 구독하여 API 키를 받습니다.
  • 자신의 사용량에 대한 분석에 액세스합니다.
  • API 정의를 다운로드합니다.
  • API 키를 관리합니다.

Azure 서비스와의 통합

API Management는 다음을 비롯한 여러 보완 Azure 서비스와 통합됩니다.

주요 개념

API

API는 API Management 서비스 인스턴스의 기반입니다. 각 API는 앱 개발자가 사용할 수 있는 작업 집합을 나타냅니다. 각 API에는 API를 구현하는 백 엔드 서비스에 대한 참조가 포함되어 있으며, 해당 작업은 백 엔드 작업에 매핑됩니다.

API Management의 작업은 매우 다양하게 구성할 수 있으며 URL 매핑, 쿼리 및 경로 매개 변수, 요청 및 응답 콘텐츠, 작업 응답 캐싱 등을 더 효율적으로 제어할 수 있습니다.

추가 정보:

제품

제품은 API가 개발자에게 표시되는 방식입니다. API Management의 제품에는 하나 이상의 API가 있으며 열려 있거나 보호될 수 있습니다. 보호된 제품에는 구독 키가 필요하지만 열려 있는 제품은 자유롭게 사용할 수 있습니다.

제품을 개발자가 사용할 수 있게 되면 제품을 게시할 수 있습니다. 일단 게시되면 개발자가 보거나 구독할 수 있습니다. 구독 승인은 제품 수준에서 구성되며 관리자 승인을 요구하거나 자동으로 처리될 수 있습니다.

추가 정보:

그룹

그룹은 제품을 개발자에게 표시하는 옵션을 관리하는 데 사용됩니다. API Management에는 다음과 같은 기본 제공 그룹이 있습니다.

  • 관리자 - API Management 서비스 인스턴스를 관리하며 개발자가 사용하는 API, 작업 및 제품을 만듭니다.

    Azure 구독 관리자가 이 그룹의 구성원입니다.

  • 개발자 - API를 사용하여 애플리케이션을 빌드하는 인증된 개발자 포털 사용자입니다. 개발자는 개발자 포털에 액세스할 수 있는 권한을 받으며 API의 작업을 호출하는 애플리케이션을 빌드합니다.

  • 게스트 - 개발자 포털을 방문하는 잠재 고객과 같은 인증되지 않은 개발자 포털 사용자입니다. 예를 들어 API를 볼 수 있지만 호출할 수는 없는 기능과 같이 특정 읽기 전용 액세스 권한을 받을 수 있습니다.

또한 관리자는 사용자 지정 그룹을 만들거나 연결된 Azure Active Directory 테넌트에서 외부 그룹을 사용하여 개발자에게 API 제품에 대한 가시성과 액세스 권한을 부여할 수 있습니다. 예를 들어 파트너 조직의 개발자가 제품의 특정 API 하위 집합에 액세스할 수 있도록 사용자 지정 그룹을 만듭니다. 한 명의 사용자가 둘 이상의 그룹에 속할 수도 있습니다.

추가 정보:

개발자

개발자는 API Management 서비스 인스턴스의 사용자 계정을 나타냅니다. 개발자는 관리자가 만들거나 참여하도록 초대할 수 있으며 개발자 포털에서 등록할 수도 있습니다. 각 개발자는 하나 이상의 그룹의 구성원이며 해당 그룹에 대한 가시성을 부여하는 제품을 구독할 수 있습니다.

개발자가 제품을 구독하면 제품의 API를 호출할 때 사용하기 위해 제품의 기본 키 및 보조 키를 부여받습니다.

추가 정보:

정책

정책을 사용하면 API 게시자는 구성을 통해 API의 동작을 변경할 수 있습니다. 정책은 API의 요청이나 응답에 따라 순차적으로 실행되는 명령문의 컬렉션입니다. 많이 사용되는 명령문에는 XML에서 JSON으로 형식 변환, 개발자로부터 들어오는 호출 수를 제한하는 호출 비율 제한 등이 포함됩니다. 전체 목록에 대해서는 API Management 정책을 참조하세요.

정책이 다르게 지정하지 않는 한 정책 식은 어떤 API Management 정책에서든 특성 값 또는 텍스트 값으로 사용될 수 있습니다. 제어 흐름변수 설정 정책 등의 일부 정책은 정책 식을 기반으로 합니다.

사용자의 요구에 따라 전역(모든 API), 제품, 특정 API 또는 API 작업 등의 다양한 범위에서 정책을 적용할 수 있습니다.

추가 정보:

다음 단계

다음 빠른 시작을 완료하고 Azure API Management 사용을 시작합니다.