Azure API Management란?
적용 대상: 모든 API Management 계층
이 문서에서는 Azure API Management의 일반적인 시나리오 및 주요 구성 요소에 대한 개요를 제공합니다. Azure API Management는 모든 환경에서 API에 사용되는 하이브리드 다중 클라우드 관리 플랫폼입니다. 서비스로서의 플랫폼으로서 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는 용량과 기능이 다른 다양한 계층에서 사용할 수 있습니다.
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 확장, REST API 또는 클라이언트 SDK를 비롯한 Azure 도구를 통해 관리 평면과 상호 작용합니다.
관리 평면을 사용하여 다음을 수행합니다.
- API Management 서비스 설정 프로비저닝 및 구성
- OpenAPI, WSDL, OData 정의, Azure 컴퓨팅 서비스, WebSocket, GraphQL, gRPC 백 엔드를 비롯한 다양한 원본에서 API 스키마를 정의하거나 가져옵니다.
- 제품에 API 패키징
- API에서 할당량 또는 변환 등의 정책 설정
- 분석에서 인사이트 얻기
- 사용자 관리
개발자 포털
오픈 소스 개발자 포털은 API 설명서를 사용하여 원하는 대로 사용자 지정 가능한 자동 생성 웹 사이트입니다.
API 공급자는 사용자 지정 콘텐츠를 추가하고, 스타일을 사용자 지정하고, 브랜딩을 추가하여 개발자 포털의 모양을 사용자 지정할 수 있습니다. 자체 호스팅을 통해 개발자 포털을 더 확장합니다.
앱 개발자는 오픈 소스 개발자 포털을 사용하여 API를 검색하고, 온보딩하여 사용하고, 애플리케이션에서 사용하는 방법을 알아봅니다. (API를 시민 개발자가 검색하고 사용하기 위해 Power Platform으로 내보낼 수도 있습니다.)
개발자 포털을 사용하여 개발자는 다음을 수행할 수 있습니다.
- API 설명서를 읽습니다.
- 대화형 콘솔을 통해 API를 호출합니다.
- 계정을 만들고 구독하여 API 키를 받습니다.
- 자신의 사용량에 대한 분석에 액세스합니다.
- API 정의를 다운로드합니다.
- API 키를 관리합니다.
API Management 계층
API Management는 다양한 고객의 요구를 충족하기 위해 다양한 가격 책정 계층으로 제공됩니다. 각 계층은 다양한 시나리오에 대한 기능, 성능, 용량 제한, 확장성, SLA 및 가격 책정이 고유하게 조합되어 있습니다. 계층은 다음과 같이 그룹화됩니다.
- 클래식 - 개발자, 기본, 표준 및 프리미엄 계층을 포함한 원래 API Management 제품입니다. 프리미엄 계층은 프라이빗 백 엔드, 향상된 보안 기능, 다중 지역 배포, 가용성 영역 및 높은 확장성에 액세스해야 하는 기업을 위해 설계되었습니다. 개발자 계층은 비프로덕션 사용을 위한 경제적인 옵션이며 기본, 표준 및 프리미엄 계층은 프로덕션 지원 계층입니다.
- V2 - 개발 및 테스트를 위한 기본 v2 및 프로덕션 워크로드용 Standard v2 및 Premium v2를 포함하여 빠른 프로비전 및 크기 조정을 제공하는 새로운 계층 집합입니다. 표준 v2 및 Premium v2는 네트워크 격리 백 엔드에 대한 간소화된 연결을 위해 가상 네트워크 통합을 지원합니다. 프리미엄 v2는 게이트웨이 간 네트워크 트래픽을 완전히 격리하기 위한 가상 네트워크 주입도 지원합니다.
- 사용량 - 사용량 계층은 수요에 따라 크기가 조정되고 실행당 청구되는 API를 관리하기 위한 서버리스 게이트웨이입니다. 서버리스 컴퓨팅, 마이크로 서비스 기반 아키텍처 및 가변 트래픽 패턴이 있는 애플리케이션용으로 설계되었습니다.
추가 정보:
Azure 서비스와의 통합
API Management는 다음을 포함하여 엔터프라이즈 솔루션을 만들기 위해 많은 보완 Azure 서비스와 통합됩니다.
- 완전한 API 인벤토리 빌드를 위한 Azure API Center 조직 내 - 형식, 수명 주기 단계 또는 배포 위치에 관계없이 - API 검색, 재사용 및 거버넌스용
- Azure의 Copilot API Management 정책 작성에 도움을 주거나 이미 구성된 정책 설명
- 클라이언트 인증서 및 비밀의 안전한 보관 및 관리를 위한 Azure Key Vault
- 관리 작업, 시스템 이벤트 및 API 요청의 로깅, 보고 및 경고를 위한 Azure Monitor
- 라이브 메트릭, 엔드 투 엔드 추적 및 문제 해결을 위한 Application Insights
- 네트워크 수준 보호를 위한 가상 네트워크, 프라이빗 엔드포인트, Application Gateway 및 Azure Front Door
- 악의적인 공격으로부터 런타임 보호를 위한 Azure Defender for API 및 Azure DDoS Protection
- 개발자 인증 및 권한 부여 요청을 위한 Microsoft Entra ID
- 이벤트 스트리밍을 위한 Event Hubs
- Functions, Logic Apps, Web Apps, Service Fabric을 포함하여 Azure에서 API를 빌드하고 호스팅하는 데 일반적으로 사용되는 여러 Azure 컴퓨팅 제품 Azure OpenAI 서비스를 포함한 기타 서비스입니다.
추가 정보:
주요 개념
API
API는 API Management 서비스 인스턴스의 기반입니다. 각 API는 앱 개발자가 사용할 수 있는 작업 집합을 나타냅니다. 각 API에는 API를 구현하는 백 엔드 서비스에 대한 참조가 포함되어 있으며, 해당 작업은 백 엔드 작업에 매핑됩니다.
API Management의 작업은 매우 다양하게 구성할 수 있으며 URL 매핑, 쿼리 및 경로 매개 변수, 요청 및 응답 콘텐츠, 작업 응답 캐싱 등을 더 효율적으로 제어할 수 있습니다.
추가 정보:
제품
제품은 API가 개발자에게 표시되는 방식입니다. API Management의 제품에는 하나 이상의 API가 있으며 열려 있거나 보호될 수 있습니다. 보호된 제품에는 구독 키가 필요하지만 열려 있는 제품은 자유롭게 사용할 수 있습니다.
제품을 개발자가 사용할 수 있게 되면 제품을 게시할 수 있습니다. 게시되면 개발자 포털을 사용하여 개발자가 보거나 구독할 수 있습니다. 구독 승인은 제품 수준에서 구성되며 관리자 승인을 요구하거나 자동으로 처리될 수 있습니다.
추가 정보:
그룹
그룹은 제품을 개발자에게 표시하는 옵션을 관리하는 데 사용됩니다. API Management에는 개발자를 위한 다음과 같은 기본 제공 그룹이 있습니다.
개발자 - API를 사용하여 애플리케이션을 빌드하는 인증된 개발자 포털 사용자입니다. 개발자는 개발자 포털에 액세스할 수 있는 권한을 받으며 API의 작업을 호출하는 애플리케이션을 빌드합니다.
게스트 - 개발자 포털을 방문하는 잠재 고객과 같은 인증되지 않은 개발자 포털 사용자입니다. 예를 들어 API를 볼 수 있지만 호출할 수는 없는 기능과 같이 특정 읽기 전용 액세스 권한을 받을 수 있습니다.
API Management 서비스 소유자는 사용자 지정 그룹을 만들거나 관련된 Microsoft Entra 테넌트에서 외부 그룹을 사용하여 개발자에게 API 제품에 대한 표시 여부와 액세스 권한을 제공할 수도 있습니다. 예를 들어 파트너 조직의 개발자가 제품의 특정 API 하위 집합에 액세스할 수 있도록 사용자 지정 그룹을 만듭니다. 한 명의 사용자가 둘 이상의 그룹에 속할 수도 있습니다.
추가 정보:
개발자
개발자는 API Management 서비스 인스턴스의 사용자 계정을 나타냅니다. 개발자는 관리자가 만들거나 참여하도록 초대할 수 있으며 개발자 포털에서 등록할 수도 있습니다. 각 개발자는 하나 이상의 그룹의 구성원이며 해당 그룹에 대한 가시성을 부여하는 제품을 구독할 수 있습니다.
개발자가 제품을 구독하면 제품의 API를 호출할 때 사용하기 위해 제품의 기본 키 및 보조 키를 부여받습니다.
추가 정보:
작업 영역
작업 영역을 통해 탈중앙화 API 개발 팀은 자체 API를 관리하고 제품화할 수 있으며, 중앙 API 플랫폼 팀은 API Management 인프라를 유지 관리합니다. 각 작업 영역에는 작업 영역 협력자만 액세스할 수 있는 API, 제품, 구독 및 관련 엔터티가 포함되어 있습니다. 액세스는 Azure RBAC(역할 기반 액세스 제어)를 통해 제어됩니다. 각 작업 영역은 API 트래픽을 백 엔드 서비스로 라우팅하는 작업 영역 게이트웨이와 연결됩니다.
추가 정보:
정책
정책을 사용하면 API 게시자는 구성을 통해 API의 동작을 변경할 수 있습니다. 정책은 API의 요청이나 응답에 따라 순차적으로 실행되는 명령문의 컬렉션입니다. 많이 사용되는 명령문에는 XML에서 JSON으로 형식 변환, 개발자로부터 들어오는 호출 수를 제한하는 호출 비율 제한 등이 포함됩니다. 전체 목록에 대해서는 API Management 정책을 참조하세요.
정책이 다르게 지정하지 않는 한 정책 식은 어떤 API Management 정책에서든 특성 값 또는 텍스트 값으로 사용될 수 있습니다. 제어 흐름 및 변수 설정 정책 등의 일부 정책은 정책 식을 기반으로 합니다.
사용자의 요구에 따라 전역(모든 API), 작업 영역, 제품, 특정 API 또는 API 작업 등의 다양한 범위에서 정책을 적용할 수 있습니다.
추가 정보:
다음 단계
다음 빠른 시작을 완료하고 Azure API Management 사용을 시작합니다.