연습 - API 게이트웨이 만들기
이 연습에서는 샘플 웹 API를 배포하고 API 게이트웨이를 구성합니다. 이후 단원에서는 웹 API를 게이트웨이에 게시합니다.
신발 회사의 예에서 NorthWind Shoes는 재고 API를 파트너와 공유하기로 결정했습니다. 이 API를 사용하면 파트너가 재고 및 제품 정보에 액세스할 수 있습니다.
중요
이 연습을 수행하려면 사용자의 Azure 구독이 필요하며 요금이 발생할 수 있습니다. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
ShoeCompany 웹 API 배포
재고 및 제품 정보를 생성하는 .NET Core 앱을 개발했습니다. 이 앱에는 OpenAPI Swagger 설명서를 생성하는 Swashbuckle이 포함되어 있습니다.
시간을 절약하기 위해 먼저 스크립트를 실행하여 Azure에서 RESTful API를 호스팅해 보겠습니다. 스크립트에서 수행하는 단계는 다음과 같습니다.
- 체험 계층에서 Azure App Service 계획을 만듭니다.
- Azure App Service에서 Web API를 만듭니다. Web API는 로컬 리포지토리에서 Git 배포를 위해 구성됩니다.
- 앱에 대해 계정 수준의 배포 자격 증명을 설정합니다.
- 로컬에서 Git을 구성합니다.
- 웹 API를 App Service 인스턴스에 배포합니다.
Azure Portal에 로그인합니다.
Azure 작업 표시줄에서 Cloud Shell 아이콘을 선택하여 Azure Cloud Shell을 엽니다.
Cloud Shell에서 다음
git
명령을 실행하여 GitHub 리포지토리를 복제하고 앱의 소스 코드를 다운로드합니다.git clone https://github.com/MicrosoftDocs/mslearn-publish-manage-apis-with-azure-api-management.git
작업이 완료된 후 다음 명령을 실행하여 로컬 리포지토리 폴더를 열고 해당 내용을 나열합니다.
cd mslearn-publish-manage-apis-with-azure-api-management ls -l
파일 중 하나는 setup.sh입니다. 이름에서 알 수 있듯이 테스트 API를 설정하기 위해 실행하는 스크립트입니다.
다음 명령을 입력하여 이 스크립트를 실행합니다. OpenAPI 인터페이스를 공개하는 퍼블릭 웹앱을 생성합니다.
bash setup.sh
스크립트를 실행하는 데 약 1분 정도 걸립니다. 배포하는 동안 앱을 실행하는 데 필요한 모든 종속성이 원격 App Service에 자동으로 설치됩니다. 출력이 모든 작업을 나열합니다. 스크립트가 완료되면 마지막 두 줄은 앱 배포를 테스트하는 데 사용하는 URL입니다.
앱이 올바르게 배포되었는지 테스트하려면 Cloud Shell에서 첫 번째 URL(Swagger URL)을 복사하여 브라우저의 새 탭에 붙여넣습니다.
브라우저에서는 앱에 대한 Swagger UI를 표시하고 다음 RESTful 엔드포인트를 선언합니다.
- api/inventory: 제품 목록과 재고 수량을 생성합니다.
- api/inventory/{productid}: 지정된 제품 ID(정수)에 대한 재고 수량을 반환합니다.
- api/Products: 제품 목록을 생성합니다.
- api/Products/{productid}: 지정된 제품 ID에 대한 세부 정보를 반환합니다.
마지막으로, Cloud Shell 출력에서 두 번째 URL(Swagger JSON URL)을 복사하고 메모장 같은 위치에 저장합니다. 이 URL은 다음 연습에서 필요합니다.
API 게이트웨이 배포
이 연습의 마지막 작업은 Azure Portal에서 API 게이트웨이를 만드는 것입니다. 다음 연습에서는 이 게이트웨이를 사용하여 API를 게시합니다.
Azure Portal에 로그인합니다.
Azure 서비스 또는 홈 페이지에서 리소스 만들기를 선택합니다. 리소스 만들기 창이 나타납니다.
리소스 메뉴에서 통합을 선택하고 결과에서 API Management를 선택합니다. API Management 서비스 만들기 창이 나타납니다.
기본 탭에서 각 설정에 다음 값을 입력합니다.
설정 값 프로젝트 세부 정보 Subscription 구독을 선택합니다. 리소스 그룹 신규 또는 기존 리소스 그룹을 선택합니다. 리소스 그룹은 Azure 솔루션 관련 리소스를 보관하는 논리 컨테이너입니다. 인스턴스 세부 정보 지역 사용 가능한 지역을 선택합니다. 리소스 이름 이름이 전역적으로 고유하도록 apim-NorthWindShoes<random number>
에서random number
를 고유한 일련의 숫자로 대체합니다.조직 이름 NorthWindShoes
. 개발자 포털 및 이메일 알림에 표시되는 조직 이름입니다. (개발자 포털 및 알림이 모든 서비스 계층에서 지원되는 것은 아닙니다.)관리자 이메일 모든 시스템 알림을 수신하는 이메일 주소입니다. 가격 책정 계층 Consumption
참고
사용량 계층은 테스트를 위한 빠른 배포를 제공하며 사용량에 따른 가격 책정 모델이 적용됩니다. 전반적인 API 관리 환경은 다른 가격 책정 계층과 유사합니다.
검토 + 만들기를 선택하여 설정의 유효성을 검사합니다.
유효성 검사를 통과했으면 만들기를 선택합니다. 배포를 완료하는 데 몇 분 정도 걸릴 수 있습니다.
배포가 완료되면 API Management 인스턴스가 Azure 리소스에 나열됩니다. 리소스로 이동을 선택하여 API Management 서비스에 대한 창을 봅니다.