호스팅된 대상 개요

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

호스팅된 대상을 사용하면 Apigee에서 호스팅하는 기본 런타임 환경에서 Node.js 애플리케이션을 실행할 수 있습니다. 호스팅된 대상의 목표는 간단합니다. Edge API 프록시가 이를 대상 서비스로 호출할 수 있는, 안전하고 확장 가능하며 격리된 네이티브 환경에 애플리케이션을 배포할 수 있도록 지원하는 것입니다.

다음 그림과 같이 Edge API 프록시는 호스팅된 대상 환경에 배포된 Node.js 애플리케이션을 호출합니다. 호스팅된 대상 환경의 범위는 Apigee 조직:환경 내에서 지정됩니다.

Edge API 프록시가 올바르게 빌드 및 배포된 Hosted Targets 애플리케이션과 통신하도록 하려면 프록시의 대상 엔드포인트에 간단한 구성이 필요합니다. 시작하려면 호스팅된 대상 튜토리얼을 참고하세요.

Hosted Target은 어떤 애플리케이션 런타임을 지원하나요?

현재는 호스팅된 대상에만 Node.js 앱을 배포할 수 있습니다.

호스팅된 대상 설치

호스팅된 대상은 모든 Edge 퍼블릭 클라우드 조직에서 사용할 수 있습니다. Hosted Target을 사용하기 위해 아무것도 설치할 필요가 없습니다.

호스팅된 대상이 사용 설정되었는지 확인

조직에 호스팅된 대상이 사용 설정되어 있는지 확인하려면 조직 세부정보를 가져오고 features.isEdgeFunctionsEnabled 속성이 true로 설정되어 있는지 확인합니다. 이 속성은 읽기 전용입니다.

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

https://api.enterprise.apigee.com/v1/organizations/myorg

  {
     "createdAt":1507572884047,
     "createdBy":"jdoe@apigee.com",
     "displayName":"myorg",
     "environments":[
        "prod",
        "dev",
        "test",
        "portal"
     ],
     "lastModifiedAt":1507578673194,
     "lastModifiedBy":"jdoe@apigee.com",
     "name":"jdoe",
     "properties":{
        "property":[
           {
              "name":"features.isSmbOrganization",
              "value":"false"
           },
           {
              "name":"self.service.virtual.host.enabled",
              "value":"true"
           },
           {
              "name":"features.isCpsEnabled",
              "value":"true"
           },
           {
              "name":"features.isEdgeFunctionsEnabled",
              "value":"true"
           }
        ]
     },
     "type":"paid"
  }
  

Hosted Target에 대해 알아야 할 사항

호스팅된 대상을 사용하면 Apigee 관련 런타임 기술에 종속되지 않는 기본 환경에서 Node.js 애플리케이션을 실행할 수 있습니다. 앱을 배포하기 전에 로컬에서 디버그 및 테스트할 수 있으며 배포된 버전이 로컬에서와 동일하게 작동합니다. 배포 시 호스팅된 대상에서 애플리케이션을 실행할 애플리케이션 런타임 버전을 선택할 수 있습니다. 예를 들어 구체적으로 v8.10.0 환경에서 Node.js 앱을 실행하도록 선택할 수 있습니다.

한도

호스팅된 대상의 사용량 한도는 Apigee 제품 한도를 참조하세요.

따라야 할 기본 단계

에지 프록시 개발에 익숙한 경우 호스팅된 대상을 성공적으로 사용하기 위한 몇 가지 간단한 단계만 배우면 됩니다. 기본적으로 다른 Apigee Edge 프록시와 마찬가지로 호스팅된 대상의 에지 프록시를 생성, 배포, 관리합니다.

호스팅된 타겟을 사용하려면 다음 작업을 실행해야 합니다. 튜토리얼에서 각 작업을 자세히 살펴봅니다.

  • Node.js 애플리케이션을 로컬에서 개발하고 테스트합니다.
  • 애플리케이션 프로젝트의 루트 디렉터리에 매니페스트 파일을 만듭니다. 매니페스트는 애플리케이션을 빌드하고 배포하는 데 필요한 정보를 지정하는 YAML 파일입니다.
  • 애플리케이션을 에지 프록시에 호스팅된 리소스 유형으로 추가합니다.
  • 프록시의 대상 엔드포인트에서 빈 <HostedTarget/> 태그를 추가합니다. 이 태그는 Edge에 호스팅된 대상 환경에 Node.js 애플리케이션을 배포하도록 지시합니다. 예:
  • <?xml version="1.0" encoding="UTF-8"?>
    <TargetEndpoint name="default">
       <PreFlow name="PreFlow">
          <Request />
          <Response />
       </PreFlow>
       <PostFlow name="PostFlow">
          <Request />
          <Response />
       </PostFlow>
       <Flows />
       <HostedTarget />
    </TargetEndpoint>

Hosted Targets 애플리케이션의 범위

호스팅된 대상 애플리케이션의 범위는 Edge 조직 환경으로 지정됩니다. 이 범위 지정은 모든 Edge 프록시와 동일합니다.

Hosted Targets 애플리케이션이 프록시 데이터에 액세스할 수 있나요?

호스팅된 대상 앱은 현재 프록시 런타임 환경에 액세스할 수 없습니다. 즉, Hosted Targets 애플리케이션에서 흐름 변수, 캐시, 기타 항목에 직접 액세스할 수 없습니다.

삽입된 Node.js (Edge에서 지원하는 기존의 Trireme 기반 Node.js)를 사용하면 apigee-access를 사용하여 Edge의 흐름 변수 및 기타 항목에 액세스할 수 있습니다. 하지만 호스팅된 대상은 Node.js 배포를 위한 apigee-access 모듈을 지원하지 않습니다. Apigee 액세스 권한 부족을 해결할 수 있나요?도 참고하세요.

기존 애플리케이션 코드를 호스팅된 대상으로 마이그레이션

현재 기존 Trireme 기반 내장 Node.js 애플리케이션에서 호스팅된 대상으로의 자동 마이그레이션 경로는 없습니다. 하지만 기존 애플리케이션 코드를 Hosted Target으로 직접 변환할 수 있습니다. 예시를 보려면 기존 Node.js 프록시를 Hosted Targets 프록시로 마이그레이션을 참조하세요.