다음을 통해 공유


API로 Azure 웹앱 가져오기

적용 대상: 모든 API Management 계층

이 문서에서는 Azure Portal을 사용하여 Azure 웹앱을 API로 Azure API Management로 가져오고 가져온 API를 테스트하는 방법을 보여 줍니다.

참고 항목

현재 이 기능은 작업 영역에서 사용할 수 없습니다.

이 문서에서는 다음 방법을 설명합니다.

  • Azure App Service에서 호스트되는 웹앱을 API로 가져오기
  • Azure Portal에서 API 테스트

API Management를 사용하여 웹앱 노출

Azure App Service는 웹 애플리케이션, REST API 및 모바일 백 엔드를 호스트하는 HTTP 기반 서비스입니다. API 개발자는 선호하는 기술 스택 및 파이프라인을 사용하여 API를 개발하고 API 백 엔드를 안전하고 확장 가능한 환경에서 웹앱으로 게시할 수 있습니다. 그런 다음 API Management를 사용하여 웹앱을 노출하고, 수명 주기 내내 API를 관리 및 보호하고, 소비자에게 게시할 수 있습니다.

API Management를 사용하여 Web Apps 호스팅 API를 노출하면 다음과 같은 이점이 제공됩니다.

  • API 소비자에게 노출되는 프런트 엔드 관리 및 보안을 백 엔드 웹앱 관리 및 모니터링에서 분리합니다.
  • 다른 API와 동일한 환경에서 웹앱으로 호스트되는 웹 API를 관리합니다.
  • 호출 속도 제한과 같은 API 동작을 변경하는 정책을 적용합니다.
  • API 소비자를 사용자 지정 가능한 API Management 개발자 포털 로 보내 API를 검색하고 알아보고 액세스를 요청하고 API를 사용해 보세요.

자세한 내용은 API Management 정보를 참조하세요.

OpenAPI 정의 및 와일드카드 작업

API Management는 OpenAPI 정의(Swagger 정의)를 포함하는 App Service에서 호스트되는 웹앱의 가져오기를 지원합니다. 하지만 OpenAPI 정의는 필요하지 않습니다.

  • 웹앱이 OpenAPI 정의로 구성된 경우 API Management에서 이를 검색합니다. 또는 정의를 수동으로 API Management로 가져올 수 있습니다. API Management는 필수 경로, 매개 변수 및 응답 유형을 포함하여 정의로 직접 매핑되는 API 작업을 만듭니다.

    API는 높은 충실도로 API Management로 가져오기 때문에 OpenAPI 정의를 사용하는 것이 좋습니다. 따라서 각 작업에 대한 구성을 개별적으로 유효성 검사, 관리, 보안 및 업데이트할 수 있는 유연성을 제공합니다.

  • OpenAPI 정의가 제공되지 않는 경우 API Management는 공통 HTTP 동사(GET, PUT 등)에 대한 와일드카드 작업을 생성합니다. API 요청을 백 엔드 API로 전달하기 위해 와일드카드 작업에 필요한 경로 또는 매개 변수를 추가합니다.

    와일드카드 작업을 사용하면 동일한 API Management 기능을 활용할 수 있지만, 작업은 기본적으로 동일한 수준의 세부 정보로 정의되지 않습니다. 편집 또는 가져온 API로 작업을 추가할 수 있습니다.

예시

백 엔드 웹앱은 다음 두 가지 GET 작업을 지원할 수 있습니다.

  • https://<app-service>.azurewebsites.net/customer/{id}
  • https://<app-service>.azurewebsites.net/customers

웹앱을 다음과 같은 https://<api>.azureapi.net/store경로의 API Management 서비스로 가져옵니다. 다음 표에서는 OpenAPI 사양을 사용하거나 사용하지 않고 API Management로 가져오는 작업을 보여 줍니다.

유형 가져온 작업 샘플 요청
OpenAPI 사양 GET /customer/{id}

GET /customers
GET https://<api>.azureapi.net/store/customer/1

GET https://<api>.azureapi.net/store/customers
와일드카드 GET /* GET https://<api>.azureapi.net/store/customer/1

GET https://<api>.azureapi.net/store/customers

와일드카드 작업은 백 엔드에 대해 동일한 작업을 OpenAPI 사양의 작업으로 허용합니다. 하지만 OpenAPI 지정 작업은 API Management에서 별도로 관리할 수 있습니다.

필수 조건

백 엔드 API 가져오기 및 게시

다음 단계에서는 Azure Portal에서 API Management를 사용하여 가져오기를 시작합니다. 앱의 API 메뉴에서 API Management를 선택하여 웹앱에서 직접 API Management에 연결할 수도 있습니다.

  1. Azure Portal에서 API Management 서비스로 이동합니다.

  2. 왼쪽 메뉴의 API 섹션에서 API를 선택한 다음+ API 추가를 선택합니다.

  3. App Service 타일을 선택합니다.

    App Service 타일을 보여 주는 스크린샷입니다.

  4. 찾아보기를 선택하여 구독의 앱 서비스 목록을 확인합니다.

  5. 앱 서비스를 선택한 다음 선택 단추를 클릭합니다. OpenAPI 정의가 선택한 웹앱과 연결된 경우 API Management는 이를 가져와서 가져옵니다.

    OpenAPI 정의를 찾을 수 없는 경우 API Management는 일반 HTTP 동사에 대한 와일드카드 작업을 생성하여 API를 노출합니다.

  6. API URL 접미사를 추가합니다. 접미사는 API Management 인스턴스에서 API를 식별하는 이름입니다. API Management 인스턴스에서 고유해야 합니다.

  7. API를 게시하고 개발자가 사용할 수 있게 하려면 전체 보기로 전환하고 API를 제품과 연결합니다. 이 예제에서는 무제한 제품을 사용합니다. (API를 만들 때 또는 나중에 설정 탭을 통해 제품에 추가할 수 있습니다.)

    참고 항목

    제품은 개발자 포털을 통해 개발자에게 제공되는 하나 이상의 API의 연결입니다. 개발자는 먼저 제품을 구독해야 API에 액세스할 수 있습니다. 구독한 후에는 제품의 모든 API에 대한 구독 키를 가져옵니다. API Management 인스턴스의 작성자는 관리자이며 기본적으로 모든 제품을 구독합니다.

    특정 계층에서 각 API Management 인스턴스에는 두 가지 기본 샘플 제품이 함께 제공됩니다.

    • 스타터
    • 무제한
  8. 다른 API 설정을 입력합니다. API를 만들 때 이러한 값을 설정하거나 나중에 설정 탭으로 이동하여 구성할 수 있습니다. 설정은 첫 번째 API 가져오기 및 게시 자습서에 설명되어 있습니다.

  9. 만들기를 실행합니다. App Service에서 만들기 창을 보여 주는 스크린샷

Azure Portal에서 새 API 테스트

Azure Portal에서 직접 작업을 호출할 수 있습니다. 이 메서드는 API의 작업을 보고 테스트하는 편리한 방법을 제공합니다. 개발자 포털에서 또는 사용자 고유의 REST 클라이언트 도구를 사용하여 API를 테스트할 수도 있습니다.

  1. 이전 단계에서 만든 API를 선택합니다.

  2. 테스트 탭에서 작업을 선택합니다.

    페이지에 쿼리 매개 변수에 대한 필드와 헤더 필드가 표시됩니다. 헤더 중 하나는 .입니다 Ocp-Apim-Subscription-Key. 이 헤더는 API와 연결된 제품의 구독 키에 대한 것입니다. API Management 인스턴스를 만든 경우 이미 관리자이므로 키가 자동으로 채워집니다.

  3. 보내기를 누릅니다.

    테스트에 성공하면 백 엔드가 200 OK와 일부 데이터로 응답합니다.

포털에서 와일드카드 작업 테스트

와일드카드 작업이 생성되면 작업은 백 엔드 API에 직접 매핑되지 않을 수 있습니다. 예를 들어 API Management에서 가져온 와일드카드 GET 작업은 기본적으로 / 경로를 사용합니다. 그러나 백 엔드 API는 경로 /api/todoItems에서 GET 작업을 지원할 수 있습니다.

경로를 /api/todoItems테스트하려면:

  1. 만든 API를 선택한 다음 작업을 선택합니다.

  2. 테스트 탭의 템플릿 매개 변수 아래에서 와일드카드(*) 이름 옆에 있는 값을 업데이트합니다. 예를 들어 api/todoItems를 입력합니다. 이 값은 와일드 카드 작업에 대해 / 경로에 추가됩니다.

    작업을 테스트하는 단계를 보여 주는 스크린샷

  3. 보내기를 선택합니다.

다른 API 추가

다음을 포함하여 다양한 서비스에서 노출되는 API에서 API를 작성할 수 있습니다.

  • OpenAPI 사양
  • SOAP API
  • GraphQL API
  • Azure App Service에서 호스트되는 웹앱
  • Azure Functions (애저 펑션)
  • Azure 논리 앱
  • Azure 서비스 패브릭

참고 항목

API를 가져올 때 작업은 현재 API에 추가됩니다.

기존 API에 API를 추가하려면 다음을 수행합니다.

  1. Azure Portal에서 Azure API Management 인스턴스로 이동합니다.

    API Management 서비스 페이지를 보여 주는 스크린샷

  2. 개요 페이지에서 API를 선택하거나 왼쪽 메뉴에서 API API>를 선택합니다.

    개요 페이지의 API 선택을 보여 주는 스크린샷.

  3. 다른 API를 추가할 API 옆에 있는 줄임표(...)를 선택합니다.

  4. 드롭다운 메뉴에서 가져오기 를 선택합니다.

    가져오기 명령을 보여 주는 스크린샷.

  5. API를 가져올 서비스를 선택합니다.