현재 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 프록시로 마이그레이션을 참조하세요.