이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서 보기
API 프록시 개발자는 일반적으로 하나 이상의 Apigee 데이터 지속성 메커니즘을 사용하여 구성 데이터를 저장하므로 나중에 API 프록시에서 액세스할 수 있습니다. 이 주제에서는 사용 사례에 따라 적절한 지속성 메커니즘을 선택하는 방법을 설명합니다.
지속성 메커니즘
다음 표에서는 Apigee에서 사용할 수 있는 지속성 메커니즘을 간략하게 설명합니다.메커니즘 | 사용 |
---|---|
키-값 맵 | 키-값 맵(KVM)은 주기적으로 변경될 수 있는 데이터의 일반 런타임 저장소를 제공합니다. 예를 들어 사용자 세션 데이터, 장바구니 등이 있습니다. KVM 항목은 암호화할 수 있습니다. 키-값 맵 사용도 참조하세요. |
속성 집합 | 속성 집합은 자주 변경되지 않는 구성 데이터를 저장하는 데 유용합니다. 속성 세트 사용도 참조하세요. |
Kubernetes 보안 비밀 | (Apigee Hybrid 전용) 보안 비밀을 사용하여 사용자 인증 정보와 같은 민감한 정보를 저장합니다. Kubernetes 보안 비밀에 데이터 저장도 참조하세요. |
지속성 메커니즘의 범위
사용 가능한 각 지속성 메커니즘에는 저장된 데이터에 액세스할 수 있는 위치를 결정하는 특정 범위가 있습니다. 다음 표에는 각 지속성 메커니즘에 사용 가능한 범위가 요약되어 있습니다. 범위에 대한 자세한 내용은 지속성 범위 정보 및 속성 집합 범위를 참조하세요.
조직 | 환경 | API 프록시 | |
---|---|---|---|
키-값 맵 | 예 | 예 | 예 |
속성 집합 | 아니요 | 예 | 예 |
Kubernetes 보안 비밀 | 아니요 | 예 | 아니요 |
사용할 지속성 메커니즘 결정
이 섹션에서는 구성 데이터를 저장하는 가장 적합한 방식을 결정하는 데 도움이 되는 각 지속성 메커니즘의 사용 사례를 설명합니다.
키-값 맵을 사용하는 경우
Apigee는 KVM 데이터 저장, 업데이트, 삭제를 위한 API를 제공하지 않습니다. KeyValueMapOperations 정책을 사용하여 이 작업을 수행해야 합니다. 이 정책을 사용하면 프록시가 실행될 때 런타임 시 KVM 작업을 수행할 수 있습니다.
다음과 같은 경우 KVM을 사용하는 것이 좋습니다.
- 수천, 수천, 수백만 개의 키-값 맵 항목이 있습니다(문서 KVM 크기 제한까지 제한).
- 설계 시점에 알 수 없는 항목이 있습니다.
예를 들어 KVM을 사용하여 사용자가 로그인할 때 사용자 세션 데이터를 저장하고 사용자가 로그아웃할 때 이 데이터를 삭제합니다.
속성 집합을 사용하는 경우
다음의 경우에 속성 집합을 사용하는 것이 좋습니다.
- 키와 값이 설계 시점에 알려져 있는 경우입니다. API 프록시가 실행 중인 경우 API 프록시로 속성 집합 값을 변경할 수 없습니다. 키와 값은 프록시 흐름에서 읽기 전용 변수로 사용할 수 있습니다.
- 몇 개부터 수백 개의 키(총 110KB 미만)가 있는 경우입니다. 속성 세트 키와 값은 항상 메모리에 저장되어 빠르게 액세스할 수 있습니다.
- 관리자가 API 프록시를 재배포하지 않고도 환경의 속성 집합을 변경할 수 있도록 하려는 경우입니다.
예를 들어 속성 집합은 라우팅 규칙을 저장하는 데 적합합니다. 라우팅 규칙은 값이 대상 엔드포인트 URL인 키-값 쌍입니다. 이러한 값은 일반적으로 환경마다 다르며 환경에 배포된 여러 API 프록시에서 공유될 수 있습니다. 또한 속성 세트는 공개 키와 인증서를 저장하는 데 적합합니다.
Kubernetes 보안 비밀을 사용하는 경우
이 옵션은 Apigee Hybrid에만 제공됩니다. 이를 통해 API 프록시는 Kubernetes 보안 비밀에 저장된 데이터에 액세스할 수 있습니다. 이 옵션은 실행 중인 프록시 내에서 저장된 데이터를 메시지 흐름 변수로 사용할 수 있는 속성 집합과 유사합니다. 하지만 데이터는 항상 런타임 영역 내에 유지되며 Apigee 클라우드의 관리 영역으로 설정되지 않습니다.
Kubernetes 보안 비밀을 사용할 수 있는 경우는 다음과 같습니다.
- 관리 영역에 저장하고 싶지 않은 민감한 정보를 저장해야 하는 경우입니다. 예를 들어 Kubernetes 보안 비밀을 사용하여 외부 시스템에 액세스하는 데 필요한 비공개 키 또는 사용자 인증 정보를 저장할 수 있습니다.
- 저장된 데이터를 동일한 환경에 배포된 여러 API 프록시와 공유해야 하는 경우입니다.