적용 대상: 모든 API Management 계층
이 문서에서는 Azure 컨테이너 앱을 API로 Azure API Management로 가져오고 Azure Portal을 사용하여 가져온 API를 테스트하는 방법을 설명합니다.
참고 항목
현재 이 기능은 작업 영역에서 사용할 수 없습니다.
이 문서에서는 다음 방법을 설명합니다.
- 웹 API를 노출하는 컨테이너 앱 가져오기
- Azure Portal에서 API 테스트
API Management를 사용하여 컨테이너 앱 노출
Azure Container Apps를 사용하면 복잡한 인프라를 관리하지 않고도 컨테이너화된 앱을 배포할 수 있습니다. API 개발자는 선호하는 프로그래밍 언어 또는 프레임워크를 사용하여 코드를 작성하고, Dapr(Distributed Application Runtime)을 완전히 지원하는 마이크로 서비스를 빌드하고, HTTP 트래픽 또는 기타 이벤트에 따라 크기를 조정할 수 있습니다.
API Management를 사용하여 컨테이너 앱에서 호스트되는 웹 API를 노출하면 다음과 같은 이점을 얻을 수 있습니다.
- API 소비자에게 노출되는 프런트 엔드 관리 및 보안을 백 엔드 웹 API 관리 및 모니터링에서 분리합니다.
- 다른 API와 동일한 환경에서 컨테이너 앱으로 호스트되는 웹 API를 관리합니다.
- 호출 속도 제한과 같은 API 동작을 변경하는 정책을 적용합니다.
- API 소비자를 사용자 지정 가능한 API Management 개발자 포털 로 보내 API를 검색하고 알아보고 액세스를 요청하고 API를 사용해 보세요.
자세한 내용은 API Management 정보를 참조하세요.
OpenAPI 사양과 와일드카드 작업 비교
API Management는 OpenAPI 사양(Swagger 정의)을 제공하는 컨테이너 앱 가져오기를 지원합니다. OpenAPI 사양은 필요하지 않지만 제공하는 것이 좋습니다. API Management는 개별 작업을 가져올 수 있으므로 각 작업에 대한 구성의 유효성을 별도로 검사, 관리, 보안 및 업데이트할 수 있습니다.
컨테이너 앱이 OpenAPI 사양을 노출하는 경우 API Management는 정의에 직접 매핑되는 API 작업을 만듭니다. API Management는 여러 위치에서 OpenAPI 사양을 찾게 됩니다.
- 컨테이너 앱 구성
/openapi.json
/openapi.yml
/swagger/v1/swagger.json
OpenAPI 사양이 제공되지 않는 경우 API Management는 공통 HTTP 동사(GET, PUT 등)에 대한 와일드카드 작업을 생성합니다. 동일한 API Management 기능을 계속 활용할 수 있지만, 작업은 동일한 세부 정보 수준에서 정의되지 않습니다.
두 경우 모두 가져온 후 API에 작업을 편집 하거나 추가할 수 있습니다.
예시
백 엔드 컨테이너 앱은 두 가지 GET 작업을 지원할 수 있습니다.
https://<app-service>.azurewebsites.net/customer/{id}
https://<app-service>.azurewebsites.net/customers
컨테이너 앱을 다음과 같은 https://<api>.azure-api.net/store
경로의 API Management 서비스로 가져옵니다. 다음 표에서는 OpenAPI 사양 여부와 무관하게 API Management로 가져오는 작업을 보여 줍니다.
유형 | 가져온 작업 | 샘플 요청 |
---|---|---|
OpenAPI 사양 | GET /customer/{id} GET /customers |
GET https://<api>.azure-api.net/store/customer/1 GET https://<api>.azure-api.net/store/customers |
와일드카드 | GET /* |
GET https://contosoapi.azure-api.net/store/customer/1 GET https://<api>.azure-api.net/store/customers |
와일드카드 작업은 백 엔드에 대해 동일한 작업을 OpenAPI 사양의 작업으로 허용합니다. 하지만 OpenAPI 지정 작업은 API Management에서 별도로 관리할 수 있습니다.
필수 조건
- Azure API Management 인스턴스 만들기 빠른 시작을 완료합니다.
- 구독에 웹 API를 노출하는 컨테이너 앱이 있는지 확인합니다. 자세한 내용은 Container Apps 설명서를 참조하세요.
백 엔드 API 가져오기 및 게시
Azure Portal에서 API Management 서비스로 이동하고 왼쪽 창에서 API API>를 선택합니다.
Azure 리소스에서 만들기 아래에서컨테이너 앱을 선택합니다.
찾아보기를 선택하여 구독의 컨테이너 앱 목록을 확인합니다.
컨테이너 앱을 선택합니다. OpenAPI 정의가 선택한 컨테이너 앱과 연결된 경우 API Management는 이를 가져와서 가져옵니다. OpenAPI 정의를 찾을 수 없는 경우 API Management는 일반 HTTP 동사에 대한 와일드카드 작업을 생성하여 API를 노출합니다.
API URL 접미사를 추가합니다. 접미사는 API Management 인스턴스에서 API를 식별하는 이름입니다. API Management 인스턴스에서 고유해야 합니다.
API를 제품과 연결합니다. 전체를 선택한 다음 제품에서 제품을 선택합니다. 이 경우 무제한 제품이 사용됩니다. API를 게시하고 개발자가 사용할 수 있게 하려면 제품에 추가해야 합니다.
참고 항목
제품은 하나 이상의 API와 연관되어 있습니다. 여러 API를 포함하고 개발자 포털을 통해 개발자에게 제공할 수 있습니다. 개발자는 API에 액세스하려면 먼저 제품을 구독해야 합니다. 구독할 때 해당 제품의 모든 API에 적합한 구독 키를 받습니다. API Management 인스턴스를 만든 경우 기본적으로 관리자이며 모든 제품을 구독합니다.
일부 가격 책정 계층에서는 API Management 인스턴스를 만들 때 두 가지 샘플 제품이 함께 제공됩니다.
- 스타터
- 무제한
다른 API 설정을 입력합니다. API를 만들 때 이러한 값을 설정하거나 나중에 설정 탭에서 구성할 수 있습니다. 이러한 설정은 첫 번째 API 가져오기 및 게시 자습서에 설명되어 있습니다.
만들기를 실행합니다.
Azure Portal에서 새 API 테스트
Azure Portal에서 직접 작업을 호출할 수 있습니다. 이 메서드는 API의 작업을 보고 테스트하는 편리한 방법입니다. 개발자 포털에서 또는 사용자 고유의 REST 클라이언트 도구를 사용하여 API를 테스트할 수도 있습니다.
Azure Portal에서 API를 테스트하려면 다음을 수행합니다.
이전 단계에서 만든 API를 선택합니다.
테스트 탭을 선택합니다.
작업을 선택합니다.
페이지에 쿼리 매개 변수에 대한 필드와 헤더 필드가 표시됩니다. 헤더 중 하나는 .입니다
Ocp-Apim-Subscription-Key
. 이 헤더는 API와 연결된 제품의 구독 키에 대한 것입니다. API Management 인스턴스를 만든 경우 관리자이므로 키가 자동으로 채워집니다.보내기를 선택합니다.
테스트에 성공하면 백 엔드가 200 OK와 일부 데이터로 응답합니다.
포털에서 와일드카드 작업 테스트
와일드카드 작업이 생성되면 작업은 백 엔드 API에 직접 매핑되지 않을 수 있습니다. 예를 들어 API Management에서 가져온 와일드카드 GET 작업은 기본적으로 /
경로를 사용합니다. 하지만 백 엔드 API는 다음 경로에서 GET 작업을 지원할 수 있습니다.
/api/TodoItems
/api/TodoItems
경로를 테스트하려면 다음 작업을 수행합니다.
만든 API를 선택한 다음 작업을 선택합니다.
테스트 탭을 선택합니다.
템플릿 매개 변수에서 와일드카드(*) 이름 옆의 값을 업데이트합니다. 예를 들어
api/TodoItems
을 입력합니다. 이 값은 와일드카드 작업의 경로/
에 추가됩니다.보내기를 선택합니다.
다른 API 추가
다음을 포함하여 다양한 서비스에서 노출되는 API에서 API를 작성할 수 있습니다.
- OpenAPI 사양
- SOAP API
- GraphQL API
- Azure App Service에서 호스트되는 웹앱
- Azure Functions (애저 펑션)
- Azure 논리 앱
- Azure 서비스 패브릭
참고 항목
API를 가져올 때 작업은 현재 API에 추가됩니다.
기존 API에 API를 추가하려면 다음을 수행합니다.
Azure Portal에서 Azure API Management 인스턴스로 이동합니다.
개요 페이지에서 API를 선택하거나 왼쪽 메뉴에서 API API>를 선택합니다.
다른 API를 추가할 API 옆에 있는 줄임표(...)를 선택합니다.
드롭다운 메뉴에서 가져오기 를 선택합니다.
API를 가져올 서비스를 선택합니다.
관련 콘텐츠
- API 가져오기 제한 사항
- OpenAPI 사양 가져오기
- SOAP API 가져오기
- SOAP API 가져오기 및 REST로 변환
- App Service API 가져오기
- 컨테이너 앱 API 가져오기
- WebSocket API 가져오기
- GraphQL API 가져오기
- GraphQL 스키마 가져오기 및 필드 확인자 설정
- 함수 앱 API 가져오기
- 논리 앱 API 가져오기
- Service Fabric 서비스 가져오기
- Azure AI Foundry API 가져오기
- Azure OpenAI API 가져오기
- LLM API 가져오기
- OData API 가져오기
- SAP OData 메타데이터 가져오기
- gRPC API 가져오기
- API 편집