4.15.07.00 - 프라이빗 클라우드용 Apigee Edge 출시 노트

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

2015년 9월 8일 화요일에 프라이빗 클라우드용 Apigee Edge의 주요 기능 출시가 출시되었습니다.

이전 Edge for Private Cloud 분기별 출시 버전 (4.15.04.00) 이후 다음 출시 버전이 발생했으며 이 분기별 출시에 포함되었습니다.

4.15.07.00으로 업그레이드할 수 있는 Edge 버전

현재 Edge 버전에 따라 다음 중 하나를 수행할 수 있습니다.

  • 4.15.07.00으로 직접 업그레이드
  • 증분 방식으로 업그레이드합니다. 즉, 현재 버전에서 다른 버전의 Edge로 업그레이드한 후 4.15.07.00으로 업그레이드해야 합니다.

자세한 내용은 4.15.07.00으로 업그레이드할 수 있는 Private Cloud용 Edge 버전을 참조하세요.

버전 4.15.01.x 또는 이전 버전에서 업그레이드하기 전

업그레이드하기 전에 모든 Cassandra 노드에서 Cassandra SSTable을 업그레이드했는지 확인합니다.
  1. Cassandra SSTable 버전을 확인합니다.
    1. 디렉터리를 /<install-root>/apigee4/data/cassandra/data로 변경합니다.
    2. 찾기 명령어 실행
      > find . -name *-ic-*
      Cassandra 1 .2 SSTable을 실행하는 경우 결과가.db 파일 집합을 반환해야 합니다.
    3. 다음 찾기 명령어를 실행합니다.
      > find . -name *-hf-*
      결과는 비어 있어야 합니다. 즉, hf 형식의 .db 파일이 없어야 합니다. hf 형식의 파일이 표시되지 않으면 완료된 것이며 4.15.07.00으로 업그레이드할 수 있습니다.

      hf 형식은 Cassandra 1.0 SSTables용입니다. hf 형식의 *.db 파일이 있는 경우 이 절차의 나머지 부분에 설명된 대로 SSTable을 업그레이드해야 합니다.
  2. hf 형식의 *.db 파일이 있으면 모든 Cassandra 노드를 업그레이드할 때까지 모든 Cassandra 노드에서 다음 명령어를 실행하여 SSTable을 업그레이드합니다.
  3. 1단계를 반복하여 모든 *.db 파일이 Cassandra 1.2 버전에서 ic 형식인지 확인합니다.
  4. Edge 설치의 모든 Cassandra 노드에서 1~3단계를 반복합니다.
  5. Edge 4.15.07.00으로 업그레이드하세요.
  6. 4.15.07.00 업그레이드 후에는 *.db 파일을 확인하여 C* 2.0 스타일의 안정화 버전으로 업그레이드되었는지 확인합니다.
    > cd /<install-root>/apigee4/data/cassandra/data
    > find . -name *-jb-*

    Cassandra 2 .0을 실행하는 경우 이 명령어는.db 파일 집합을 반환해야 합니다.

새로운 기능 및 개선사항

다음은 이번 버전의 새로운 기능 및 개선사항입니다.

설치 및 업그레이드

선택적 구성요소 업그레이드 및 제거

이제 apigee-upgrade.sh 및 apigee-Uninstall.sh 스크립트를 통해 업그레이드하거나 제거할 에지 구성요소를 선택할 수 있습니다. 이전에는 노드의 모든 구성요소를 업그레이드하거나 제거했습니다. (OPDK-1377, OPDK-1175)

업그레이드 롤백

업그레이드 중에 apigee-upgrade.sh가 실패하면 이제 apigee-rollback.sh 스크립트를 사용하여 업그레이드를 롤백할 수 있습니다. 업그레이드 문제를 해결한 후 업그레이드를 다시 시도할 수 있습니다. (OPDK-1275)

단축 설치 프로그램 스크립트 옵션

설치 스크립트에서 더 이상 --help와 같은 긴 형식의 옵션을 사용하지 않습니다. 이제 -h와 같은 단일 문자 옵션만 사용합니다. (OPDK-1356)

SmartDocs 설치

setup-smartdocs.sh 스크립트로 SmartDocs를 설치할 때 조직, 환경 및 가상 호스트를 입력하라는 메시지가 표시됩니다. 이렇게 하면 SmartDocs가 예상 위치에 설치됩니다. 이전에는 이러한 값이 스크립트에 하드 코딩되었습니다. (OPDK-1310)

프롬프트 없이 update-cass-pwd-in-config.sh 실행

ENABLE_CASS_AUTH, CASS_USERNAME, CASS_PASSWORD 환경 변수를 설정하면 update-cass-pwd-in-config.sh 스크립트를 메시지 없이 실행할 수 있습니다. (OPDK-1309)

에지 플랫폼

다음은 이번 출시에 포함된 새로운 Edge 플랫폼 기능입니다.

Edge Private Cloud에서 지원하는 OpenJDK 1.7

이 Edge 출시 버전은 Oracle JDK 1.7 및 OpenJDK 7을 지원하고 JDK 1.6에 대한 지원을 삭제했습니다. (OPDK-1187)

OS 지원

프라이빗 클라우드용 Apigee Edge의 운영체제 지원이 Red Hat Enterprise Linux 6.6 및 7.0 (64비트), CentOS 6.5, 6.6, 7.0 (64비트), Oracle Linux 6.5를 포함하도록 확장되었습니다.

OPDK 15.07에 포함된 Cassandra 2.0.15

이 출시에서는 Cassandra 2.0.15를 설치합니다. 이전 출시 버전으로 업그레이드하는 경우 Cassandra 버전이 업데이트됩니다. (OPDK-1197)

OAuth 토큰 해싱을 위한 SHA2 지원

데이터베이스 보안 침해 시 OAuth 토큰을 더 안전하게 보호하기 위해 Edge는 SHA1 외에도 OAuth 토큰을 해싱하는 SHA2 알고리즘을 지원합니다. 새로운 조직 수준 속성을 사용하면 새 토큰에 대한 해싱을 사용 설정 및 구성할 수 있을 뿐만 아니라 이 새로운 기능 이전에 존재한 토큰의 기존 해싱을 유지할 수 있습니다. 이전에는 Edge for Private Cloud에서 관리 서버 및 메시지 프로세서의 keymanagement.properties 파일에 있는 hash.oauth.tokens.enabled라는 속성을 통해 OAuth 토큰의 자동 SHA1 해싱이 사용 설정되었습니다. 이 속성은 현재 지원 중단되었습니다.

이전에 hash.oauth.tokens.enabled 속성을 사용하여 SHA1 해싱을 사용 설정한 경우 이 출시 버전의 업그레이드 스크립트에서 자동으로 새 조직 수준 속성을 생성합니다. 업그레이드 후 확인하려면 다음 API를 사용하여 시스템 관리자로서 GET을 실행하세요. https://{host}:{port}/v1/o/{your_org}

  • 조직에서 새 속성으로 토큰 해싱을 사용 설정하는 방법에 대한 자세한 내용은 액세스 토큰 요청 주제의 '데이터베이스의 토큰 해싱'을 참조하세요.
  • 기존 토큰을 일괄 해싱하는 방법에 대한 자세한 내용은 프라이빗 클라우드용 에지 작업 가이드를 참조하세요. (APIRT-1389)

로그 파일의 플랫 디렉터리 구조

message-logging.properties 파일에서 새 enable.flat.directory.structure 속성을 true로 설정하여 로그 파일을 플랫 디렉터리 구조에 저장하도록 Edge를 구성할 수 있습니다. 자세한 내용은 메시지 로깅 정책을 참조하세요. (APIRT-1394)

환경 캐시 성능

인메모리 캐시 관리 및 사용률을 개선하기 위해 환경 캐시 리소스의 '메모리의 최대 요소' 설정이 지원 중단되었습니다. 모든 캐시 리소스 (기본 캐시 포함)에 있는 총 요소는 캐시에 할당된 총 메모리에 따라 다릅니다. 기본적으로 특정 메시지 프로세서의 메모리 내 캐싱에 할당된 총 메모리는 사용 가능한 총 메모리의 40% 이며, 메시지 프로세서 cache.properties 파일의 캐시 속성 설정에 따라 결정됩니다. 캐시 메모리가 부족하거나 요소가 만료되는 경우에만 요소가 메모리 내 캐시에서 제거됩니다.

캐시 관리에 '메모리의 최대 요소' 속성을 사용하는 이전 동작으로 되돌리려면 cache.properties 파일에서 overrideMaxElementsInCacheResource=false 속성을 설정합니다. (APIRT-1140)


API 서비스

다음은 이번 버전에 포함된 새로운 API 서비스 기능입니다.

새 프록시 편집기를 기본값으로 설정

새 API 프록시 편집기는 관리 UI에서 기본적으로 사용 설정됩니다. 새 편집기에는 개요 페이지에서 조건부 흐름과 엔드포인트를 더 포괄적으로 볼 수 있는 기능, 개발 페이지의 모든 구성, 보다 직관적인 조건부 흐름, 엔드포인트, 정책 추가, 작은 스니펫보다는 더 완전한 XML 뷰, 파일 이름과 텍스트를 크롤링하는 검색 등 다양한 사용성 개선사항이 포함되어 있습니다. (MGMT-2279)

새로운 OAuth v2.0 정보 삭제 정책

새로운 'OAuth v2.0 정보 삭제' 정책을 사용하여 OAuth v2 액세스 토큰 및 승인 코드를 삭제할 수 있습니다. 이 정책은 이전에 관리 API에서 제공하던 기능을 대체합니다. 자세한 내용은 OAuthV2 정보 정책 삭제를 참고하세요. (MGMT-2257)

새로운 OAuth v1.0 정보 삭제 정책

새로운 'OAuth v1.0 정보 삭제' 정책을 사용하면 OAuth v1.0 요청 토큰, 액세스 토큰, 인증자 코드를 삭제할 수 있습니다. 이 정책은 이전에 관리 API에서 제공한 기능을 대체합니다. 자세한 내용은 OAuth V1 정보 정책 삭제를 참고하세요. (APIRT-1351)

액세스 제어 정책

IP 주소가 X-FORWARDED-FOR HTTP 헤더에 포함되어 있을 때 허용 목록 및 차단 목록을 위해 IP 주소를 더 세밀하게 평가할 수 있도록 액세스 제어 정책이 개선되었습니다.

헤더에 여러 IP 주소 확인을 사용 설정하면 (지원팀에 문의하여 feature.enableMultipleXForwardCheckForACL) 새 <ValidateBasedOn> 요소를 사용하여 첫 번째 IP, 마지막 IP 또는 헤더의 모든 IP를 확인할 수 있습니다. 자세한 내용은 액세스 제어 정책을 참조하세요.

항목 액세스 정책의 새 항목

액세스 항목 정책은 Consumerkey-scopes, Authorizationcode, requesttoken, verifier와 같은 새로운 항목에 대한 액세스를 제공합니다. 자세한 내용은 항목 정책 액세스를 참조하세요.

통계 수집기 정책: 통계 이름을 소문자로 자동 변환합니다.

API 프록시 편집기 (개발 페이지 > 도구 > 커스텀 애널리틱스 컬렉션)에서 커스텀 애널리틱스 컬렉션을 만들 때 수집기 변수 (통계) '이름'이 소문자여야 합니다. 대문자로 이름을 입력하면 통계 수집기 정책에서 도구가 통계 이름을 소문자로 자동 변환합니다. (MGMT-740)

API 프록시 편집기에서 기존 Trace 삭제

API 프록시 편집기의 최신 버전의 Trace 기능이 베타 버전에서 정식 버전으로 출시되었습니다. '기존 버전의 trace에 액세스' 링크를 사용하여 '기존 trace'에 더 이상 액세스할 수 없습니다.

관리 UI 도움말 메뉴의 Apigee 커뮤니티 액세스

관리 UI 도움말 메뉴에서 Apigee 커뮤니티에 액세스할 수 있습니다.

관리 UI의 오류 메시지

다음은 관리 UI의 오류 메시지 개선사항입니다.

  • 오류 메시지를 닫지 않은 한 전체 로그인 세션의 UI에 모든 오류 메시지를 그룹화하고 표시하는 데 사용되는 관리 UI입니다. 이 업데이트를 통해 오류가 발생한 페이지를 벗어날 때 오류 메시지가 자동으로 삭제됩니다. (MGMT-2254)
  • 관리 UI가 더 이상 중복 오류 메시지를 억제하지 않습니다. (MGMT-2242)

UI 성능 및 오류 개선사항

페이지 표시 성능 및 오류 메시지 정리를 비롯하여 관리 UI의 여러 영역이 전반적으로 개선되었습니다.

이제 관리 UI의 조직 사용자 페이지 (관리자 > 조직 사용자)에서 역할 이름이 하이퍼링크되어 역할 페이지로 빠르게 이동할 수 있습니다. (MGMT-1055)

메시지 흐름의 새로운 대상 변수

메시지 흐름의 새로운 변수가 대상 엔드포인트 및 대상 서버에 대해 보다 완전한 URL 정보를 제공합니다.

  • TargetEndpoint: request.urltarget.basepath.with.query를 대체합니다.
  • TargetServer: loadbalancing.targetservertargetserver.name를 대체합니다. 또한 target.basepath은 TargetEndpoint의 HTTPTargetConnection <LoadBalancer> 요소에서 <Path> 요소가 사용되는 경우에만 채워집니다.

서버 이름 표시 (SNI) 지원

Edge는 메시지 프로세서에서 대상 엔드포인트까지 서버 이름 표시 남쪽의 사용을 지원합니다. SNI를 사용하려면 Apigee 지원팀에 문의하세요.

자바 1.7이 필요합니다.

TLS/SSL의 확장인 SNI를 사용하면 모든 대상이 동일한 인증서를 사용하지 않아도 동일한 IP 주소 및 포트에서 여러 HTTPS 대상을 제공할 수 있습니다.

Edge 관련 구성이 필요하지 않습니다. 환경이 남쪽 경계 SNI용으로 구성된 경우 (기본적으로 Edge 클라우드임) Edge에서 지원합니다.

Edge가 자동으로 요청 URL에서 호스트 이름을 추출하여 SSL 핸드셰이크 요청에 추가합니다. 예를 들어 대상 호스트가 https://example.com/request/path이면 Edge는 아래와 같이 server_name 확장 프로그램을 추가합니다.

SNI에 대한 자세한 내용은 http://en.wikipedia.org/wiki/Server_Name_Indication을 참조하세요.

SSL 인증서 세부정보의 '서명 알고리즘'

관리 UI (관리 > SSL 인증서) 및 관리 API (키 저장소 또는 Truststore에서 인증서 세부정보 가져오기)에서 볼 수 있는 SSL 인증서 세부정보에 새로운 '서명 알고리즘' 필드가 추가되었습니다. 인증서를 생성하는 데 사용된 해싱 알고리즘 유형에 따라 필드에 'sha1WithRSAEncryption' 또는 'sha256WithRSAEncryption'가 표시됩니다.

만료가 임박한 SSL 인증서 표시

관리 UI의 SSL 인증서 페이지 (관리 > SSL 인증서)에는 새 만료 드롭다운 필드에서 선택한 사항에 따라 SSL 인증서가 10일, 15일, 30일 또는 90일 이내에 만료되는 날짜가 표시됩니다.

위협 방지 오류 구성

기본적으로 Edge는 메시지가 JSON 또는 XML 위협 방지 정책을 통과하지 못하면 HTTP 500 내부 서버 오류 상태 코드와 ExecutionFailed 오류를 발생시킵니다. 새로운 조직 수준 속성으로 이 오류 동작을 변경할 수 있습니다. 조직 속성 features.isPolicyHttpStatusEnabled를 true로 설정하면 다음 동작이 발생합니다.

  • 요청: 모든 요청 흐름에 위협 방지 정책이 연결되어 있으면 잘못된 메시지가 400 상태 코드와 해당 정책 오류 메시지를 반환합니다.
  • 응답: 응답 흐름에 위협 보호 정책이 연결되어 있으면 잘못된 메시지가 여전히 500 상태 코드를 반환하고 해당 정책 오류 메시지 중 하나가 발생합니다(ExecutionFailed가 아닌).

Cloud 고객은 Apigee 지원팀에 문의하여 조직 속성을 설정해야 합니다. 이 기능은 다음 분기별 출시 버전에서 Edge Private Cloud 고객에게 제공될 예정입니다.

엔드포인트, 프록시, 기타 항목의 스키마 업데이트

TargetEndpoint, ProxyEndpoint, APIProxy 등 다양한 비 정책 항목의 참조 스키마가 업데이트되었습니다. https://github.com/apigee/api-platform-samples/tree/master/schemas를 참고하세요. (APIRT-1249)


개발자 서비스

다음은 이번 버전에 포함된 개발자 서비스의 새로운 기능입니다.

SmartDocs 정식 버전

SmartDocs가 베타 버전에서 정식 버전으로 출시됩니다. 업데이트 및 새로운 기능은 다음과 같습니다.

  • 커스텀 이름이 지정된 보안 객체 지원을 포함하여 파일 또는 URL로 가져오기를 포함한 Swagger 2.0 지원
  • SmartDocs를 생성하는 템플릿의 시각적 디자인이 개선되었습니다.
  • Drupal의 콘텐츠 > SmartDocs 메뉴를 통해 개발자 포털의 사용성 및 워크플로 개선사항을 확인할 수 있습니다.
  • '커스텀 토큰' 인증으로 알려진 인증을 이제 'API 키'라고 합니다.
  • 버전 수준에서 정의된 인증 '보안' 객체입니다.
  • 템플릿 수준에서 클라이언트 인증 구성입니다. 새 버전에서 더 이상 사전 구성된 SmartDocs 클라이언트 사용자 인증 정보가 재설정되지 않습니다.

자세한 기능 설명은 이 블로그 게시물을 참고하세요.

SmartDocs 문서는 SmartDocs를 사용하여 API 문서화를 참고하세요.

관리 UI에 표시되는 개발자 앱 이름

Edge의 개발자 앱에는 변경되지 않는 내부 이름과 변경할 수 있는 표시 이름이 모두 있습니다. 관리 UI의 개발자 앱 페이지 (게시 > 개발자 앱 > 앱 이름)에는 앱 내부 '이름'이 '표시 이름'과 함께 표시되므로 문제 해결 및 API 관리를 위해 내부 이름으로 앱을 시각적으로 쉽게 식별할 수 있습니다.


분석 서비스

다음은 이번 버전에 포함된 새로운 애널리틱스 서비스 기능입니다.

보존된 데이터 시간 제한

관리 UI 또는 API로 애널리틱스 보고서를 생성할 때 현재 날짜로부터 6개월이 지난 데이터에는 기본적으로 액세스할 수 없습니다. 6개월 넘게 지난 데이터에 액세스하려면 Apigee 지원팀에 문의하세요.

관리 UI에서 삭제되는 기존 버전의 맞춤 보고서

커스텀 애널리틱스 보고서의 기본 버전(선택사항)은 더 이상 관리 UI에서 사용할 수 없습니다.

개발자 참여 위젯 실적

기본 애널리틱스 대시보드 (개발자 참여도 섹션)의 유입경로 위젯이 개선되어 실적을 개선했습니다.


수익 창출

다음은 이번 버전에 포함된 새로운 수익 창출 기능입니다.

요금제 이메일 알림

새로운 요금제 이메일 알림 유형을 사용하면 개발자가 구매한 대량 요금제 또는 번들 요금제에서 특정 거래 또는 달러 한도에 도달하면 개발자에게 알릴 수 있습니다. 자세한 내용은 알림 템플릿을 사용하여 알림 설정을 참고하세요.

반복 수수료 및 집계 기준 기간의 동기화

요금제에 다음과 같이 두 개의 서로 다른 기간이 적용되었을 수 있습니다.

  • 요금제의 수수료 탭에 구성되는 반복 수수료 기간으로, 개발자에게 반복 수수료가 청구되는 시점을 결정합니다.
  • 수량 단위 또는 번들 요금제의 요율표에 정의된 집계 기준 기간으로, 개발자가 번들 사용이 재설정된 시점을 결정합니다.

이제 이 두 기간이 동기화됩니다. 요금제에 0이 아닌 반복 수수료와 볼륨 단위 또는 번들 요율표가 모두 있는 경우 반복 수수료 기간이 둘 다에 사용됩니다. 예를 들어 월별 반복 수수료가 있는 경우 요율표 번들도 매월 재설정됩니다 (기본적으로 월의 초에 재설정됨).

반복 수수료가 없으면 요율표에 정의된 집계 기준에 따라 번들이 재설정됩니다. 예를 들어 개발자가 매월 19일에 요율표 사용을 시작하고 집계 기준이 매월이면 번들 사용량은 19일이 지난 한 달 후에 재설정됩니다.

집계 기준의 지원이 중단되며 향후 출시 버전에서 수익 창출에서 삭제될 예정입니다. 자세한 내용은 요율표 요금제 세부정보 지정을 참고하세요.

요약 수익 보고서의 맞춤 속성

거래 기록 정책을 사용하면 거래에서 맞춤 속성 데이터를 선택적으로 캡처할 수 있으며, 이제 이러한 맞춤 거래 속성을 요약 수익 보고서에 포함할 수 있습니다. 조직에 MINT.SUMMARY_CUSTOM_ATTRIBUTES 속성을 추가하면 보고서에 사용할 데이터베이스 테이블에 어떤 커스텀 속성이 추가될지 나타낼 수 있습니다.

프라이빗 클라우드용 Apigee Edge 고객은 다음 API 호출과 시스템 관리자 사용자 인증 정보로 플래그를 설정할 수 있습니다.

curl -u email:password -X PUT -H "Content-type:application/xml" http://host:8080/v1/o/myorg -d \
"<Organization type="trial" name="MyOrganization">
    <Properties>
        <Property name="features.isMonetizationEnabled">true</Property>
        <Property name="MINT.SUMMARY_CUSTOM_ATTRIBUTES">[&quot;my_attribute_1&quot;,&quot;my_attribute_2&quot;]</Property>
        <Property name="features.topLevelDevelopersAreCompanies">false</Property>
    </Properties>
</Organization>"

API 호출의 커스텀 속성 배열은 URL로 인코딩됩니다.


SmartDocs 업그레이드 프로세스

베타 기간 동안 이미 SmartDocs를 사용했다면 일반 안정화 버전의 새로운 기능을 사용하려면 개발자 포털에서 SmartDocs를 업그레이드해야 합니다.

개발자 포털에 이미 게시된 SmartDocs 페이지는 계속 작동하지만 기존 페이지 또는 새 페이지의 변경사항을 수정하거나 게시하기 전에 업데이트 프로세스를 따라야 합니다.

개발자 포털 내에서 SmartDocs를 렌더링하고 게시할 수 있지만 SmartDocs는 Apigee의 Edge API 관리 서비스 내에 있는 API 모델에서 생성됩니다. Edge에서 API 모델을 변경하면 모든 Pantheon 환경에서 동일하게 유지됩니다 (개발자가 Pantheon 환경 전반에 걸쳐 존재하는 방식과 유사함).

SmartDocs 베타에서 정식 버전으로 업그레이드하기

  1. Pantheon의 dev 또는 test 환경에서 15.05.27 버전을 업데이트하고 테스트합니다.
  2. 사용하고 있는 기존 API 모델을 대체할 새 모델을 만듭니다.
    • Swagger 또는 WADL 문서를 가져온 경우 새 버전으로 다시 가져오세요.
    • SmartDocs 모듈을 통해 API 모델을 유지해 온 경우 SmartDocs JSON으로 내보내고 파일 첨부파일을 사용하여 새 모델로 가져옵니다.
  3. 모델 버전의 보안 속성을 설정합니다. 콘텐츠 > SmartDocs > 모델 페이지에서 보안 설정을 선택합니다.
  4. 모델 설정 페이지 (콘텐츠 > SmartDocs)에서 작업 열의 설정을 클릭하여 사전 구성된 인증을 확인합니다.
  5. CSS 및 JS 애셋 v6를 사용하도록 맞춤 템플릿을 업데이트하고 authSchemes 및 apiSchema와 같은 새 객체 이름을 반영하도록 변경합니다. SmartDocs 템플릿 업데이트에 관한 자세한 내용은 SmartDocs를 사용하여 API 문서화를 참조하세요.
  6. 모델 버전을 다시 렌더링하고 게시합니다.
  7. 새 문서를 검증한 후 프로덕션 포털을 15.05.27 출시 버전으로 업데이트합니다.

에지 엔터프라이즈 고객이며 업그레이드 프로세스에 대해 궁금한 점이나 우려사항이 있으면 marsh@apigee.com 및 cnovak@apigee.com으로 이메일을 보내 주십시오. 그렇지 않은 경우 Apigee 커뮤니티를 이용하면 최선의 답변을 받으실 수 있습니다.


향후 기능 변경사항 및 개선사항

이 섹션에서는 향후 예상되는 기능 변경사항 및 개선사항을 미리 살펴봅니다.

응답 캐시 정책 동작 변경

향후 출시 버전 (추후 결정)에서는 응답 캐시 정책의 <ExcludeErrorResponse> 요소에서 기본 동작이 변경됩니다.

현재 동작: 응답 캐시 정책의 <ExcludeErrorResponse> 요소는 기본적으로 false입니다. 즉, 가능한 모든 HTTP 상태 코드 (3xx 포함)가 있는 응답은 기본적으로 응답 캐시 정책에 의해 캐시됩니다.

향후 동작: 응답 캐시 정책의 <ExcludeErrorResponse> 요소가 true로 기본 설정됩니다. 즉, 기본적으로 HTTP 상태 코드가 200~205인 응답만 캐시됩니다. 이 동작을 재정의하고 모든 상태 코드의 응답을 캐시하려면 <ExcludeErrorResponse> 요소를 명시적으로 true로 설정해야 합니다.

현재 해결 방법: Private Cloud 4.15.07.00 이하 버전에서 상태 코드가 200~205인 응답만 캐시하려면 <ExcludeErrorResponse> 요소를 명시적으로 true로 설정해야 합니다.


수정된 버그

다음은 이번 출시 버전에서 수정된 버그입니다.

문제 ID 설명
OPDK-1521 비밀번호 암호화 문제
OPDK-1201 UI 데이터를 복원할 수 없음
OPDK-1112 커스텀 LDAP 비밀번호 정책이 Apigee 관리자에게 적용되지 않습니다.
OPDK-1097 OPDK 업그레이드 중 키스페이스 예외 발생
OPDK-1068 설치 중 실패 시 관리자 비밀번호 변경 가능
OPDK-1053 Zookeeper가 루트로 실행 중
OPDK-967 set-autostart.sh를 사용하여 OpenLDAP를 자동 시작하도록 설정하면 all-status.sh에서 종료 상태로 보고합니다.
OPDK-905 Smartdocs prod가 이미 그룹 axgroup001에 등록되어 있습니다.
OPDK-899 온보딩 중 오류 발생
OPDK-847 온보딩 중에 생성된 사용자에게 비밀번호 재설정을 위한 메일이 전송되지 않음
OPDK-817 init.d 스크립트에서 오류가 발생함
OPDK-815 ax-purge.sh 스크립트가 샘플링 테이블을 삭제해야 함
MGMT-2246 맞춤 보고서 만들기 페이지가 관리 UI에 올바르게 표시되지 않습니다.
MGMT-2235 만료되는 SSL 인증서의 경우 만료 상대 시간이 혼동을 일으킬 정도로 반올림될 수 있음
SSL 인증서 만료일의 경우 인증서가 90일 이내에 만료되는 경우 만료일의 상대적 시간이 월 단위로 반올림되지 않고 일 단위로 항상 표시됩니다.
MGMT-2193 API 수정 시 스피너 로드
MGMT-2173 Trace UI에서 법적 URL을 허용하지 않음
이제 Trace UI에서 중첩된 쿼리 매개변수가 포함된 쿼리 매개변수 값과 함께 요청을 보낼 수 있습니다.
MGMT-2162 JavaScript 컴파일 문제
MGMT-2124 UI에 권한을 저장하면 고객 역할의 권한이 재설정됩니다.
MGMT-2114 MessageLogging 정책의 잘못된 시스템 로그 IP가 배포 중에 적절한 오류가 발생함
MGMT-2067 추적: API 프록시 버전이 2개의 환경에 배포된 경우 버전 및 환경을 선택할 수 없음
MGMT-2061 비밀번호를 잊으셨나요? 등록된 사용자에게만 이메일을 전송해야 합니다
관리 UI 로그인 페이지의 '비밀번호를 잊으셨나요?' 링크는 등록된 Apigee 사용자에게만 이메일을 전송합니다.
MGMT-2048 배포 권한을 하나의 환경으로 제한하는 커스텀 역할이 있는 사용자가 다른 환경에 배포할 수 있음
MGMT-2041 기본 첨부파일 템플릿에서 FaultRules 요소 삭제
정책 또는 API 프록시 단계에서 사용되지 않는 FaultRules 요소는 API 프록시를 만들거나 정책을 추가할 때 더 이상 자동으로 추가되지 않습니다.
MGMT-2034 가져오기 WSDL에서 실패: '가져오기 WSDL 오류: WSDL을 처리하는 중에 오류가 발생했습니다.'
MGMT-1986 개발자 추가 중 UI 오류 발생
MGMT-1983 OAuth 2.0 승인 코드 가져오기 API가 잘못된 상태를 반환함
MGMT-1962 안전한 비밀번호로 관리 UI에 로그인하는 중 오류 발생
퍼센트 기호와 같은 특정 특수문자를 사용하여 UI에 로그인해도 더 이상 실패하지 않습니다.
MGMT-1947 관리 UI의 직관적인 역할
이제 사용자에게 트랜잭션 녹음 정책을 만들거나 수정할 수 있는 권한이 없는 경우 거래 녹음 정책을 만들고 수정하는 UI 버튼이 사용 중지됩니다.
MGMT-1899 제품 설정을 저장한 후 리소스 경로가 삭제됨
API 제품을 수정할 때 사용자가 저장 버튼을 더블클릭하면 제품의 리소스 경로가 삭제될 수 있습니다. 이 문제는 해결되었습니다.
MGMT-1894 개발자 앱 페이지의 개발자 열의 로드가 완료되지 않음
MGMT-1882 WSDL의 새 API 프록시에 마지막 매개변수 세부정보만 표시됨
MGMT-1878 한 환경에 여러 버전이 배포된 경우 Trace에 그중 하나만 표시됩니다.
MGMT-1872 맞춤 보고서를 다운로드할 수 없음
MGMT-1863 관리 UI에서 Node.js 로그를 볼 수 없음
MGMT-1843 API 프록시가 열리지 않음
MGMT-1833 시스템 관리자가 OPDK의 UI에서 비밀번호를 변경할 수 없어야 함
MGMT-1825 교차 사이트 스크립팅 (XSS) 버그
MGMT-1824 확장자가 .xml인 WSDL 파일을 가져오는 동안 WSDL 오류 가져오기
MGMT-1812 가져오기 중에 TargetEndpoint 유효성 검사 추가
ProxyEndpoint와 마찬가지로, TargetEndpoint는 API 프록시를 가져오는 동안 조건에 사용되는 적절한 스키마와 표현식에 대해 검증됩니다.
MGMT-1804 일부 경우 Node.js API가 잘못된 JSON을 전송함
JSON 데이터에 잘못된 문자가 있는 경우 형식이 지정되지 않은 로그를 표시하는 데 사용되는 Node.js 로그 화면입니다. 이 출시 버전에서 수정되었으며 이제 UI에 올바른 형식의 node.js 로그가 표시됩니다.
MGMT-1802 비밀번호 재설정 URL #118
관리 UI가 SSL 종료 서버 뒤에 있는 경우 이제 관리 UI에서 http URL 대신 https URL 링크가 포함된 비밀번호 재설정 이메일을 올바르게 생성합니다.
MGMT-1799 Trace의 UI 보안 취약점 전송 요청
MGMT-1777 TLD가 .acn인 이메일 주소로 사용자를 추가할 수 없음
MGMT-1735 'W를 가져오는 중에 오류 발생' 브랜딩
이에 따라 Edge OPDK의 맞춤 브랜딩 지원이 즉시 삭제됩니다. 이로 인해 이 기능을 사용하는 소수의 고객이 실망할 수 있지만 API 관리와 관련된 Edge의 기능을 직접적으로 개선하는 기능은 아닙니다.
MGMT-1569 API 프록시를 기존 API 제품에 연결하는 문제
API 프록시에 '/' 경로 리소스가 있을 때 관리 UI의 API 제품에 API 프록시를 연결하는 문제가 해결되었습니다.
MGMT-1563 오류가 발생할 경우 Trace의 전송 버튼이 사용 중지된 상태로 유지됩니다.
MGMT-1362 이메일 주소에 '_'이 포함된 경우 비밀번호 찾기 이메일이 작동하지 않음
이메일 주소에 밑줄이 포함된 OPDK의 비밀번호 재설정 문제를 수정합니다.
MGMT-1345 네임스페이스가 여러 개인 WSDL을 가져오면 빌드 SOAP 단계가 잘못됨
MGMT-1193 새 버전으로 프록시를 저장하면 예기치 않게 라우팅 규칙이 변경됨
MGMT-1061 SmartDocs: Swagger 정의의 본문 유형 매개변수에 관한 설명이 문서 UI에 표시되지 않음
MGMT-800 'default'라는 이름을 가진 리소스를 만들면 UI가 손상됨
MGMT-787 UI 알림 사용성 문제
관리 UI에서 + API 프록시를 클릭하고 새 API 프록시 대화상자가 표시되면 Esc를 눌러 대화상자를 닫을 수 있습니다.
MGMT-619 API 프록시 UI 페이지에서 페이지로 나누기 활성화하기
MGMT-602 API 프록시 개발 보기: 엔드포인트에 PreFlow/PostFlow가 없는 경우 오류 발생 시 응답 캐시 정책 추가
MGMT-460 정책 이름을 변경하면 문제가 발생하여 삭제할 수 없는 정책 중복 발생
DEVRT-1644 이름으로 알림 조회로 인해 잘못된 이메일 전송
DEVRT-1583 현재 요금제에 대한 '미래' 배지가 표시되는 수익 창출 UI
DEVRT-1546 요금제 한도가 작동하지 않음
DEVRT-1511 기존 개발자의 mint.resourcedoesNotExist 오류
CORERT-639 TCPSysLogSocket은 비동기여야 함
CORERT-613 'undigd_name'으로 인한 SSL 핸드셰이크 실패
AXAPP-1728 분석에서 수익 창출 변수 무시
AXAPP-1708 Analytics API가 요청하는 방식에 따라 동일한 통계에 대해 다른 수치를 생성하는 것 같음
AXAPP-1707 무료 포드 분석 성능 향상
AXAPP-1690 맞춤 보고서의 '잘못된 API 오류'
AXAPP-1533 애널리틱스 Geomap에서 잘못된 API 호출 오류가 발생함
AXAPP-1493 잘못된 캐시 성능 통계
APIRT-1436 해싱되지 않은 토큰을 해싱하는 도구/스크립트 만들기
APIRT-1425 "true"로 설정된 경우 continueOnError 속성이 Java콜아웃 정책에 영향을 주지 않음
APIRT-1346 OAuth2.0 - hash.oauth.tokens.enabled가 true인 경우 액세스 토큰 응답에서 해싱된 값이 반환됨
APIRT-1206 503 및 대부분의 504에서 target_ip가 팩트 테이블에 기록되지 않음
APIRT-1170 리소스 파일 누락으로 인해 MP가 환경을 로드하지 못함
APIRT-1148 ResponseFlow에서 {message.version} 변수의 GET이 있으며 Node.js 타겟에서 NPE가 발생함
APIRT-1054 기본값이 아닌 다른 디렉터리에 로깅하려고 하면 메시지 로깅이 실패함
APIRT-387 MP에서 OrganizationService를 '기타' 버전으로 실행
APIRT-67 OAuth GenerateAccessToken 정책이 oauthV2.failed 변수를 올바르게 설정하지 않음
APIRT-52 맞춤 보고서: 여러 API의 응답 상태 코드가 null임

알려진 문제

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

문제 ID 설명
OPDK-1586

IPV6 지원이 사용 설정되지 않은 경우 API BaaS 포털이 시작되지 않음
해결 방법은 /<install-dir>/apigee4/conf/nginx/conf.d/loadbalancer.conf에서 다음 IPV6 줄을 주석 처리하여 API BaaS 포털을 실행하거나 IPV6 지원을 사용 설정하는 것입니다.

# listen [::]:8080;

OPDK-1785

업그레이드된 Edge 설치 환경에 수익 창출 구성요소 설치
Edge 설치를 4.15.07.00으로 업그레이드하고 업그레이드 전에 수익 창출을 사용하지 않은 경우 Edge 4.15.07.00 버전에 수익 창출을 설치할 수 없습니다.

해결 방법은 수익 창출을 설치하기 전에 apigee-env.sh 파일에서 올바른 수익 창출 버전을 설정하는 것입니다. (이미 Edge 4.15.07로 업그레이드한 후) 4.15.07에서 수익 창출 버전을 다운로드하려면 다음을 실행하세요.
> source /{install-dir}/apigee4/bin/apigee-env.sh 

> VER=`basename $(find $SHARE_DIR/installer/monetization -name "mint-*.zip") | cut -d "-" -f 2,3,4` 
기본적으로 install-dir은 /opt입니다.
위의 VER 값은 apigee-env.sh에서 설정해야 합니다.
> sed -i "s/^MONETIZATION_VERSION=.*/MONETIZATION_VERSION=$VER/" /install-dir/apigee4/bin/apigee-env.sh 
위 단계를 실행하지 않고 수익 창출 기능을 설치하려고 하면 설치가 실패하고 공유 디렉터리에 작동하지 않는 심볼릭 링크가 있을 수 있습니다. 심볼릭 링크를 삭제해야 합니다.
> rm /install-dir/apigee4/share/monetization 
심볼릭 링크를 삭제한 후 위의 단계를 따라 수익 창출 버전을 설정한 후 수익 창출 설치를 다시 시도하세요.
OPDK-1857 bin/qpid-stat.sh 및 bin/qpid-config.sh에 하드 코딩된 Python 2.6 버전

CentOS 및 RedHat 7.0에서는 bin/qpid-stat.sh 및 bin/qpid-config.sh의 여러 스크립트가 Python 버전 2.6을 사용하도록 하드 코딩됩니다.

이 문제를 해결하려면 qpid-stat.sh 및 apigee4/bin 디렉터리에서 qpid-config.sh의 PYTHONPATH를 내보내는 행을 변경하는 것입니다.

export PYTHONPATH="${QPID_DIR}/lib/python2.6/site-packages"

시스템에서 Python 버전을 확인하려면 /opt/apigee4/share/apache-qpid/lib 디렉터리에서 Python 버전을 확인하세요. 디렉터리는 python2.7일 가능성이 높습니다.

그런 다음 qpid-stat.sh 및 qpid-config.sh에서 PYTHONPATH 설정을 올바른 경로로 업데이트해야 합니다. 예를 들면 다음과 같습니다.

export PYTHONPATH="${QPID_DIR}/lib/python2.7/site-packages"

DEVRT-1574 여러 개의 활성 요금제를 사용하는 개발자의 잔액 및 사용량 불일치
수익 창출에서 개발자가 API 호출 요금이 부과되는 두 개 이상의 요금제를 사용하는 경우 잔액 사용량이 일정하지 않을 수 있습니다.
APIBAAS-1647 시스템 관리자로 로그인한 후 BaaS UI에서 '역할을 가져오는 중 오류 발생' 메시지 표시
이 오류 메시지는 4.15.01에서 4.15.07로 업그레이드한 후 시스템 관리자가 시스템에 처음 로그인할 때 표시됩니다. 이 메시지는 무시해도 됩니다.
DEVRT-1834 수익 창출 업그레이드 4.15.07
apigee-upgrade.sh 스크립트는 마지막에 다른 스크립트를 실행하라는 다음 메시지를 출력합니다.
************************************** 
In order to complete the monetization upgrade please run: 
sudo /opt/apigee4/share/monetization/schema/migration/MOPDK4.15.04.00/
365-create-notification-condition.sh 
************************************** 

이 메시지는 무시해도 됩니다. 해당 스크립트는 필수가 아니며 실행할 수 없습니다.

DEVRT-1951 수익 창출 신규 설치 시 알림 설정이 누락됨
Private Cloud용 Apigee Edge 버전 4.15.07.00을 새로 설치하면 다음 수익 창출 알림 구성이 누락됩니다. 관리 UI의 관리자 > 알림 페이지에 있는 알림 유형에 해당합니다.
mint.scheduler.${ORG_ID}.adoccnotify@@@management
mint.scheduler.${ORG_ID}.expiringrateplannotify@@@management
mint.scheduler.${ORG_ID}.newpkgnotify@@@management
mint.scheduler.${ORG_ID}.newproductnotify@@@management
mint.scheduler.${ORG_ID}.newrateplannotify@@@management
mint.scheduler.${ORG_ID}.tncacceptancenotify@@@management
이 문제를 해결하려면 다음 단계를 따르세요. Cassandra 인스턴스의 IP 주소가 필요합니다. 이를 찾으려면 <installation-root>/apigee4/conf/cassandra/cassandra.yaml 또는 <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties를 참조하십시오.
  1. 다음 명령어를 실행하세요. {ORG_ID} 변수는 그대로 두고 <org_name>, <installation-root>, <cassandra_ip_address>를 바꿉니다.
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/ui/mint-org-specific-ui-schedulers.txt > /tmp/mint-org-specific-ui-schedulers.txt
    
    <installation-root>/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-ui-schedulers.txt
    
  2. 관리 서버를 다시 시작합니다.
DEVRT-1952 4.14.07.00에서 누락된 알림 구성으로 수익 창출 업그레이드
Private Cloud용 Apigee Edge 버전을 4.14.07.00에서 4.15.07.00으로 업그레이드하면 수익 창출 알림에 대한 다음 구성이 누락되어 수익 창출 보고서가 제대로 작동하지 않습니다.
mint.scheduler.${ORG_ID}.chargedaily@@@management
mint.scheduler.${ORG_ID}.chargehoursly@@@management
이 문제를 해결하려면 다음 단계를 따르세요. Cassandra 인스턴스의 IP 주소가 필요합니다. 이를 찾으려면 <installation-root>/apigee4/conf/cassandra/cassandra.yaml 또는 <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties를 참조하십시오.
  1. 다음 명령어를 실행하세요. {ORG_ID} 변수는 그대로 두고 <org_name>, <installation-root>, <cassandra_ip_address>를 바꿉니다.
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/system/mint-org-specific-system-schedulers.txt > /tmp/mint-org-specific-system-schedulers.txt
    
    <installation-root>/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-system-schedulers.txt
    
  2. 관리 서버를 다시 시작합니다.
OPDK-1878 여러 데이터 센터 설치에서 포드 이름을 설정할 수 없음
Edge 설치 가이드에서는 여러 데이터 센터 설치의 자동 설치 파일에서 포드 이름을 ' Gateway-1' 및 'gateway-2'로 설정하도록 지정합니다. 하지만 포드 이름을 변경하면 라우터와 메시지 프로세서가 올바르게 등록되지 않고 액세스할 수 없게 됩니다. 또한 이 문제로 인해 setup-org.sh 스크립트에서 사용 가능한 메시지 프로세서를 찾을 수 없습니다.

해결 방법은 두 데이터 센터의 자동 설치 파일에서 MP_POD 속성을 사용하여 포드 이름을 '게이트웨이'로 설정하는 것입니다.
OPDK-1886

노드가 192.168.x.y와 같은 로컬 IP 주소에 액세스할 수 없음
로컬 IP 주소에 액세스하려고 할 때 'EINVAL 연결' 오류가 표시됩니다.
해결 방법은 메시지 프로세서 노드의 /<install_dir>/apigee4/conf/apigee/message-processor/nodejs.properties 파일을 수정하여 다음 줄을 주석 처리하는 것입니다.

connect.ranges.denied=10.0.0.0/8,192.168.0.0/16,127.0.0.1/32

그런 다음 메시지 프로세서 노드를 다시 시작합니다.

<install_dir>/apigge4/bin/apigee-service message-processor restart 
OPDK-1958 업그레이드하면 모든 노드에서 관리 서버의 포트 8080에 액세스해야 합니다.
런타임 시 라우터, 메시지 프로세서, UI, Postgres, Qpid 등의 구성요소가 관리 서버의 포트 8080에 액세스해야 합니다. 하지만 업그레이드할 때 Cassandra 및 Jokeeper 노드를 포함한 모든 노드는 Management Server의 포트 8080에 액세스해야 합니다.
OPDK-1962 업그레이드 후 Edge API의 SSL을 다시 구성해야 함
4.15.07.00으로 업그레이드하기 전에 Edge API가 SSL을 사용하도록 구성한 경우 업그레이드 후 SSL을 다시 구성해야 합니다. Edge API용 SSL 구성 절차는 Edge 작업 가이드를 참조하세요.