2.3. 기본 경로 절차
기본 경로를 처음부터 끝까지 개별적으로 수행할 수 있습니다. 또는 필요에 따라 이 경로에서 몇 가지 단계를 수행하도록 선택할 수 있습니다. 각 경로는 독립적일 수 있지만 프로토타입,기본, 고급 경로가 순차적으로 빌드됩니다.
2.3.1. API 보안
전체 프로덕션 구현을 위해서는 제품을 구조화하고 3scale과의 통합을 구현하는 방법에 대한 기본적인 결정을 해야 합니다.
제품 트래픽에 대한 여러 인증 모드를 선택할 수 있습니다. 사용 가능한 옵션에 대한 가이드를 참조하고 설정을 구성합니다.
인증을 설정한 후에는 기존 인증 정보가 무효화될 수 있으므로 인증 모드를 전환해서는 안 됩니다.
API 트래픽 관리자 계층에 대한 여러 배포 옵션도 있습니다. 구성의 용이성과 성능 간의 균형으로 인해 3scale 사용자간에 APIcast(NGINX기반 API 게이트웨이)가 선호됩니다. 퀵 스타트에 호스팅 APIcast를 사용하면 즉시 운영을 시작할 수 있지만 볼륨 제한 및 지연 시간 증가 문제가 발생합니다. 또는 최상의 성능과 완전히 제한되지 않은 트래픽 볼륨을 위해 자체 서버에 배포할 수 있습니다.
호스팅된 APIcast
- 처음으로 관리 포털에 로그인한 후 온보딩 마법사를 따릅니다.
- 프로덕션에 적합한 버전에 도달할 때까지 액세스 정책 거부와 같은 제품 구성을 계속합니다.
- APIcast 구성을 프로덕션 게이트웨이로 승격합니다.
자체 관리 APIcast
- OpenShift 에서 operator를 사용하여 APIcast 게이트웨이 자체 관리 솔루션을 배포합니다.
- 프로덕션에 적합한 버전에 도달할 때까지 액세스 정책을 거부하는 등 API 구성을 계속 실행합니다.
- APIcast 구성을 프로덕션 게이트웨이로 승격합니다.
- 자체 관리 APIcast에 대한 자세한 내용은 APIcast 설치를 참조하십시오.
2.3.2. 애플리케이션 계획을 사용하여 API 액세스 정책 구성
2.3.1절. “API 보안”의 단계를 수행하면 인증된 호출만 제품에 허용됩니다. 이 섹션에서는 정책을 적용하여 유량 제어를 변경합니다.
3scale에서 애플리케이션은 API 제품에 액세스할 수 있는 인증 정보를 정의합니다. 애플리케이션은 항상 액세스 정책을 결정하는 하나의 애플리케이션 계획과 연결되어 있습니다. 애플리케이션은 개발자 계정 내에 저장됩니다. 기본 3scale 플랜에서는 단일 애플리케이션만 허용됩니다. 높은 플랜에서는 계정당 여러 애플리케이션이 허용됩니다.
프로토타입 에서는 제품의 총 조회수를 기반으로만 액세스를 제어할 수 있습니다. 3scale의 유연성은 사용자 지정 방법 및 메트릭을 사용하여 애플리케이션 계획을 위한 보다 정교한 계층을 만들고 제품에 대한 깊은 분석 통찰력을 향상시킬 수 있습니다. 자세한 내용은 분석 가이드를 참조하십시오.
- API 구조와 방법 또는 3scale의 지표 간의 매핑은 논리적입니다. 일관된 규칙을 정의하는 경우 3scale에서 제품 사용에 대한 보고서를 받을 수 있습니다. 세부 수준을 결정해야합니다. 일반적으로 5 ~ 20 가지 방법 / 인증 방법을 목표로 해야합니다.
- 3scale로 보고되는 값은 늘릴 수 있습니다. 절대 값을 설정하거나 카운터를 줄일 수 없습니다.
- 3scale에 새 메서드 또는 지표를 추가한 후에는 API 게이트웨이 또는 코드 플러그인과 같은 통합 지점에 새 시스템 이름을 추가하는 것이 중요합니다.
- 다시 배포하지 않고 런타임에 속도 제한과 같은 변경을 수행할 수 있습니다.
이 예에서는 Echo API
제품의 적용 계획에 정책을 추가하려면 다음 단계를 수행하십시오.
- 작업하려는 제품을 찾으십시오.
- 애플리케이션 계획 섹션에서 basic을 선택하여 3scale에 가입하거나 인스턴스를 배포한 한 후 자동으로 생성된 계획 중 하나를 편집합니다.
- hits에 유량 제어가 설정되어 있는 경우에는 그 설정을 삭제합니다.
- 시스템 이름 "test"를 사용하여 hits 메트릭 아래에 있는 새 방법을 계획에 추가합니다.
- 테스트 방법의 유량 제어를 시간당 5회로 설정합니다.
-
시스템 이름
v1
및v2
를 사용하여 두 개의 새 지표를 추가합니다. - v2 지표에서 활성화된 열을 클릭하여 액세스를 비활성화합니다. 이는 유량 제어를 0으로 설정하는 것과 동일합니다.
APIcast 배포
- [ your_product_name] > Integration > Configuration 으로 이동합니다.
매핑 규칙 섹션을 확장하고 다음 매핑을 추가합니다.
참고"/"의 기본 매핑이 제거되었습니다. 이 기본 매핑을 사용하면 적중 횟수가 이중으로 두 번 계산됩니다.
코드 플러그인 배포
- 3scale 권한 부여 및 보고 호출에 사용자 지정 방법 및 메트릭에 대한 사용량을 추가하려면 플러그인 라이브러리의 지침 및 예제를 따르십시오.
-
URL 구조에서 사용자 지정 메서드
test
로의 매핑이 있는지 확인합니다. -
URL에서 사용자 지정 메트릭
v1
및v2
로의 매핑을 확인합니다. 3scale 기본 계획과 연결된 애플리케이션 인증 정보를 사용하여 호출을 테스트합니다.
호출이 허용됩니다.
curl "https://api-2445581407825.staging.apicast.io:443/v1/test?user_key=287d64924e6120d215b1000ac07c063b"
5번 호출이 끝나면 호출이 거부되기 시작합니다. 이는 테스트 메서드에 설정된 제한 때문입니다.
3scale Basic 플랜에서
v2
가 허용되지 않기 때문에 호출이 거부됩니다.curl "https://api-2445581407825.staging.apicast.io:443/v2/test?user_key=287d64924e6120d215b1000ac07c063b"
누락된 매핑 규칙 세트가 없으므로 호출이 거부됩니다.
curl "https://api-2445581407825.staging.apicast.io:443/missing?user_key=287d64924e6120d215b1000ac07c063b"
이러한 호출은 플러그인의 매핑을 구현하는 방법에 따라 NGINX에 허용됩니다. 다음 호출에서 404 not found 응답을 반환하는 것은 애플리케이션에 달려 있습니다. 이를 방지하려면 매핑을 구체화합니다.
curl "https://api-2445581407825.staging.apicast.io:443/noversion/test?user_key=287d64924e6120d215b1000ac07c063b"
이 기본 개념은 제품 및 백엔드 수준에서 API 계층을 정의하는 데 필요한 유연성을 제공합니다. 사용자 지정 방법 및 메트릭에 사용할 사항을 조기에 결정해야 합니다. 시스템 이름을 변경할 때마다 2.3.1절. “API 보안”에 설명된 대로 기본 경로에 대한 변경 사항을 재배포합니다.
2.3.3. 개발자 포털을 사용하여 개발자 연결
개발자 포털을 사용하여 API를 생성하고 제공하는 정보를 찾을 수 있습니다. 텍스트 또는 마크다운에 콘텐츠를 작성하는 것이 좋습니다. 다음은 고려할 수 있는 선택적 단계입니다.
- 문서에 대화형 기능을 가져와서 개발자가 더 쉽게 탐색할 수 있도록 ActiveDocs를 구성합니다.
- favicon을 추가합니다.
- 분석이라는 CMS에서 일부를 편집하여 Google 웹 로그 분석 추적 코드를 추가합니다.
- 등록 워크플로를 구성합니다.
- 이메일 템플릿 콘텐츠를 사용자 지정합니다.