시작하기


Red Hat 3scale API Management 2.11

3scale API Management 설치 시작.

Red Hat Customer Content Services

초록

이 가이드에서는 3scale로 작업을 시작하는 방법에 대한 정보를 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지에서 참조하십시오.

1장. 3scale의 첫 번째 단계

Red Hat 3scale API Management 기능을 사용한 첫 번째 단계에서는 고객용 및 내부 관점에서 API를 통합하고 관리하는 방법을 배우게 됩니다.

1.1. 3scale API의 제품 및 백엔드

Red Hat 3scale API Management는 API를 다음 두 개의 기본 그룹으로 구분합니다.

  • 백엔드: 제품에 번들된 내부 API. 백엔드는 API 프로바이더에게 내부 API 조직 구조를 3scale에 매핑할 수 있는 자유를 부여합니다.
  • 제품: 고객 대응 API. 제품은 API 소비자를 위한 강력하고 단순화된 오퍼링을 쉽게 만들 수 있도록 지원합니다.

제품에는 여러 백엔드가 포함될 수 있으며 여러 제품에서 백엔드를 사용할 수 있습니다. 즉, 3scale에서 API를 통합하고 관리하려면 다음 두 가지를 모두 생성해야 합니다.

  • 최소한 API의 URL이 포함된 백엔드입니다. 재사용성을 용이하게 매핑 규칙, 메서드 및 지표를 사용하여 백엔드를 선택적으로 구성할 수 있습니다.
  • 애플리케이션 계획을 정의하고 APIcast를 구성하는 제품입니다.

1.2. 3scale 마법사를 사용하여 첫 번째 API 구성

3scale 마법사는 제품 및 백엔드를 사용할 때 초기 지원을 제공합니다.

중요

3scale 계정에 처음 로그인할 때만 3scale 마법사를 실행합니다. 마법사를 실행하여 후속 3scale 구성 요소를 생성하는 경우 기존 구성 요소를 덮어씁니다.

사전 요구 사항

  • 3scale 계정이 필요합니다.

절차

  1. 마법사를 실행합니다. 3scale 마법사는 다음 두 가지 방법으로 실행할 수 있습니다.

    • 3scale 계정에 처음 로그인하면.
    • 다음 URL 주소에서 [your_admin_domain] 을 대체하여 마법사를 실행합니다.

      \https://[Your-admin-domain]-admin.3scale.net/p/admin/onboarding/wizard/intro

      예를 들어 admin 도메인이 testing-area 인 경우 다음에서 마법사를 사용할 수 있습니다.

      https://testing-area-admin.3scale.net/p/admin/onboarding/wizard/intro

  2. OK, 3scale은 어떻게 작동합니까? 를 클릭합니다.
  3. 소개 애니메이션 보기. 완료되면 를 클릭하십시오! API 를 추가합니다.
  4. 백엔드를 생성합니다.

    1. 백엔드 이름을 지정합니다. 예를 들면 다음과 같습니다. 인벤토리
    2. 백엔드의 기본 URL을 나타냅니다. 예: https://echo-api.3scale.net:443
    3. Add this 백엔드 (이 백엔드 추가)를 클릭합니다.
  5. 제품을 생성합니다.

    1. 제품 이름을 표시합니다. 예를 들면 다음과 같습니다. Petstore
    2. Add this Product (이 제품 추가)를 클릭합니다.
  6. 백엔드를 제품에 연결하는 경로를 지정하고 Add the Backend to Product(제품에 백엔드 추가)를 클릭합니다.

    • 기본값을 그대로 유지할 수 있습니다. 경로: /
  7. GET 요청으로 테스트를 만들려면 Send request(요청 보내기 )를 클릭합니다.

    • GET 메서드를 지정할 수 있습니다.
  8. 이러한 단계가 끝나면 API 게이트웨이에 대한 성공적인 요청의 확인이 표시됩니다. 다음 구성에 대한 자세한 내용을 보려면 what's next? 를 클릭하십시오.

제안된 추가 구성을 살펴본 후 3scale을 사용할 준비가 되었습니다. 지금 바로 가기! 3scale 의 API로 이동하면 제품의 개요 페이지가 표시됩니다.

1.3. 테스트 호출을 수행하는 초기 API 구성

초기 구성을 사용하면 API 트래픽이 API 키로 보호되고, 기본 속도 제한 및 제어 기능을 사용하여 3scale로 추적 및 모니터링할 수 있습니다. 3scale을 처음 사용하는 경우 마법사를 실행하여 첫 번째 API를 구성하는 데 도움을 받을 수 있습니다.

1.4. 제품의 백엔드 생성

백엔드는 제품에 번들된 내부 API입니다.

사전 요구 사항

  • 3scale 계정이 필요합니다.

절차

  1. 대시보드로 이동합니다.
  2. API 섹션의 백엔드 만들기 클릭합니다.
  3. 다음 세부 정보를 제공합니다.

    • 이름: 백엔드 식별자.
    • 시스템 이름: 내부 용도로 사용되는 식별자.
    • 설명: 백엔드에 대한 세부 정보가 포함된 선택적 필드입니다.
    • 비공개 기본 URL: 개인 API의 기본 URL 엔드포인트입니다.
  4. Create Backend(백엔드 만들기)를 클릭합니다.

API 의 백엔드 생성 단계를 수행한 후 내부 API 가 있습니다. 필요에 따라 더 많은 백엔드를 만들 수 있습니다.

1.5. API 호출 테스트를 위한 신제품 생성

3scale API 프로바이더로서 이러한 공용 API를 통해 API 호출을 테스트하는 제품을 만듭니다. 제품은 하나 이상의 백엔드를 패키징하는 고객용 API입니다.

다음 옵션 중 하나를 수행하여 신제품을 생성할 수 있습니다.

  • 제품을 수동으로 정의합니다.
  • OpenShift에서 제품을 가져옵니다.

여기서 수동 정의에 대한 자세한 내용을 확인할 수 있습니다. OpenShift에서 제품을 가져오려면 Service Discovery 를 참조하십시오.

사전 요구 사항

  • 3scale 계정이 필요합니다.

절차

  1. 대시보드로 이동합니다. API 섹션의 제품 카드에서 Create Product ( 제품 만들기)를 클릭합니다.
  2. 다음 세부 정보를 제공합니다.

    1. 이름: 제품 식별자.
    2. 시스템 이름: 내부 용도로 사용되는 식별자. product system_name 은 프록시 엔드포인트 및 도메인 이름을 생성하는 데 사용됩니다. 기본적으로 system_name 은 다음 대안 중 하나일 수 있는 라벨의 일부입니다.

      • APIcast 스테이징의 경우: %{system_name}-%{tenant_name}-apicast-staging
      • APIcast 프로덕션의 경우: %{system_name}-%{tenant_name}-apicast-production
      • 자동 생성된 URL 라벨이 63자를 초과하면 시스템은 <truncated-label>-<unique-hash>라벨을 단축합니다.

        • <truncated-label> 은 원본 URL의 첫 54 또는 55자입니다.
        • <unique-hash> 는 원래 레이블에서 계산된 고유한 SHA-1 해시의 처음 7자입니다.

          예를 들어, 정리 전 URL입니다.

          https://my-very-long-system-name-also-very-long-tenant-name-apicast-staging.3scale.net

          이는 잘린 후 URL입니다.

          https://my-very-long-system-name-also-very-long-tenant-name-api-72588d2.3scale.net

    3. 설명: 제품에 대한 세부 정보가 포함된 선택적 필드입니다.
  3. Create Product(제품 만들기)를 클릭합니다.

이러한 단계가 끝나면 공용 API를 나타내는 제품이 있습니다. 다음 단계는 백엔드를 만들어 제품에 추가하는 것입니다.

1.6. 제품에 백엔드 추가

이 절차가 끝나면 제품에 백엔드를 추가합니다. 프로세스를 반복하여 백엔드가 필요할 때 더 추가합니다.

사전 요구 사항

절차

  1. [your_product_name] > 통합 > 백엔드로 이동합니다.
  2. Add Backend (백엔드 추가)를 클릭합니다.
  3. 드롭다운 목록에서 다음 작업 중 하나를 수행합니다.

    • 기존 백엔드를 선택합니다.
    • View all (모두 보기)을 클릭하여 전체 목록을 확인합니다.

      • 새 백엔드를 생성해야 하는 경우 Create new Backend(새 백엔드 만들기 )를 클릭하고 세부 정보를 완료합니다.
  4. Path (경로) 텍스트 상자에 라우팅 경로를 지정합니다. 자세한 내용은 특정 제품의 백엔드 경로를 참조하십시오.
  5. Add to Product(제품에 추가)를 클릭합니다.

이러한 단계가 끝나면 제품에 하나의 백엔드가 있습니다. 이 절차를 반복하여 제품 또는 여러 제품에 백엔드를 추가할 수 있습니다.

1.7. 특정 제품의 백엔드 경로

제품에 백엔드를 추가하면 백엔드가 지정된 제품과 통신하는 데 사용하는 경로를 정의합니다. 이 경로는 백엔드에 속하지 않습니다.

제품에 백엔드 추가 에 설명된 절차에서 APIcast는 4단계에 표시된 백엔드의 경로를 사용하는 API 게이트웨이입니다. APIcast는 요청된 엔드포인트 경로의 접두사와 일치하는 지정된 경로를 사용하여 트래픽을 백엔드로 리디렉션합니다.

백엔드의 경로를 정의할 때 다음을 수행합니다.

  • 백엔드 중 하나의 경로로 / 를 나타낼 수 있습니다.
  • 경로는 제품 내에서 고유해야 합니다. 즉, 동일한 제품 내부에 동일한 경로가 있는 두 개의 백엔드를 추가할 수 없습니다. 동일한 백엔드를 동일한 제품에 두 번 추가할 수 없습니다.
  • 동일한 백엔드에 다른 제품의 동일한 경로를 제공할 수 있습니다.

백엔드 경로가 작동하는 방식입니다.

  • 제품에 추가된 각 백엔드는 지정된 경로에 마운트됩니다.
  • 트래픽을 리디렉션하기 전에 요청의 공용 URL에서 제품에 대한 경로가 제거됩니다.

예제

제품에 백엔드를 추가하려면 다음 설정을 고려하십시오.

  • 백엔드: 인벤토리
  • 리소스 경로: /list
  • 제품: Petstore
  • 백엔드 경로: /supplies

다음은 구성에 사용되는 URL입니다.

  • 공용 URL: <public-api-domain>/supplies/list
  • 개인 URL: <private-api-domain>/list

요청이 전송되면 작업 흐름입니다.

  1. 애플리케이션에서 요청을 보냅니다.
  2. 요청이 공개 URL로 전송됩니다. <public-api-domain>/supplies/list
  3. 개인 URL로 리디렉션하기 전에 백엔드 경로가 제거됩니다. <private-api-domain>/list
  4. 요청이 인벤토리 백엔드로 리디렉션됩니다.

1.8. 매핑 규칙 정의

매핑 규칙은 API에 대한 액세스를 추적하고 제한하기 위해 지정된 메서드 및 지표를 사용하여 끝점에 호출을 연결합니다. 백엔드 및 제품 수준에서 매핑 규칙을 정의할 수 있습니다. 백엔드 수준에서 매핑 규칙을 정의하면 여러 제품에 백엔드를 추가할 수 있다는 이점이 있습니다. API의 요청에 따라 사용 정보를 수집하는 메트릭 또는 방법에 대한 자세한 내용은 제품 및 백엔드 수준에서 모두 3scale API 사용에 대한 매핑 규칙을 적용하는 방법을 참조하십시오.

사전 요구 사항

절차

  1. 대시보드에서 원하는 백엔드 를 클릭하여 매핑 규칙을 정의합니다.
  2. 탐색 패널에서 매핑 규칙을 클릭합니다.
  3. 매핑 규칙 만들기를 클릭합니다.
  4. 다음 설정을 지정합니다.

    • 동사: HTTP 요청 동사(GET,POST,DELETE 또는 PUT).
    • 패턴: 일치시킬 패턴입니다. 예를 들면 /hello 입니다.
    • 스케일링 또는 늘리기 방법: 지표 또는 메서드 이름입니다.
    • 증가 기준: 지표 증가 번호입니다. 예를 들면 1 입니다.
    • 마지막?: 이 매핑 규칙을 마지막 매핑 규칙으로 간주해야 하는 경우 다른 매핑 규칙 처리를 중지합니다.
    • 위치: 매핑 규칙의 실행 위치를 나타내는 번호로 매핑 규칙을 정렬합니다.
  5. 매핑 규칙 만들기를 클릭합니다.

다음 단계

이러한 단계 후에는 [your_API_backend] > 매핑 규칙 아래의 백엔드에 매핑 규칙이 추가됩니다. 매핑 규칙은 현재 백엔드를 사용하는 각 제품에서도 사용할 수 있습니다. 제품 수준에서 매핑 규칙을 활성화하려면 [your_product_name] > Integration > ConfigurationProducts (제품) 탭에서 최신 구성을 승격합니다.

예제

구성을 승격한 후 3scale은 제품 수준에서 백엔드 매핑 규칙을 활성화합니다. 매핑 규칙은 제품에 지정된 백엔드 경로를 따릅니다. 예를 들어 이 구성이 있다고 가정합니다.

  • 백엔드의 매핑 규칙 패턴: /thousands
  • 경로가 /unitprice인 제품에 백엔드가 추가되었습니다.

제품 수준의 매핑 규칙은 /unitprice/thousands 입니다.

1.9. 제품에 대한 3scale 애플리케이션 계획 생성

3scale 애플리케이션 계획은 API 제품 사용에 대한 제한, 가격 및 기능과 같은 규칙을 정의합니다. 자세한 내용은 애플리케이션 계획사용 세부 정보 캡처를 위한 방법 지정 및 메트릭 추가를 참조하십시오.

사전 요구 사항

  • 제품. 하나를 생성하려면 새 제품 생성을 참조하십시오.

절차

  1. [your_product_name] > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. Create Application Plan (애플리케이션 계획 만들기)을 클릭합니다.
  3. Create Application Plan (애플리케이션 계획 생성) 페이지에서 새 계획의 이름과 시스템 이름을 입력합니다. 시스템 이름은 3scale 설치 시 고유해야 합니다.
  4. Create Application Plan (애플리케이션 계획 만들기)을 클릭합니다.

1.10. 기본 계정에 대한 애플리케이션 생성으로 API 호출 테스트

3scale 사용자로 기본 개발자 계정에 대한 애플리케이션을 만듭니다. 애플리케이션이 애플리케이션 계획을 서브스크립션합니다. 이 서브스크립션의 결과로 3scale은 API 제품 호출에 필요한 사용자 키를 제공합니다.

애플리케이션은 항상 애플리케이션 계획과 연결됩니다. 애플리케이션은 개발자 계정 내에 저장됩니다. 기본 3scale 계획에서는 단일 애플리케이션만 허용됩니다. 엔터프라이즈 계획에서는 계정당 여러 애플리케이션이 허용됩니다.

사전 요구 사항

절차

  1. 대상 > 계정 > 목록으로 이동합니다.
  2. default Developer(기본 개발자 ) 계정을 클릭합니다.
  3. Applications (애플리케이션) 탭을 클릭합니다.
  4. 애플리케이션 생성을 클릭합니다.
  5. 애플리케이션 생성 대화 상자에서 애플리케이션 제품을 선택합니다.
  6. 애플리케이션 계획을 선택합니다.
  7. 애플리케이션 이름을 지정합니다.
  8. Description (설명) 필드에 이 애플리케이션에 대한 정보를 입력합니다.
  9. 애플리케이션 생성을 클릭합니다.

대시보드 > 대상 > 계정 > 애플리케이션 > 리스팅에서 새 애플리케이션을 확인할 수 있습니다.

1.11. 백엔드 통합을 테스트하기 위해 제품에 요청 전송

3scale API 공급자는 제품에 명령줄 요청을 보내 제품에 추가된 첫 번째 매핑 규칙에 따라 백엔드의 통합을 테스트할 수 있습니다.

테스트 요청을 보내려면 테스트할 백엔드가 포함된 APIcast 구성을 승격해야 합니다. 특정 APIcast 구성은 해당 매핑 규칙, 애플리케이션 및 애플리케이션 계획을 사용하는 제품에 추가한 백엔드로 구성됩니다.

3scale은 요청 호출에 지정된 경로에 따라 제품의 백엔드로 요청을 보냅니다. 제품의 각 백엔드에 백엔드를 제품에 추가할 때 백엔드 경로를 구성했습니다. 즉, 각 백엔드에는 고유의 경로가 있습니다.

사전 요구 사항

절차

  1. 새 APIcast 구성을 스테이징으로 승격합니다.

    1. [your_product_name] > Integration > Configuration 으로 이동합니다.
    2. APIcast Configuration(APIcast 구성 )에서 Promote v.[n] to Staging APIcast(스테이징 APIcast 로 승격)를 클릭합니다.

      • v.[n] 은 승격할 버전 번호를 나타냅니다.
      • 승격할 변경 사항이 없으면 승격할 텍스트가 있는 회색 단추가 있습니다.
  2. Staging APIcast 에서 Promote v.[n] to Production APIcast를 클릭하여 APIcast 구성을 production으로 승격합니다.

    • v.[n] 은 승격할 버전 번호를 나타냅니다.
    • 승격할 변경 사항이 없으면 승격할 텍스트가 있는 회색 단추가 표시됩니다 .
  3. API 제품에 대한 요청을 테스트하려면 테스트하기 위해 Example curl 에 제공된 명령을 복사하고 터미널에서 실행합니다.

    • curl 명령 예제는 제품의 첫 번째 매핑 규칙을 기반으로 합니다.
    • 명령을 실행한 후에는 테스트 중인 백엔드에서 결과가 포함된 HTML 응답을 받게 됩니다.
    • 응답이 없으면 제품에서 범용 매핑 규칙을 삭제하고 새 APIcast 구성을 스테이징으로 승격한 다음 production으로 승격한 다음 예제 curl 명령을 실행합니다.

다음 단계

제한 및 가격 규칙과 같은 메트릭과 방법을 변경할 때 다양한 응답을 확인할 수 있습니다. 제품의 애플리케이션 계획 중 하나에 대해 제품에 대한 요청을 테스트할 때 메서드 및 지표를 수정합니다. 자세한 내용은 메서드 및 메트릭 추가를 참조하십시오.

제품 구성을 수정할 때마다 API를 호출하기 전에 업데이트된 구성을 스테이징 및 프로덕션 환경으로 승격해야 합니다. 스테이징 환경으로 승격할 보류 중인 변경 사항이 있는 경우 Admin Portal(관리 포털)에 Integration (통합) 메뉴 항목 옆에 느낌표가 표시됩니다.

2장. API 시작

이 장에서는 Red Hat 3scale API Management로 API를 시작하는 몇 가지 주요 단계에 대해 알아봅니다. 이 가이드를 사용하려면 다음과 같은 가정이 있습니다.

  • 3scale에는 API 백엔드라는 내부 API 가 있으며 이는 백엔드 입니다.
  • 3scale에는 제품인 Echo API라는 고객용 API 가 있습니다 . 개발자 포털을 통해 노출할 API입니다.

이 가이드에서는 API 제품을 시작하기 위한 다음 단계를 다룹니다.

  1. 제품 보안.
  2. 애플리케이션 계획을 사용하여 제품 액세스 정책을 구성합니다.
  3. 개발자 포털에 참여하십시오.
  4. 라이브로 이동.

2.1. 첫 번째 API를 시작할 경로

3scale 작업을 시작하려면 세 가지 경로 중 하나를 선택하여 API 제품을 시작하고 노출할 수 있습니다. API 제품은 전 세계에 표시하는 고객용 API입니다.

타이밍 지침은 API 제품의 복잡성과 노력을 전담할 계획인 리소스에 따라 달라집니다. API 제품을 재조정하고 개발자 포털을 위한 콘텐츠를 준비하는 데 대부분의 시간을 할애하게 됩니다. 설명서의 안정적인 제품 및 컨텐츠가 이미 있다면 1주일 이내에 이용할 수 있습니다.

첫 번째 API 제품을 시작하는 방법은 다음과 같습니다.

프로토타입

  • 목표: 일반 대중에게 공개될 간단한 API 제품과 3scale의 포괄적인 통합 완료.
  • 권장 대상: 이 경로는 3scale의 엔드 투 엔드 기능에 대한 일반적인 개요를 얻는 데 도움이 됩니다. Basic을 통과하기 전에 이 경로를 수행해야 합니다. 관리 포털에서 온보딩 마법사를 성공적으로 완료한 경우 이 경로를 건너뛰고 다음 경로로 이동할 수 있습니다.
  • 완료 시간: 1시간 미만.

Basic

  • 목표: 프로덕션 환경에서 API 제품을 시작하기 위한 모든 구현 단계를 완료합니다.
  • 권장 대상: 프로덕션 중에 API 제품을 사용하고자 하며 제한된 시간이 있는 경우 기본 경로에서 대부분의 요구 사항을 다룹니다.
  • 완료 시간: 1주일 이내.

고급 옵션

  • 목표: API 제품의 고급 제어, 개발자 포털의 세부 사용자 지정과 같은 기본 경로를 완료한 후 선택적 추가 옵션입니다.
  • 권장 대상: 더 복잡한 요구 사항이 있거나 기본 경로를 이미 처리한 경우 고급 옵션을 고려할 준비가되었을 수 있습니다.
  • 완료 시간: 몇 주.

2.2. Prototype 경로 추적

Prototype 경로를 처음부터 끝까지 개별적으로 따를 수 있습니다. 또는 요구 사항에 따라 이 경로에서 일부 단계를 수행하도록 선택할 수 있습니다. 각 경로는 독립적일 수 있지만 Prototype,BasicAdvanced 경로가 서로 위에 빌드됩니다.

2.2.1. API 보안

다음 사례 중 하나를 가정하여 3scale 액세스 제어 계층을 몇 분 내에 프로토타입을 만들 수 있습니다.

  • 3scale 호스팅(SaaS)에서는 제품에 공개적으로 액세스할 수 있습니다.
  • 3scale 온프레미스에서는 3scale 설치에서 제품에 연결할 수 있습니다.

에코 API 는 공용 제품의 예로 사용됩니다. 다음과 같은 기능이 있습니다.

  • 모든 경로를 수락하고 응답 본문에서 요청(경로, 요청 매개 변수, 헤더 등)에 대한 정보를 반환하는 간단한 API입니다.
  • 다음 URL에서 액세스할 수 있습니다. https://echo-api.3scale.net
  • 3scale을 처음 활성화하면 기존 API마다 제품이 생성됩니다. 처음으로 제품과 API 백엔드 간에 일대일 관계가 있습니다. 즉, 다음을 확인할 수 있습니다. echo API - API 백엔드를 포함하는 제품입니다.

Echo API 제품을 보호하려면 다음 단계를 따르십시오.

  1. 제품에 연결할 수 있는지 확인합니다. 예: https://echo-api.3scale.net/v1/fast/track

    • 보안 계층이 적용되면 백엔드 호스트에 대한 액세스를 숨기거나 제한할 수 있습니다.
  2. [your_product_name] > Integration > Configuration 으로 이동합니다.
  3. [your_product_name] 의 경우 개인 엔드포인트가 기본 API 백엔드에 설정되었는지 확인합니다. 예: https://echo-api.3scale.net:443
  4. 버튼을 클릭하여 스테이징으로 승격합니다.
  5. 명령줄에서 호출을 수행하려면 user_key 를 기본 자격 증명으로 포함하는 cURL 문을 복사합니다.

    curl "https://api-2445581407825.staging.apicast.io:443/v1/fast/track?user_key=287d64924e6120d215b1000ac07c063b"
    Copy to Clipboard Toggle word wrap

    다른 호출을 수행할 수 있습니다. 예를 들어 동일한 user_key 를 추가하여 다른 엔드포인트를 시도합니다.

    참고

    개발자 계정 중 하나에 있는 애플리케이션 세부 정보 페이지에서 API 제품 키를 가져올 수 있습니다.

    3scale 액세스 제어 계층에서는 이제 백엔드 API를 통해 인증된 호출만 허용합니다.

2.2.2. 애플리케이션 계획을 사용하여 API 액세스 정책 구성

2.2.1절. “API 보안” 단계를 수행한 후 인증된 호출만 API를 통해 허용됩니다. 이 섹션에서는 속도 제한을 구분하는 정책을 적용합니다.

3scale에서 애플리케이션은 제품에 액세스할 수 있는 자격 증명을 정의합니다. 애플리케이션은 항상 액세스 정책을 결정하는 하나의 애플리케이션 계획과 연결됩니다. 애플리케이션은 개발자 계정 내에 저장됩니다. 기본 3scale 계획에서는 하나의 애플리케이션만 사용할 수 있지만, 상위 계획에서는 계정당 여러 애플리케이션이 허용됩니다.

이 예제에서는 다음 단계를 통해 이전 섹션에서 사용한 Echo API 제품에 정책을 추가합니다.

  1. [your_product_name] > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. 애플리케이션 계획 섹션에서 기본 애플리케이션 계획으로 이동하여 3scale을 설치하거나 가입한 후 샘플 데이터가 생성한 계획 중 하나를 편집합니다.
  3. Metrics(지표), Methods(메서드), Limits & Pricing Rules (제한 및 가격 규칙) 아래에서 적중 행에서 제한을 선택하고 새 사용 제한을 시간당 3개로 만듭니다.
  4. [your_product_name] > 애플리케이션 > 리스팅으로 이동하여 샘플 애플리케이션 중 하나를 찾습니다. 애플리케이션이 기본 계획으로 설정되어 있는지 확인합니다. 그렇지 않은 경우 애플리케이션 세부 정보 페이지에서 계획을 변경합니다.
  5. 이 애플리케이션에 대한 자격 증명을 사용하고 이전 샘플 호출을 세 번 이상 반복합니다.

이제 3scale Basic 계획의 모든 애플리케이션에 대해 보다 제한적인 액세스 정책을 정의했습니다.

2.2.3. 개발자 포털과 개발자 참여

프로토타입 경로의 경우 설명서 콘텐츠를 생성할 필요가 없습니다. 일반적으로 워크플로가 요구 사항을 충족하는지 확인할 수 있습니다.

제품이 개발 및 테스트 중인 동안 다음 단계를 통해 전체 셀프 서비스 워크플로우를 비활성화할 수 있습니다.

  1. 관리 포털의 대상 공간으로 이동하여 개발자 포털 메뉴에서 Discover Portal( 포털 포털) 링크를 클릭합니다.
  2. 테스트 구독을 만들고 모든 단계를 수행합니다.
  3. 일반적으로 셀프 서비스는 기본적으로 활성화되어 있습니다. 변경하려면 대상 > 계정 > 사용 규칙으로 이동하여 계정 승인 필요한 확인란을 선택합니다.
  4. 테스트 등록 과정을 반복하고, 사용자가 로그인할 수 있으려면 관리 포털에서 계정을 승인해야 하는지 확인합니다.

이제 개발자 포털의 워크플로를 사용자 지정할 수 있습니다.

2.3. 기본 경로 다음

기본 경로를 처음부터 끝까지 개별적으로 따를 수 있습니다. 또는 요구 사항에 따라 이 경로에서 일부 단계를 수행하도록 선택할 수 있습니다. 각 경로는 독립적일 수 있지만 Prototype,BasicAdvanced 경로가 서로 위에 빌드됩니다.

2.3.1. API 보안

전체 생산 구현을 위해서는 제품을 구성하고 3scale과의 통합을 구현하는 방법에 대한 기본적인 결정을 내려야 합니다.

제품 트래픽에 맞는 여러 인증 모드를 선택할 수 있습니다. 사용 가능한 옵션에 대한 가이드를 참조하고 설정을 구성합니다.

중요

이 작업을 수행하면 기존 인증 정보가 무효화될 수 있으므로 인증을 설정한 후 인증 모드를 전환해서는 안 됩니다.

API 트래픽 관리자 계층에 대한 여러 배포 옵션도 있습니다. NGINX 기반 API 게이트웨이인 APIcast는 구성과 성능을 쉽게 결합하여 3scale 고객 사이에서 선호됩니다. 호스트 APIcast를 사용하여 퀵 스타트를 사용할 수 있지만 볼륨 제한과 추가 대기 시간이 있습니다. 또는 서버에 배포하여 최상의 성능과 완전히 제한되지 않은 트래픽 볼륨을 제공할 수 있습니다.

호스팅 APIcast

  1. 관리 포털에 처음 로그인한 후 온보딩 마법사를 따르십시오.
  2. 프로덕션에 적합한 버전에 도달할 때까지 액세스 정책의 재정의와 같은 제품 구성을 계속 반복합니다.
  3. APIcast 구성을 프로덕션 게이트웨이로 승격합니다.

자체 관리 APIcast

  1. OpenShift 서버에 API 게이트웨이의 테스트 설치를 설정합니다.
  2. 프로덕션에 적합한 버전에 도달할 때까지 액세스 정책을 거부하는 등 API 구성을 계속 실행합니다.
  3. APIcast 구성을 프로덕션 게이트웨이로 승격합니다.
  4. APIcast 정책 은 API 액세스 정책을 구성하는 몇 가지 개념을 설명합니다.

2.3.2. 애플리케이션 계획을 사용하여 API 액세스 정책 구성

2.3.1절. “API 보안” 단계를 수행하면 인증된 호출만 제품을 통해 허용됩니다. 이 섹션에서는 속도 제한을 구분하기 위해 정책을 적용합니다.

3scale에서 애플리케이션은 API 제품에 액세스할 수 있는 자격 증명을 정의합니다. 애플리케이션은 항상 액세스 정책을 결정하는 하나의 애플리케이션 계획과 연결됩니다. 애플리케이션은 개발자 계정 내에 저장됩니다. 기본 3scale 계획에서는 단일 애플리케이션만 허용됩니다. 상위 계획에서는 계정당 여러 개의 애플리케이션이 허용됩니다.

Prototype 에서는 제품에 대한 전반적인 조회에 따라 액세스만 제어할 수 있습니다. 사용자 지정 방법 및 지표를 사용하여 애플리케이션 계획에 대한 보다 정교한 계층을 생성하고 제품에 대한 세부적인 분석 정보를 구축하기 시작한 후 3scale의 유연성이 명확합니다. 자세한 내용은 분석 가이드를 참조하십시오.

중요
  • 3scale의 API 구조와 메서드 또는 지표 간 매핑은 논리적입니다. 일관된 규칙을 정의하면 제품 사용 보고서를 3scale에서 얻을 수 있습니다. 세부 정보 수준을 결정해야 합니다. 일반적으로 5~20개의 방법/지표를 목표로 해야 합니다.
  • 3scale에 보고된 값은 증분만 가능합니다. 절대 값을 설정하거나 카운터를 줄일 수 없습니다.
  • 3scale에 새 메서드 또는 지표를 추가한 후 API 게이트웨이 또는 코드 플러그인과 같은 새 시스템 이름을 통합 지점에 추가하는 것이 중요합니다.
  • 다시 배포하지 않고 런타임 시 속도 제한과 같은 변경을 수행할 수 있습니다.

이 예제에서는 Echo API 제품의 애플리케이션 계획에 정책을 추가하려면 다음 단계를 수행합니다.

  1. 작업할 제품을 찾습니다.
  2. Application Plans (애플리케이션 계획) 섹션에서 basic 을 선택하여 인스턴스 배포를 최대 3scale/배포한 후 자동으로 생성된 플랜 중 하나를 편집합니다.
  3. 적중 속도 제한을 찾으면 제거하십시오.
  4. 시스템 이름 "test"를 사용하여 hits 지표 아래에 새 메서드 를 추가합니다.
  5. 테스트 방법의 속도 제한을 시간당 5로 설정합니다.
  6. 시스템 이름이 v1 및 v 2 인 두 개의 새 지표를 추가합니다.
  7. v2 지표에서 활성화된 열을 클릭하여 액세스를 비활성화합니다. 이는 속도 제한을 0으로 설정하는 것과 동일합니다.

APIcast 배포

  1. [your_product_name] > 통합 > 구성으로 이동합니다.
  2. 매핑 규칙 섹션을 확장하고 다음 매핑을 추가합니다.

    참고

    "/"의 기본 매핑이 제거되었습니다. 이 기본 매핑을 사용하면 두 배의 적중 수가 발생합니다.

코드 플러그인 배포

  1. 3scale 권한 부여 및 보고 호출에 사용자 지정 메서드 및 메트릭에 대한 사용량을 추가하려면 플러그인 라이브러리의 지침과 예제를 따르십시오.
  2. URL 구조에서 사용자 지정 방법인 test 로의 매핑을 확인합니다.
  3. URL에서 사용자 지정 지표 v1 및 v 2 로의 매핑을 확인합니다.
  4. 3scale Basic 계획과 연결된 애플리케이션 자격 증명을 사용하여 호출을 테스트합니다.

    • 호출이 허용됩니다.

      curl "https://api-2445581407825.staging.apicast.io:443/v1/test?user_key=287d64924e6120d215b1000ac07c063b"
      Copy to Clipboard Toggle word wrap

      5번 호출하면 호출이 거부되기 시작합니다. 이는 테스트 메서드에 설정된 제한 때문입니다.

    • v2 는 3scale Basic 계획에서 허용되지 않기 때문에 호출이 거부됩니다.

      curl "https://api-2445581407825.staging.apicast.io:443/v2/test?user_key=287d64924e6120d215b1000ac07c063b"
      Copy to Clipboard Toggle word wrap
    • 누락된 매핑 규칙 세트가 없기 때문에 호출이 거부됩니다.

      curl "https://api-2445581407825.staging.apicast.io:443/missing?user_key=287d64924e6120d215b1000ac07c063b"
      Copy to Clipboard Toggle word wrap
    • 이러한 호출은 플러그 인에 대한 매핑을 구현하는 방법에 따라 NGINX에 허용됩니다. 다음 호출의 경우 애플리케이션에 따라 404 not found 응답을 반환합니다. 이를 방지하려면 매핑을 구체화합니다.

      curl "https://api-2445581407825.staging.apicast.io:443/noversion/test?user_key=287d64924e6120d215b1000ac07c063b"
      Copy to Clipboard Toggle word wrap

이 기본 개념은 제품 및 백엔드 수준에서 모두 API 계층을 정의하는 데 필요한 유연성을 제공합니다. 사용자 지정 메서드 및 지표에 사용할 항목을 조기에 결정해야 합니다. 시스템 이름을 변경할 때마다 기본 경로의 2.3.1절. “API 보안” 에 설명된 대로 변경 사항을 재배포합니다.

2.3.3. 개발자 포털과 개발자 참여

개발자 포털을 사용하여 API를 생성하고 제공하는 정보를 찾을 수 있습니다. 내용 작성을 고려하십시오. 다음은 고려해야 할 선택적 단계입니다.

2.4. 고급 경로 다음

고급 경로를 처음부터 끝까지 개별적으로 따를 수 있습니다. 또는 요구 사항에 따라 이 경로에서 일부 단계를 수행하도록 선택할 수 있습니다. 각 경로는 독립적일 수 있지만 Prototype,BasicAdvanced 경로가 서로 위에 빌드됩니다.

2.4.1. API 보안

제품을 보호하려면 다음과 같은 대안이 있습니다.

고급 인증 모드: OpenID Connect (OIDC)

Red Hat Single Sign-On(RH-SSO)을 위한 OpenID Connect와 APIcast 통합을 사용하여 제품을 보호합니다. 3scale의 애플리케이션은 IdM(Identity Provider)과 동기화됩니다. 이 경우에는 RH-SSO입니다. 현재 이 솔루션은 포괄적인 지원 솔루션입니다. 주요 OAuth 2.0 흐름을 다룹니다.

  • 권한 부여 코드
  • 리소스 소유자 암호
  • 클라이언트 인증 정보
  • 암시적 부여

코드 플러그인 배포

제품의 성능을 높이기 위해 캐싱 라이브러리를 사용하여 인증 호출을 3scale에 캐시할 수 있습니다.

2.4.2. 애플리케이션 계획을 사용하여 API 액세스 정책 구성

2.4.1절. “API 보안” 에 나열된 옵션을 사용하면 인증된 호출만 제품에 사용할 수 있는지 확인했습니다. 이 섹션에서는 속도 제한을 구분하는 정책을 적용합니다.

3scale에서 애플리케이션은 제품에 액세스할 수 있는 자격 증명을 정의합니다. 애플리케이션은 항상 액세스 정책을 결정하는 하나의 애플리케이션 계획과 연결됩니다. 애플리케이션은 개발자 계정 내에 저장됩니다. Basic 3scale 계획에서는 단일 애플리케이션만 허용됩니다. 상위 계획에서는 계정당 여러 개의 애플리케이션이 허용됩니다.

이메일 또는 웹 콘솔로 알림을 보내도록 경고를 구성할 수 있습니다.

  1. API Settings 페이지로 이동합니다. [your_product_name] > Integration > Settings.
  2. 페이지의 Alerts(경고 ) 섹션으로 이동합니다. 여기에서 원하는 경고를 속도 제한 수준의 백분율로 구성할 수 있습니다.

3scale은 요금 제한 수준을 결정할 수 있는 유연성을 제공합니다.

  • 소프트 속도 제한: 제한을 초과하는 호출도 를 통해 허용됩니다.
  • 하드 속도 제한: 애플리케이션을 방해하기 전에 호출이 거부됩니다.

code 플러그인을 사용하면 구현할 유형을 결정해야 합니다. 반면 APIcast는 기본적으로 하드 제한을 정의합니다. 이 값은 Lua 파일에서 사용자 지정하여 초과 제한 호출을 거부하지 않도록 할 수 있습니다.

2.4.3. 개발자 포털과 개발자 참여

기본 경로를 완료한 후 개발자 포털을 탐색할 수 있는 두 가지 고급 영역은 다음과 같습니다.

  • 유동 마크업 은 시스템 객체에 대한 직접 액세스를 제공하고 개발자 포털 페이지의 동적 렌더링을 도입하는 태그와 드롭을 제공합니다.
  • 3scale 시스템 페이지는 모두 사용자 지정할 수 있습니다. 이는 HTML이 복잡하기 때문에 고급 사용자를 위한 것입니다. 결과적으로 개발자 포털의 거의 모든 페이지를 사용자 지정할 수 있습니다. 일반적으로 기본 페이지는 일부 CSS 변경 사항에 완벽하게 적합합니다.

2.5. 계속 진행 중

이 섹션에서는 API 제품을 공개하기 전에 최종 체크리스트에 대해 설명합니다.

참고

리드 시간이 길기 때문에 사용자 지정 도메인 및 이메일에 대한 요청을 최대한 빨리 제기합니다.

  1. 사용자 지정 도메인을 설정합니다. 자세한 내용은 3scale Hosted(SaaS) 에서 사용자 지정 도메인을 참조하십시오.
  2. 선택적으로 사용자 지정 아웃바운드 이메일 주소를 설정합니다. 이 단계를 수행하는 방법을 보려면 Configure Email Domain (이메일 도메인 구성)을 참조하십시오.
  3. 대상 > 개발자 포털 > 도메인 및 액세스에서 개발자 포털 액세스 코드를 제거합니다.

다음은 몇 가지 추가 고려 사항입니다.

  • API 제품에서 직접 수익을 창출할 수 있는 가격을 추가합니다. 이 기능은 3scale Hosted(SaaS) 계정에서만 사용할 수 있습니다.
  • Analytics 에 있는 관리 포털의 제품 분석에 따른 인사이트를 사용하여 애플리케이션 계획을 구체화하십시오.

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat