호스팅된 대상 FAQ

Apigee Edge 문서입니다.
Apigee X 문서로 이동하세요.
정보

만들거나 배포할 수 있는 호스팅된 타겟 수에 제한이 있나요?

요금제에 대한 호스팅된 대상 사용 권한에 대한 자세한 내용은 Apigee Edge Cloud 비교 매트릭스 사양 시트를 참조하세요.

호스팅된 타겟 프록시에 대한 관리 API 지원이 있나요?

호스팅된 타겟을 지원하기 위해 새 관리 API가 생성되거나 기존 API가 변경되지는 않았습니다. 하지만 호스팅된 타겟 프록시가 올바르게 구성된 경우 기존 관리 API를 사용하여 호스팅된 타겟을 사용하는 프록시를 배포하고 관리할 수 있습니다. Node.js 앱에 필요한 디렉터리 구조도 참고하세요.

IP 허용 목록을 사용하여 대상 백엔드를 보호할 수 있나요?

호스팅된 타겟이 구축된 기술인 Google App Engine (GAE)은 앱에 고정 IP 주소를 부여하는 방법을 제공하지 않습니다. GAE는 IP 풀 범위를 사용하므로 다양한 IP 주소를 허용할 수 있습니다. 자세한 내용은 GAE FAQ 항목인 고정 IP 주소 및 App Engine 앱을 참조하세요.

여러 개의 <HostedTarget> 대상 엔드포인트를 하나의 프록시에 배치할 수 있나요?

아니요. 프록시당 호스팅된 타겟 애플리케이션은 하나만 배포됩니다. 배포된 애플리케이션은 프록시의 resources/호스팅 디렉터리에 있는 애플리케이션입니다.

Apigee 액세스 부족 문제를 해결할 수 있을까요?

호스팅된 타겟 앱에서는 apigee-access 모듈을 사용할 수 없습니다. apigee-access와 함께 기존의 삽입된 Node.js를 사용하고 호스팅된 대상으로 마이그레이션하려는 경우 다음 가능성을 고려하세요.

  • Edge 정책 사용 - 가능한 경우 표준 Edge 정책을 사용하여 기존 apigee-access 코드의 기능을 대체합니다.
  • 헤더 사용 - HTTP 요청 헤더의 Node.js 애플리케이션에 KVM 값과 흐름 변수를 배치할 수 있습니다. 이 전략은 API 프록시의 요청 흐름에서 사용할 수 있는 KVM 값 또는 흐름 변수에 적합합니다.
  • Use virtual variables(환경 변수 사용) - KVM에서 값을 제공하는 환경 변수를 설정할 수 있습니다. 이에 대한 내용은 사용자 가이드의 매니페스트 파일 부분에 설명되어 있습니다.

TLS에 Java 키 저장소(JKS) 파일을 사용할 수 있나요?

호스팅된 타겟은 PEM 파일 대신 TLS용 JKS를 지원하지 않습니다. 이전 문서(여기)를 참고하세요. 호스팅된 대상은 네이티브 Node.js를 사용하므로 기본적으로 OpenSSL을 사용합니다. TLS/SSL 연결을 설정할 때는 Node.js 문서에서 제공하는 TLS(SSL) 문서를 참고하세요.

임시 파일을 관리하는 가장 좋은 방법은 무엇인가요?

항상 임시 파일을 삭제합니다. 임시 디렉토리의 로컬 디스크 저장소는 메모리 내의 파일 시스템입니다. 작성한 모든 파일은 함수에 제공되는 메모리를 사용합니다. 작성하는 파일은 일반적으로 연속 호출로 사용할 수 있으므로 이러한 파일을 삭제하지 못하면 결국 메모리 부족 오류가 발생한 후 콜드 스타트가 발생할 수 있습니다.

임시 디렉토리 외부에 작성하려고 시도해서는 안 됩니다. 또한 함수가 모든 플랫폼의 에뮬레이터에서도 작동하도록 os.tmpdir()path.join()과 같은 플랫폼과 무관한 메서드를 사용하여 임시 파일 경로를 구성합니다.

자세한 내용은 이 Google Cloud 문서를 참고하세요.

여러 프록시 버전을 배포할 수 있나요?

Apigee Edge를 사용하면 기본 경로가 서로 다른 환경에 여러 버전의 프록시를 배포할 수 있습니다. 하지만 호스팅된 대상에서는 이 동작이 지원되지 않습니다.

요청 헤더 크기에 제한이 있나요?

최신 버전의 Node.js(11.3.0 이상)와 LTS 버전(6.14.0 이상, 8.14.0 이상, 11.3.0 이상)의 경우 Node.js 애플리케이션에서 사용할 수 있는 최대 요청 헤더 크기는 8KB입니다. 8KB보다 큰 헤더를 전달하려면 위 목록에 없는 다른 버전의 Node.js를 지정하세요. 이 작업은 애플리케이션의 매니페스트 파일에서 수행할 수 있습니다. 예를 들면 다음과 같습니다.

  runtime: node
  runtimeVersion:6.4.1
  application:my-express-app
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

호스팅된 타겟에 HTTP 응답 스트리밍을 사용할 수 있나요?

호스팅된 타겟은 HTTP 응답 스트리밍을 지원하지 않습니다. 호스팅된 타겟이 빌드되는 기술인 Google App Engine(GAE)이 스트리밍을 지원하지 않기 때문입니다.

요청 제한 시간 제한이 있나요?

Google App Engine(GAE)에는 60초의 요청 제한 시간이 적용됩니다. GAE 문서의 할당량 및 한도도 참조하세요.