4.16.05 - Private Cloud용 Edge 출시 노트

Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동하세요.
info

2016년 5월 31일 화요일에 새로운 버전의 프라이빗 클라우드용 Apigee Edge가 출시되었습니다.

이전 Edge for Private Cloud 기능 출시 (4.16.01) 이후 다음 출시가 있었으며 이 기능 출시에 포함되어 있습니다.

특정 클라우드 출시가 프라이빗 클라우드용 Edge 버전에 포함되어 있는지 확인하는 방법을 알아보려면 출시 번호 지정 정보를 참고하세요.

새로운 기능 및 개선사항

이번 출시 버전의 새로운 기능과 향상된 기능은 다음과 같습니다. 다음 개선사항 외에도 이번 출시에는 사용성, 성능, 보안, 안정성 개선사항이 여러 개 포함되어 있습니다.

자세한 내용과 안내는 프라이빗 클라우드용 Edge 문서를 참고하세요.

설치 및 작업 가이드가 온라인으로 이동됨

이제 버전 4.18.01에서 Edge for Private Cloud 설치 및 운영 가이드에 액세스할 수 있습니다.

소프트웨어 업데이트

이 출시에는 다음과 같은 소프트웨어 업데이트가 포함되어 있습니다.

  • Java JDK 1.8 - 최신 Java 기능을 활용하기 위해 이 버전은 Java 1.8과 호환됩니다. 환경에 Oracle JDK 1.8 또는 OpenJDK 8이 필요합니다.
    Java 8로 업데이트되면서 Oracle JDK 1.8에서 일부 TLS 암호를 더 이상 사용할 수 없습니다. 전체 목록은 http://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html의 '기본적으로 사용 중지된 암호화 스위트' 섹션을 참고하세요.
  • Cassandra 2.1.13 - Cassandra 2.0.15에서 업데이트되었습니다.

설치, 업그레이드, 롤백

다음은 설치, 업그레이드, 관련 스크립트의 변경사항 목록입니다. 사용에 관한 자세한 내용은 프라이빗 클라우드용 Edge 문서를 참고하세요.

  • 4.16.01에서 업데이트하는 새로운 프로세스 - 이 출시에서는 apigee-migrate 유틸리티를 update.sh 유틸리티로 대체하여 설치를 4.16.01에서 4.16.05로 업데이트합니다. Apigee Edge 4.16.01~4.16.05 업데이트를 참고하세요.
  • 부트스트랩
    • bootstrap.sh (4.16.01 버전)이 이제 4.16.05에서 bootstrap_4.16.05.sh입니다.
    • bootstrap_4.16.05.sh을 다운로드하기 위해 더 이상 uname:pword를 지정할 필요가 없습니다.
  • 롤백 - 업데이트를 4.16.05로 롤백하려면 4.16.05 버전의 구성요소를 제거하고 이전 버전을 다시 설치합니다. 이전 rollback.sh 유틸리티가 삭제되었습니다. 4.16.05 롤백 프로세스를 참고하세요.
  • setup.shupdate.sh/tmp에 로그 파일을 쓸 수 있음 - 기본적으로 setup.shupdate.sh 유틸리티는 로그 정보를 /opt/apigee/var/log/apigee-setup에 씁니다. 유틸리티를 실행하는 사용자에게 해당 디렉터리에 대한 액세스 권한이 없으면 로그가 /tmp 디렉터리에 기록됩니다. 사용자가 /tmp에 액세스할 수 없으면 유틸리티가 실패합니다.
  • API BaaS 업데이트 절차 - 4.16.01 출시에서는 API BaaS를 이전하려면 다시 설치해야 했습니다. 새로운 update.sh 유틸리티는 API BaaS의 인플레이스 업데이트를 지원합니다. Apigee Edge 4.16.01~4.16.05 업데이트를 참고하세요.

관리

다음은 Private Cloud 관리 및 구성의 새로운 기능입니다.

  • 설치 유효성 검사 - Edge Private Cloud 설치를 테스트하는 데 사용되는 apigee-validate 유틸리티를 이제 관리 서버에서 실행할 수 있습니다. 이전에는 스크립트를 메시지 프로세서에서 실행해야 했습니다. 설치 테스트를 참고하세요.
  • 지역 이름 - 지역은 어떤 이름이든 가능합니다. 이전 출시에서는 이름이 'dc-#' 형식이었으며 여기서 #은 정수 값이었습니다.
  • 게이트웨이 포드 - 게이트웨이 포드는 어떤 이름이든 가질 수 있습니다. 이전 출시에서는 포드 이름을 'gateway'로 지정해야 했습니다.
  • 스크립트 기반 관리 - 새로운 apigee-adminapi.sh 명령줄 유틸리티를 사용하면 Edge 관리 API를 호출하여 실행하는 것과 동일한 Edge 구성 작업을 실행할 수 있습니다. apigee-adminapi.sh 유틸리티 사용을 참고하세요.
  • 가상 호스트 SSL 자동 구성 - 이제 조직 또는 환경을 만들 때 가상 호스트에서 SSL을 구성하는 속성을 전달할 수 있습니다. 조직 온보딩을 참고하세요.

API 서비스

다음은 이전 클라우드 버전의 제품에서 제공된 Edge API 서비스의 새로운 기능입니다.

시스템 로그 메시지 로깅의 고정 길이 접두사 (Cloud 16.03.30)

메시지 로깅 정책에는 Syslog 구성에 새 <FormatMessage> 요소가 있습니다. <FormatMessage>true</FormatMessage>을 설정하면 Syslog 메시지가 고정된 수의 문자로 시작되므로 Apigee에서 삽입한 데이터를 필터링할 수 있습니다. 자세한 내용은 메시지 로깅 정책을 참고하세요. (APIRT-1398)

API 프록시 기본 경로의 와일드 카드 (Cloud 16.03.09 UI)

관리 UI는 API 프록시 기본 경로에서 하나 이상의 /*/ 와일드 카드 사용을 지원합니다. 예를 들어 /team/*/members의 기본 경로를 사용하면 클라이언트가 새 팀을 지원하기 위해 새 프록시를 만들 필요 없이 https://[host]/team/blue/members 또는 https://[host]/team/green/members를 사용하여 프록시를 호출할 수 있습니다. /**/은 허용되지 않습니다. (MGMT-3154)

API 프록시 체이닝 (Cloud 16.03.02, Cloud 16.03.09 UI)

Edge는 로컬 API 프록시 체이닝을 지원하므로 추가 네트워크 오버헤드 없이 Edge 조직에 배포된 API 프록시를 다른 API 프록시에서 호출할 수 있습니다. 이전에는 API 프록시 체인에 다른 API 프록시에 대한 http(s) 호출이 필요했으며, 이 호출은 부하 분산기, 라우터, 메시지 프로세서를 통해 요청을 전달했습니다.

API 프록시의 TargetEndpoint에서 새 LocalTargetConnection 요소를 사용할 수 있으므로 API 프록시 이름, API 프록시 내의 특정 ProxyEndpoint 이름 또는 로컬 API 프록시 리소스의 기본 경로 (예: /v1/myresource)를 지정할 수 있습니다. 프록시 편집기 UI는 TargetEndpoint를 추가하거나 업데이트할 때도 이러한 옵션을 제공합니다.

프록시 체이닝은 Service Callout 정책에서도 사용할 수 있습니다.

자세한 내용은 API 프록시 체인을 참고하세요. 새 LocalTargetConnection 요소는 https://github.com/apigee/api-platform-samples/blob/master/schemas/configuration/configuration_schemas.xsd의 XML 스키마에도 나열되어 있습니다. (MGMT-3049, MGMT-3050)

수정된 버그

다음은 이번 출시 버전에서 수정된 버그입니다. 이 목록은 주로 지원 티켓이 수정되었는지 확인하는 사용자를 위한 것입니다. 모든 사용자에게 자세한 정보를 제공하기 위한 목적은 아닙니다.

Private Cloud용 Edge 4.16.05

문제 ID 설명
PRC-770 16.01 설치 프로그램이 axgroup에 Postgres 대기 서버를 등록하지 못함
PRC-758 사용자 역할이 있는 사용자가 맞춤 보고서를 수정할 수 있음
PRC-883 마스터-대기 구성으로 Postgres 서버 업데이트가 실패함

클라우드 16.03.30

문제 ID 설명
SECENG-584 인증서 체인의 인증서 간 줄바꿈에 대한 유효성 검사로 인해 프로덕션의 일부 인증서에 문제가 발생함
MGMT-3217 KVMap 이름이 'keys'로 끝나면 관리 API 호출이 실패함
MGMT-3214 JavaCallout 중에 클래스 충돌이 발생하여 고객의 Java 코드가 실패할 수 있음
MGMT-3185 조직에 조직 관리자를 추가하는 중 오류 발생
EDGEUI-127 새 프록시 편집기에서 권한이 부족함
EDGEUI-119 UI 세션 제한 시간 문제
CORESERV-671 '벨소리가 구성되지 않았습니다. cps 서비스를 초기화할 수 없습니다' 오류가 표시됨
AXAPP-2345 cps 고객이 아닌 사용자의 AX 맞춤 보고서 목록에 문제가 있음
AXAPP-2302 일일 Apigee 애널리틱스 요약의 개발자 채택에 0이 표시됨
APIRT-2750 특정 조직에서 트래픽 실패가 많음
APIRT-2516 JavaScript 콜아웃의 런타임 오류에 잘못된 줄 번호가 지정됨
APIRT-2508 보관소 콜백 내에서 express listen을 호출할 때 종료 오류
APIRT-2336 Node.js의 Gzip 문제
APIRT-1975 message.content에 마스크 구성이 작동하지 않음

Cloud 16.03.16 UI

문제 ID 설명
MGMT-3142 오류 분석 대시보드에 그래프가 로드되지 않음 (업데이트된 수정사항)

Cloud 16.03.09 UI

문제 ID 설명
MGMT-3158 API를 통해 개별 프록시에 RBAC가 설정된 경우 UI의 권한이 부족함
MGMT-3142 오류 분석 대시보드에 그래프가 로드되지 않음
MGMT-3118 UI에 'clientAuthEnabled' 매개변수의 잘못된 SSL 가상 호스트 구성이 표시됨
DEVRT-2344 단일 일 보고서 정의가 UI에서 트랜잭션을 로드하지 않음

Cloud 16.03.02

문제 ID 설명
MGMT-3083 Node.js 로그 자동 새로고침이 로그 메시지로 인해 너무 자세함
DEVRT-2275 맞춤 속성 요금제에 허용된 10개가 아닌 5개의 속성만 표시됨
DEVRT-1275 요금제 드롭다운 메뉴에 모든 개발자가 표시되지는 않음
DEVRT-1074 잔액이 없는 선불 개발자가 크레딧을 적용할 때 NullpointerException을 발생시킴

Cloud 16.02.17

문제 ID 설명
MGMT-3083 Node.js 로그 자동 새로고침이 로그 메시지로 인해 너무 자세함
MGMT-3077 UI에서 기본 네임스페이스를 사용하는 WSDL로부터 잘못된 프록시 번들을 생성함
MGMT-1642 개발자 앱에 대한 'get' 권한이 맞춤 사용자 역할에 누락됨

알려진 문제

이 출시에는 다음과 같은 알려진 문제가 있습니다.

문제 ID 설명
APIRT-2978

라우터가 Nginx를 시작하지 못함 또는 라우터가 시작되지 않음

/opt/apigee/var/log/edge-router/logs/system.log 파일에 표시된 대로 Edge 라우터가 Nginx를 시작하지 못하거나 전혀 시작하지 못하는 경우 /opt/nginx/conf.d 디렉터리의 모든 파일을 삭제하고 라우터를 다시 시작합니다.

> rm -f /opt/nginx/conf.d/*
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
APIRT-3364

메시지 프로세서가 IPv4 및 IPv6에서 DNS 조회 실행

NSCD (Name Service Cache Daemon)를 설치하고 사용 설정한 경우 메시지 프로세서가 DNS 조회를 두 번 실행하는 것을 확인할 수 있습니다. 한 번은 IPv4용이고 한 번은 IPv6용입니다.

IPv6에서 DNS 조회를 사용 중지하려면 다음 단계를 따르세요.

  1. 모든 메시지 프로세서 노드에서 /etc/nscd.conf를 수정합니다.
  2. 다음 속성을 설정합니다.

    enable-cache hosts no
PRC-1118

'apigee-service apigee-postgresql pg-data-purge' 명령어를 실행할 때 오류 발생

'apigee-service apigee-postgresql pg-data-purge' 명령어를 실행할 때 다음 형식의 오류가 표시될 수 있습니다.

오류: 관계의 소유자여야 함

/opt/apigee/apigee-postgresql-4.16.05-0.0.894/lib/actions/pg-data-purge를 수정하고 다음 속성을 'apigee'로 설정합니다.

POSTGRES_USER=apigee

DOC-1687 알려진 패키지 종속성 충돌로 인해 Satellite Server 6에서 사용되는 Katello 에이전트가 Qpid 데몬을 실행하는 Apigee Edge 호스트에 올바르게 설치되지 않습니다.

Assign Message, Java Callout, Raise Fault 정책의 JSON 페이로드

Assign Message, Java Callout, Raise Fault 정책을 사용하면 <Set><Payload> 요소를 사용하여 메시지 콘텐츠를 생성할 수 있습니다. 이러한 메시지의 일부로 런타임에 값이 자동으로 채워지는 변수를 포함할 수 있습니다. 예를 들어 HTTP 헤더에서 날짜를 출력하려면 메시지에 {message.header.date}을 삽입하면 됩니다.

메시지 형식이 JSON인 경우 다음과 같이 표시됩니다.

{"The date is: " : "{message.header.date}"}

하지만 형식이 잘못된 JSON입니다. 이 문제를 해결하는 방법은 두 가지가 있습니다.

  • 백슬래시로 여는 중괄호를 이스케이프 처리합니다.
    \{"The date is: " : "{message.header.date}"}
  • 페이로드 요소 구성에서 variablePrefixvariableSuffix 속성을 사용하여 JSON 페이로드의 변수를 나타냅니다. 예를 들면 다음과 같습니다.
    <Payload contentType="application/json" variablePrefix="#" variableSuffix="%">{"The date is: " : "#message.header.date%"}</Payload>

다음 프라이빗 클라우드용 Edge 기능 출시에서는 JSON 메시지의 변수에 중괄호를 문제없이 사용할 수 있습니다. (APIRT-1160)

라우터가 Nginx를 시작하지 못함 또는 라우터가 시작되지 않음

/opt/apigee/var/log/edge-router/logs/system.log 파일에 표시된 대로 Edge 라우터가 Nginx를 시작하지 못하거나 전혀 시작하지 못하는 경우 /opt/nginx/conf.d 디렉터리의 모든 파일을 삭제하고 라우터를 다시 시작합니다.

> rm -f /opt/nginx/conf.d/*
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart