라우터 또는 메시지 프로세서에 직접 API를 요청하는 방법

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

소개

문제를 해결할 때는 라우터나 메시지 프로세서와 같은 Apigee 구성요소에 대해 직접 API를 실행해야 할 수 있습니다. 예를 들어 다음과 같은 용도로 사용할 수 있습니다.

  • 특정 Apigee 구성요소 (라우터/메시지 프로세서)의 문제를 가리키는 특정 API 요청에서 발생하는 간헐적인 문제를 디버그합니다.
  • Apigee 구성요소의 특정 인스턴스에 디버그 모드를 사용 설정하여 추가 진단 정보를 수집합니다.
  • 특정 Apigee 구성요소로 인해 발생한 문제는 배제합니다.
  • 새 인스턴스 생성 또는 인스턴스 다시 시작과 같은 작업이 원하는 영향을 미치는지 확인합니다.

기본 요건

  • API 요청을 실행해야 하는 라우터 또는 메시지 프로세서 구성요소에 직접 액세스합니다.
  • cURL 도구는 구성요소의 특정 인스턴스에 설치되어야 합니다.
  • cURL 형식으로 테스트할 API 요청입니다.

    예를 들어 로컬 머신에서 API 프록시로 요청을 전송하는 데 사용할 수 있는 curl 명령어는 다음과 같습니다.

    curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
    curl https://myorg-test.mycompany.com/v1/customers
    

Apigee 라우터를 대상으로 직접 API 요청을 실행하는 방법

시나리오 1: 라우터를 가리키는 호스트 별칭에 대한 API 요청

호스트 별칭의 DNS 항목이 Apigee Edge 라우터를 가리키도록 구성된 경우 (즉, Elastic Load Balancer (ELB) 없음) 다음 curl 명령어를 사용하여 라우터에 직접 API 요청을 할 수 있습니다.

  • 포트 80을 통한 비보안 통신을 위해 구성된 가상 호스트

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    예를 들면 다음과 같습니다.

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • 가상 호스트가 라우터의 포트 443에서 SSL을 종료하도록 구성되어 있습니다.

    curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    예를 들면 다음과 같습니다.

    curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

시나리오 2: ELB를 가리키는 호스트 별칭에 대한 API 요청

호스트 별칭의 DNS 항목이 Elastic Load Balancer (ELB)를 가리키도록 구성된 경우 다음 curl 명령어를 사용하여 라우터에 직접 API 요청을 보낼 수 있습니다.

  • 포트 80을 통한 비보안 통신을 위해 구성된 가상 호스트

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    예를 들면 다음과 같습니다.

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Apigee 라우터 앞의 부하 분산기에서 하이 포트 및 SSL로 구성된 가상 호스트가 종료됩니다.

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    예를 들면 다음과 같습니다.

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • 하이 포트 및 SSL을 위해 구성된 가상 호스트가 Apigee 라우터에서 종료됩니다.

    즉, Apigee 라우터에 대한 TCP 패스 스루를 사용하도록 부하 분산기가 구성되어 있습니다.

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    예를 들면 다음과 같습니다.

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Apigee 메시지 프로세서에 대해 직접 요청을 실행하는 방법

시나리오 1: 기본 포트 8998을 통한 메시지 프로세서에 대한 API 요청

메시지 프로세서가 Apigee 라우터의 트래픽을 리슨하는 기본 포트는 8998입니다. 따라서 이 포트가 변경되지 않은 모든 경우에는 다음 예와 같이 특정 메시지 프로세서 인스턴스의 이 포트로 직접 트래픽을 전송해야 합니다. curl 요청은 다음 세 가지 예와 같이 가상 호스트에서 사용되는 포트를 포함하여 호스트 이름 값이 포함된 X-Apigee.Host 헤더와 함께 URL http://INTERNAL_IP_OF_MP:8998로 전송해야 합니다.

  • 가상 호스트가 라우터에서 SSL 종료를 위해 구성되어 있습니다.

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    예를 들면 다음과 같습니다.

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • 가상 호스트가 '하이 포트'로 구성되고 SSL 종료는 부하 분산기 또는 Apigee 라우터에서 이루어집니다.

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    예를 들면 다음과 같습니다.

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • 가상 호스트가 http 포트 80을 기본값으로 구성되어 있습니다.

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'
    

    예를 들면 다음과 같습니다.

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    

시나리오 2: SSL 포트 8443을 통한 메시지 프로세서에 대한 API 요청

라우터와 메시지 프로세서 간에 SSL 통신을 구성할 수 있습니다. 다음 예시에서는 Apigee 문서에서 권장하는 포트인 포트 8443을 사용합니다.

  • 가상 호스트가 라우터에서 SSL 종료를 위해 구성되어 있습니다.

    curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    예를 들면 다음과 같습니다.

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • 가상 호스트가 부하 분산기에서 SSL 종료를 위해 구성되었으며 트래픽이 높은 포트로 라우터에 전달됩니다.

    curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    예를 들면 다음과 같습니다.

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'