안티패턴: 소스 제어 관리를 사용하지 않고 Edge 리소스 관리

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

Apigee Edge는 다양한 유형의 리소스를 제공하며 각 리소스는 서로 다른 용도로 사용됩니다. Edge UI, 관리 API 또는 관리 API를 사용하는 도구를 통해서만 그리고 기본 요건 역할 및 권한이 있는 사용자만 구성할 수 있는 특정 리소스가 있습니다 (생성, 업데이트, 삭제). 예를 들어 특정 조직에 속한 조직 관리자만 이러한 리소스를 구성할 수 있습니다. 즉, 이러한 리소스는 개발자 포털을 통해 최종 사용자가 구성할 수 없으며 그 외에 다른 어떤 방법으로도 구성할 수 없습니다. 이러한 리소스는 다음과 같습니다.

  • API 프록시
  • 공유 흐름
  • API 제품
  • 캐시
  • KVM
  • 키 저장소 및 트러스트 저장소
  • 가상 호스트
  • 대상 서버
  • 리소스 파일

이러한 리소스에는 액세스 권한이 제한되어 있지만, 권한이 있는 사용자가 리소스를 수정하면 수정이 수행된 경우 새로운 데이터가 간단히 이전 데이터를 덮어씁니다. 이러한 리소스는 현재 상태에 따라서만 Apigee Edge에 저장되기 때문입니다. 이 규칙의 주된 예외는 API 프록시와 공유 흐름입니다.

버전 제어 환경에서 API 프록시 및 공유 흐름

API 프록시와 공유 흐름은 버전을 통해 관리, 즉 생성, 업데이트, 배포됩니다. 버전 번호는 순차적으로 지정되므로 새 변경사항을 추가하고 새 버전으로 저장하거나 이전 버전의 API 프록시/공유 흐름을 배포하여 변경사항을 되돌릴 수 있습니다. 어떤 버전에 다른 기본 경로가 없는 한, 환경에 배포된 API 프록시/공유 흐름은 어떤 시점에서나 한 가지 버전만 존재할 수 있습니다.

API 프록시와 공유 흐름은 버전을 통해 관리되지만 기존 버전을 수정하면 이전 변경사항을 간단히 덮어쓰므로 롤백할 수 있는 방법이 없습니다.

감사 및 기록

Apigee Edge는 문제 해결 시나리오에 유용한 감사API, 제품, 조직 기록 기능을 제공합니다. 이러한 기능을 사용하면 특정 작업 (만들기, 읽기, 업데이트, 삭제, 배포, 배포 취소)을 수행한 사용자와 Edge 리소스에서 작업이 수행된 시간과 같은 정보를 볼 수 있습니다. 그러나 Edge 리소스에서 업데이트 또는 삭제 작업이 수행되면 감사에서 이전 데이터를 제공할 수 없습니다.

안티패턴

소스 제어 시스템을 사용하지 않고 Edge UI 또는 관리 API를 통해 위에 나열된 Edge 리소스 관리

Apigee Edge가 수정 또는 삭제 후에 리소스를 이전 상태로 복원할 수 있다는 오해가 있습니다. 하지만 Edge Cloud는 리소스를 이전 상태로 복원하지 않습니다. 따라서 실수로 삭제하거나 변경사항을 롤백해야 하는 상황에서 이전 데이터를 신속하게 복원할 수 있도록 Edge 리소스와 관련된 모든 데이터가 소스 제어 관리를 통해 관리되는지 확인하는 것은 사용자의 책임입니다. 이 데이터가 런타임 트래픽에 필요한 프로덕션 환경에서 이는 특히 중요합니다.

소스 제어 시스템을 통해 데이터를 관리하지 않을 때 의도적으로 또는 의도치 않게 데이터가 수정 또는 삭제되는 경우 발생할 수 있는 상황과 그로 인한 영향을 몇 가지 예시를 들어 설명해 보겠습니다.

예시 1: API 프록시 삭제 또는 수정

API 프록시가 삭제되거나 기존 버전에 변경사항이 배포되면 이전 코드를 복구할 수 없습니다. API 프록시에 Apigee 외부의 소스 제어 관리 (SCM) 시스템에서 관리되지 않는 자바, 자바스크립트, Node.js 또는 Python 코드가 포함된 경우 많은 개발 작업과 노력이 손실될 수 있습니다.

예시 2: 특정 가상 호스트를 사용한 API 프록시 결정

가상 호스트의 인증서가 만료되어 가상 호스트에 업데이트가 필요합니다. API 프록시가 많으면 테스트 목적으로 해당 가상 호스트를 사용하는 API 프록시를 식별하기 어려울 수 있습니다. Apigee 외부의 SCM 시스템에서 API 프록시를 관리하면 저장소를 쉽게 검색할 수 있습니다.

예시 3: 키 저장소/트러스트 저장소 삭제

가상 호스트 또는 대상 서버 구성에서 사용하는 키 저장소/트러스트 저장소가 삭제되면 인증서나 비공개 키를 포함한 키 저장소/트러스트 저장소의 구성 세부 정보가 소스 제어 시스템에 저장되어 있지 않은 한 복원 할 수 없습니다.

영향

  • Edge 리소스가 삭제된 경우 Apigee Edge에서 리소스와 콘텐츠를 복구할 수 없습니다.
  • API 요청이 예상치 못한 오류로 인해 실패하여 리소스가 이전 상태로 복원될 때까지 중단될 수 있습니다.
  • API 프록시와 Apigee Edge의 다른 리소스 간의 상호 종속 항목을 검색하기는 어렵습니다.

권장사항

  • 지속적 통합 및 지속적 배포 (CICD) 파이프라인과 결합된 모든 표준 SCM을 사용하여 API 프록시 및 공유 흐름을 관리할 수 있습니다.
  • API 제품, 캐시, KVM, 대상 서버, 가상 호스트, 키 저장소 등 다른 Edge 리소스를 관리하는 데 모든 표준 SCM을 사용합니다.
    • 기존 Edge 리소스가 있으면 관리 API를 사용하여 구성 세부정보를 JSON/XML 페이로드로 가져와 소스 제어 관리에 저장합니다.
    • 소스 제어 관리에서 이러한 리소스의 모든 새 업데이트를 관리합니다.
    • 새 Edge 리소스를 만들거나 기존 Edge 리소스를 업데이트해야 하는 경우에는 소스 제어 관리에 저장된 적절한 JSON/XML 페이로드를 사용하고 관리 API를 사용하여 Edge에서 구성을 업데이트합니다.

* 암호화된 KVM은 API에서 일반 텍스트로 내보낼 수 없습니다. 암호화된 KVM에 저장되는 값에 대한 기록을 유지하는 것은 사용자의 책임입니다.

추가 자료