Apigee Edge 문서입니다.
Apigee X 문서로 이동하세요. 정보
호스팅된 대상을 사용하면 Apigee가 호스팅하는 기본 런타임 환경에서 Node.js 애플리케이션을 실행할 수 있습니다. 호스팅된 타겟의 목표는 간단합니다. Edge API 프록시가 대상 서비스로 호출할 수 있는 네이티브, 안전하고, 확장 가능하며, 격리된 환경에 애플리케이션을 배포할 수 있도록 지원하는 것입니다.
다음 그림과 같이 Edge API 프록시는 호스팅된 타겟 환경에 배포된 Node.js 애플리케이션을 호출합니다. 호스팅된 대상 환경의 범위는 Apigee 조직:환경 내에서 지정됩니다.
Edge API 프록시가 올바르게 빌드되고 배포된 호스팅된 타겟 애플리케이션과 통신하려면 프록시의 타겟 엔드포인트에서 간단하게 구성해야 합니다. 시작하려면 호스팅된 대상 튜토리얼로 이동하세요.
호스팅된 타겟이 지원하는 애플리케이션 런타임은 무엇인가요?
현재 Node.js 앱은 호스팅된 대상에만 배포할 수 있습니다.
호스팅된 대상 설치
호스팅된 대상은 모든 Edge 퍼블릭 클라우드 조직에서 사용할 수 있습니다. 호스팅된 타겟을 사용하기 위해 아무것도 설치할 필요가 없습니다.
호스팅된 대상의 사용 설정 확인
조직에 호스팅된 대상이 사용 설정되어 있는지 확인하려면 조직 세부정보를 확인하고 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" }
호스팅된 대상에 대해 알아야 할 사항
호스팅된 대상을 사용하면 Apigee 관련 런타임 기술에 의존하지 않는 네이티브 환경에서 Node.js 애플리케이션을 실행할 수 있습니다. 앱을 배포하기 전에 로컬에서 디버그하고 테스트할 수 있으며 배포된 버전이 로컬에서와 정확히 동일하게 작동한다는 확신을 가질 수 있습니다. 배포 시 호스팅된 대상에서 애플리케이션을 실행할 애플리케이션 런타임 버전을 선택할 수 있습니다. 예를 들어 v8.10.0 환경에서 Node.js 앱을 실행하도록 선택할 수 있습니다.
한도
호스팅된 타겟의 사용량 한도에 대한 자세한 내용은 Apigee 제품 한도를 참고하세요.
기본 단계
Edge 프록시 개발에 익숙하다면 호스팅 대상을 성공적으로 사용하기 위한 몇 가지 간단한 단계만 학습하면 됩니다. 기본적으로 다른 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>
호스팅된 대상 애플리케이션의 범위
호스팅된 대상 애플리케이션의 범위는 에지 조직 환경으로 지정됩니다. 이 범위는 모든 Edge 프록시와 동일합니다.
호스팅된 대상 애플리케이션이 프록시 데이터에 액세스할 수 있나요?
호스팅된 대상 앱은 현재 프록시 런타임 환경에 액세스할 수 없습니다. 즉, Hosted Targets 애플리케이션에서 직접 흐름 변수, 캐시 및 기타 항목에 액세스할 수 없습니다.
삽입된 Node.js(Edge의 기존 Trireme 기반 Node.js 지원)를 사용하면 apigee-access를 사용하여 Edge의 흐름 변수 및 기타 항목에 액세스할 수 있습니다. 하지만 호스팅된 대상은 Node.js 배포를 위한 apigee-access
모듈을 지원하지 않습니다.
Apigee 액세스 부족 문제를 해결할 수 있나요?도 참고하세요.
기존 애플리케이션 코드를 호스팅된 대상으로 마이그레이션
현재 기존 Trireme 기반 삽입된 Node.js 애플리케이션에서 호스팅된 타겟으로의 자동화된 이전 경로는 없습니다. 그러나 기존 애플리케이션 코드를 호스팅된 대상으로 직접 변환할 수는 있습니다. 예시는 기존 Node.js 프록시를 호스팅된 대상 프록시로 마이그레이션을 참조하세요.