19.03.01 - 퍼블릭 클라우드용 Apigee Edge 출시 노트

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

2019년 12월 3일 화요일에 이 버전의 퍼블릭 클라우드용 Apigee Edge 업데이트가 출시되기 시작했습니다. (원래 출시일은 2019년 4월 18일 목요일이었습니다.)

새로운 기능 및 업데이트

다음은 이번 출시의 새로운 기능과 업데이트입니다.

문제 ID 구성요소 이름 설명
Apigee는 2019년 10월 1일부터 다음 업데이트를 출시하기 시작했습니다.
110995050 API 런타임

부하 분산 - 장애가 발생한 서버 삭제를 위한 추가 제어 기능

API 프록시용 부하 분산기를 구성할 때 서버가 부하 분산 순환에서 삭제되기 전에 발생하는 응답 실패 횟수를 결정할 수 있습니다. 응답 실패는 Apigee가 대상 서버로부터 어떠한 응답도 수신하지 않는다는 의미입니다. 이 경우 실패 카운터가 1씩 증가합니다. Apigee가 대상에서 응답을 수신하면 응답이 HTTP 오류 (예: 500)이더라도 대상 서버의 응답으로 집계되고 실패 카운터가 재설정됩니다. 잘못된 HTTP 응답 (예: 500)도 실패 카운터를 증가시켜 비정상 서버가 부하 분산 순환에서 최대한 빨리 나가도록 하려면 <ResponseCode> 하위 요소가 있는 새 <ServerUnhealthyResponse> 요소를 부하 분산기 구성에 추가하면 됩니다. 또한 Edge는 이러한 코드가 있는 응답을 실패로 계산합니다.


<HTTPTargetConnection>
  <LoadBalancer>
    <Algorithm>RoundRobin</Algorithm>
    <Server name="target1" />
    <Server name="target2" />
    <ServerUnhealthyResponse>
        <ResponseCode>500</ResponseCode>
        <ResponseCode>502</ResponseCode>
        <ResponseCode>503</ResponseCode>
    </ServerUnhealthyResponse>
    <MaxFailures>5</MaxFailures>
  </LoadBalancer>
</HTTPTargetConnection>
  
  
130416715 보안

AccessControl 정책 개선사항

AccessControl 정책은 API 프록시를 호출할 수 있는 IP 주소를 결정합니다. 이 정책의 새로운 요소는 API 개발자가 평가할 IP 주소를 식별하는 데 더 많은 권한을 제공합니다.

<IgnoreTrueClientIPHeader>: 선택사항 (기본값은 false) 이 정책을 true로 설정하면 정책은 True-Client-IP 헤더를 무시하고 구성한 X-Forwarded-For 평가 동작에 따라 X-Forwarded-For 헤더의 IP 주소를 평가합니다.


<AccessControl async="false" continueOnError="false"
    enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>

Apigee는 2019년 4월 18일에 다음 업데이트를 출시했습니다.
117558815,
119856499,
110548137,
79526748,
72989449,
70712859,
69049041
API 런타임 JWS 및 JWT
JWS 지원을 위한 새로운 정책을 추가하고 기존 JWT 정책을 개선했습니다.

자세한 내용은 이 커뮤니티 게시물을 참조하세요.

122610025 API 런타임 RaiseFault가AssignMessage에서와 같이 오류 원인과 임의 변수를 설정하도록 허용합니다.

RaiseFault 정책에 두 가지 새로운 요소가 추가되어 FaultRules 처리 기능이 더 깔끔하고 강력합니다.

  • ShortFaultReason은 true로 설정된 경우 fault.reason 변수에 정책 이름을 넣는 불리언입니다.
  • FaultResponse에서 제공되는 AssignVariable를 사용하면 API 프록시 흐름의 다른 정책에서 사용할 변수에 오류 응답을 할당할 수 있습니다.
121149811 호스팅된 대상 호스팅된 대상에 적용되는 한도

이제 호스팅된 대상에 제한이 적용됩니다. 한도에 대한 자세한 내용은 한도를 참조하세요.

117659213 API 런타임 AccessControl 정책의 IP 범위 매개변수화

이제 메시지 템플릿 변수를 사용하여 AccessControl 정책에서 IP 주소 및 CIDR 마스크를 설정할 수 있습니다. 예를 들어 IP 주소와 마스크를 키-값 맵 (KVM)에 저장하려면 API 프록시 흐름에서 설정한 변수에서 해당 값을 검색할 수 있습니다. 이렇게 하면 정책 구성을 변경할 필요 없이 런타임 시 보다 쉽게 IP 값을 변경할 수 있습니다.

예를 들어 다음을 사용하지 않습니다.

<MatchRule action="DENY">
    <SourceAddress mask="24">198.51.100.1</SourceAddress>
</MatchRule>
     

값이 KVM에 저장되어 있으며 KeyValueMapOperations 정책을 사용하여 값을 검색하고 여기에 표시된 변수에 할당한다는 가정 하에 정책을 다음과 같이 구성할 수 있습니다.

<MatchRule action="DENY">
    <SourceAddress mask="{kvm.mask.ref}">{kvm.ip.ref}</SourceAddress>
</MatchRule>
     
113599885 API 모니터링 API 모니터링 역할

API 모니터링은 API 모니터링 액세스에 설명된 두 가지 역할, 즉 API 모니터링 관리자와 API 모니터링 사용자를 제공합니다. 2018년 12월에 출시되었습니다.

132256772 API 런타임 X-Apigee.Message-Timeout 헤더가 요청에 추가됨

이제 Edge에서 각 요청에 X-Apigee.Message-Timeout 헤더를 추가합니다. 이 헤더는 Edge의 내부용입니다. API 프록시의 X-Apigee.* 헤더 값에 의존하지 마세요. 이러한 헤더는 고객이 사용할 수 없으며 Apigee에서 언제든지 삭제하거나 변경할 수 있습니다.

78575018 프라이빗 클라우드 / OPDK 게이트웨이 포드가 여러 개 있는 경우 관리 서버를 건너뛰어 게이트웨이 Datastore 등록을 건너뜁니다.

버그 수정됨

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

문제 ID 구성요소 이름 설명
2019년 12월 3일부터 Apigee에서 다음 수정사항을 출시하기 시작했습니다.
보안 수정사항
2019년 10월 29일부터 Apigee에서 다음 수정사항을 출시하기 시작했습니다.
139381794 관리 서버

API 호출이 실패하지 않도록 키 저장소 삭제 오류 처리

2019년 10월 1일부터 Apigee에서 다음 수정사항을 출시하기 시작했습니다.
140761319 API 런타임

x-apigee.edge.execution.sense.action이 항상 null로 설정

139091614 API 런타임

ResponseCache 정책에서 NIOTheread가 스레드 풀에서 거부되지 않고 실행됩니다.

131331305 핵심 서비스

Apigee 라우터에서 여러 로그 내보내기 도구로 인해 높은 CPU 사용량이 발생함

136690640 API 런타임

특정 조직에서 간헐적으로 404 발생

140948100 API 런타임

배포된 공유 흐름이 일부 메시지 프로세서에서 실행되지 않음

2019년 9월 13일에 Apigee에서 다음 수정사항을 출시했습니다.
132654321 관리 서버 감사 로그에 데이터가 표시되지 않음
131246911 관리 서버 포털의 개발자 이메일의 경우 *.games, *.asia 같은 최신 도메인 지원을 사용 설정하세요.
Apigee는 2019년 4월 18일에 다음 수정사항을 출시했습니다.
123844598 관리 서버 삭제된 앱 키는 24시간이 지나면 다시 가져올 수 없습니다
123588156 API 런타임 응답에서 Content-Length 헤더를 삭제할 때 304 오류가 표시되며
122732400 API 런타임 Setting api.timeout overrides io.timeout.millis
122545281 API 런타임 JSON의 DebugSession 데이터 마스크가 jsonpay가 배열인 경우를 고려해야 함
122355807 관리 서버 여러 역할을 가진 사용자의 잘못된 권한 동작
121393556 API 런타임 x_apigee_fault_code가 'org/codehaus/jackson/map/ObjectMapper'로 설정됨
120998548 Edge UI 오류 메시지 오타: 인증서가 유효하지 않거나 신뢰할 수 없음
120990929 API 런타임 Nginx/Apigee-Router의 HTTP-413 응답으로 서버 유형 확인
120799489 API 런타임 비동기 자바스크립트 콜백 httpComplete()와 함께 httpClient를 사용하면 debugsession (trace) 출력이 숨김
120794339 API 런타임 조직 의원 유권자
120277011 관리 서버 입력 확인 필요: 대상 서버 호스트 이름에 **가 있는 경우 프록시를 배포할 수 없음
119976417 API 모니터링 API 모니터링에서는 프록시 응답 시간이 긴 것으로 표시되는 반면 분석에는 높은 목표 응답 시간이 나타남
119947481 API 런타임 예외 시나리오에서는 마스킹할 페이로드가 일반 텍스트로 로깅됩니다.
119877164 프라이빗 클라우드 / OPDK 라우터에서 오류를 생성하고 TLS가 사용 설정된 상태에서 메시지 프로세서가 오프라인으로 전환됨

이 수정사항은 다음 Private Cloud용 Edge 출시에 포함될 예정입니다.

119816218 API 런타임 응답 캐시가 0 또는 음수로 확인되는 경우 만료 헤더를 무시함
119770242 API 런타임 라우터에서 MP로의 통신에 실패하여 완전한 다운타임 발생: PostClientFlow 오류로 인해 무한 루프가 발생함
119443145 관리 서버 ProxyEndpoint의 이름이 변경되고 재배포되면 API 프록시에서 404를 반환함
119260281 API 런타임 \"string3000.0으로 파싱할 수 없습니다.\" 로그 오류
118743407 관리 서버 Apigee 프록시 배포 기간
118447966 API 런타임 MP 출시 180608_07의 자바스크립트 콜아웃 오류
117549719 API 런타임 요청 URI와 프록시 기본 경로 간 불일치
117219520 API 런타임 MessageLogging: Syslog 로거가 잘못된 날짜 형식을 기본값으로 사용하며 밀리초를 잘못 표시함
117116435 API 런타임 자바스크립트 파일의 간헐적인 오류
117091520 API 런타임 메시지 프로세서 출시 18.06.08 이후 JavaCalls 실패
116165318 API 런타임 동일한 번들의 동시 배포로 인해 RepositoryException이 발생함
116055025 Configstore 서비스 부팅 후 메시지 프로세서에 가상 호스트 및 애플리케이션이 없음
115614498 API 런타임 OPDK에서의 ILB 지원 필요

이 수정사항은 다음 Private Cloud용 Edge 출시에 포함될 예정입니다.

113972537 API 런타임 여러 P1 - Trireme 프록시의 Node.js 코드에서 NullPointerException이 발생함 - 500 내부 서버 오류
113904969 Apigee 지원 데모 조직에서 API 프록시 삭제 관련 문제
113554802 API 런타임 NullPointerException과 함께 SAML 어설션 유효성 검사 실패
113315737 관리 서버 Zookeeper에서 배포 레코드 누락으로 인해 프록시 배포에 실패했습니다.
112767195 API 런타임 KVM 정책에 액세스하는 동안 간헐적인 Datastore 오류
112162179 API 런타임 자바스크립트 객체를 문자열화하지 않고 캐싱하면 교착 상태가 발생할 수 있음
111860576 API 런타임 할당량 정책에 누락된 오류
111671525 호스팅된 대상 호스팅된 대상의 비성공 응답 코드가 프록시에서 결함 흐름을 트리거함
111523933 확장 프로그램(커넥터) 확장 콜아웃 정책 캐싱 문제
111420263 API 런타임 MessageLogging의 ConcurrentModification 예외
110843526 관리 서버 흐름 후크 생성/업데이트를 위한 Management API가 공유 흐름을 검증해야 함
110805739 API 런타임 Reuserefreshtoken이 true이고 갱신 토큰 만료가 명시적으로 설정되지 않은 경우 CPS 흐름에서 TTL이 -1로 설정되지 않음
110429629 API 런타임 BasicAuthentication 정책이 DebugSession에 request.headers.Authorization 변수를 내보냅니다.
110425503 API 런타임 Nginx 새로고침으로 인해 MP 가용성 문제
110311540 API 런타임 MP가 종료될 때 NPE
110161455 API 런타임 AccessEntity는 CPS 조직의 모든 앱을 가져오는 대신 앱 이름별 가져오기를 사용해야 함
90695522 API 런타임 context.proxyRequest.asForm이 java.lang.ArrayIndexOutOfBoundsException: 1을 생성함
79734096 관리 서버 프록시의 감사 로그가 더 이상 프록시를 필터링하지 않음
78105568 관리 서버 배포된 공유 흐름을 업데이트한 후 공유 흐름 배포가 /org/{org}/sharedflows/{sharedflow}/deployments 관리 API 호출에 표시되지 않음
77528868 트리렘 트라임 회귀: 스크립트 server.js가 상태 코드 -1과 함께 종료됨: 속성 0을 찾을 수 없음
73766568 API 런타임 170213_02에서 171117_01로 업그레이드하여 Trireme/Node 타겟을 사용하는 프록시의 지연 시간이 크게 증가했습니다.
72710481 API 런타임 CacheServiceImpl/CacheMemoryLimiter NullPointerException
68861063 API 런타임 라우터 종료 중 NPE 처리
68833699 API 런타임 때때로 API 프록시에 관한 정보가 API 분류 트리에서 삭제되지 않음
67377575 호스팅된 대상 분석 레코드와 Node.js 프록시에서 고객에게 전송되는 레코드 간 불일치
112481174 호스팅된 대상 터보 오류로 인해 프록시 배포 취소에 실패하지 않음
117171470 호스팅된 대상 잘못된 app.yaml 오류 메시지 수정
67169139 API 런타임 MessageLogging 정책 syslog 타임스탬프 형식이 올바르지 않음
67165418 API 런타임 라이선스보다 적은 수의 메시지를 사용하더라도 더 많은 메시지 프로세서가 사용되고 있다는 라이선스 오류

이 수정사항은 다음 Private Cloud용 Edge 출시에 포함될 예정입니다.

67165195 API 런타임 ValidateSAMLAssertion이 서명된 응답에 삽입된 어설션의 서명을 확인하지 않음
66214414 API 런타임 currentstep.flowstate 변수는 공유 흐름에서 참조될 때 항상 \"SHARED_FLOW\"를 반환합니다.
65731656 API 런타임 동일한 요청에 대해 Threat Protection API가 간헐적으로 실패함
133197060 API 런타임 MP에서 대상으로 57 게이트웨이 시간 초과 가져오기
110535186 API 런타임 응답 요소가 없는 서비스 콜아웃 및 프록시를 가리키는 HTTPTargetConnection: SOMETIMES 호출 없음
132443137 API 런타임 X-Apigee-*로 시작하는 헤더를 무시하도록 메시지 프로세서 동작을 변경합니다. 따라서 X-Apigee-* 헤더를 사용하는 모든 코드를 리팩터링하고 이러한 헤더를 지원되는 헤더로 교체해야 합니다.
125709964 API 런타임 purgeChildEntry가 예상대로 작동하지 않는 캐시 무효화