3.4. 서비스 구성

API 백엔드의 엔드포인트 호스트인 Private Base URL 필드에 API 백엔드를 선언해야 합니다. APIcast는 모든 인증, 권한 부여, 속도 제한 및 통계가 처리된 후 모든 트래픽을 API 백엔드로 리디렉션합니다.

이 섹션에서는 서비스 구성을 안내합니다.

3.4.1. API 백엔드 선언

일반적으로 API의 프라이빗 기본 URL은 관리하는 도메인의 https://api-backend.yourdomain.com:443 (yourdomain.com)과 같습니다. 예를 들어, Twitter API와 통합하려는 경우 개인 기본 URL은 https://api.twitter.com/ 입니다.

이 예제에서는 3scale에서 호스팅하는 Echo API 를 사용하여 경로를 수락하고 요청에 대한 정보를 반환합니다(path, request parameters, headers 등). 프라이빗 기본 URL은 https://echo-api.3scale.net:443입니다.

절차

  • 프라이빗(관리되지 않음) API가 작동하는지 테스트합니다. 예를 들어, Echo API의 경우 curl 명령을 사용하여 다음 호출을 수행할 수 있습니다.

    curl "https://echo-api.3scale.net:443"

    다음과 같은 응답을 받습니다.

    {
        "method": "GET",
        "path": "/",
        "args": "",
        "body": "",
        "headers": {
          "HTTP_VERSION": "HTTP/1.1",
          "HTTP_HOST": "echo-api.3scale.net",
          "HTTP_ACCEPT": "*/*",
          "HTTP_USER_AGENT": "curl/7.51.0",
          "HTTP_X_FORWARDED_FOR": "2.139.235.79, 10.0.103.58",
          "HTTP_X_FORWARDED_HOST": "echo-api.3scale.net",
          "HTTP_X_FORWARDED_PORT": "443",
          "HTTP_X_FORWARDED_PROTO": "https",
          "HTTP_FORWARDED": "for=10.0.103.58;host=echo-api.3scale.net;proto=https"
        },
        "uuid": "ee626b70-e928-4cb1-a1a4-348b8e361733"
      }

3.4.2. 인증 설정 구성

[ your_product_name] > Integration > SettingsAUTHENTICATION 섹션에서 API에 대한 인증 설정을 구성할 수 있습니다.

표 3.1. 선택적 인증 필드

필드설명

인증 사용자 키

인증 정보 위치와 연결된 사용자 키를 설정합니다.

인증 정보 위치

인증 정보가 HTTP 헤더로 전달되는지, 쿼리 매개변수 또는 HTTP 기본 인증으로 전달되는지 여부를 정의합니다.

호스트 헤더

사용자 지정 호스트 요청 헤더를 정의합니다. 이는 API 백엔드가 특정 호스트의 트래픽만 허용하는 경우에만 필요합니다.

시크릿 토큰

API 백엔드에 대한 직접 개발자 요청을 차단하는 데 사용됩니다. 여기에서 헤더 값을 설정하고 백엔드에서 이 시크릿 헤더를 사용하여 호출만 허용하도록 합니다.

또한 [ your_product_name] > Integration > Settings 에서 GATEWAY RESPONSE 오류 코드를 구성할 수 있습니다. 오류에 대한 응답 코드,콘텐츠 유형, 응답 본문을 정의합니다. 인증이 실패했으며 인증이 누락되었으며 일치하지 않습니다.

표 3.2. 응답 코드 및 기본 응답 본문

응답 코드응답 본문

403

인증이 실패했습니다

403

인증 매개변수가 누락됨

404

일치하는 매핑 규칙 없음

429

사용량 제한 초과

3.4.3. API 테스트 호출 구성

API를 구성하려면 제품을 사용하여 백엔드를 테스트하고 APIcast 구성을 준비 및 프로덕션 환경으로 승격하여 요청 호출을 기반으로 테스트를 수행해야 합니다.

각 제품의 경우 요청은 경로에 따라 해당 백엔드로 리디렉션됩니다. 이 경로는 제품에 백엔드를 추가할 때 구성됩니다. 예를 들어 제품에 두 개의 백엔드가 추가되면 각 백엔드에는 고유한 경로가 있습니다.

사전 요구 사항

절차

  1. [ your_product_name] > Integration > Configuration으로 이동하여 APIcast 구성을 스테이징으로 승격합니다.
  2. APIcast Configuration에서 제품에 추가된 각 백엔드의 매핑 규칙을 확인할 수 있습니다. promote v.[n] to Staging APIcast 를 클릭합니다.

    • v.[n] 은 승격할 버전 번호를 나타냅니다.
  3. 스테이징으로 승격되면 프로덕션으로 승격할 수 있습니다. Staging APIcast에서 promote v.[n] to Production APIcast를 클릭합니다.

    • v.[n] 은 승격할 버전 번호를 나타냅니다.
  4. 명령줄에서 API에 대한 요청을 테스트하려면 테스트에 대해 예제 curl에 제공된 명령을 사용합니다.

    • curl 명령 예제는 제품의 첫 번째 매핑 규칙을 기반으로 합니다.

API에 대한 요청을 테스트할 때 메서드 및 메트릭을 추가하여 매핑 규칙을 수정할 수 있습니다.

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

3scale 호스팅 APIcast 게이트웨이는 인증 정보를 검증하고 API의 애플리케이션 계획에 대해 정의한 속도 제한을 적용합니다. 인증 정보 없이 호출하거나 잘못된 인증 정보를 사용하는 경우 Authentication failed 오류 메시지가 표시됩니다.