향상된 프록시 한도

개요

새 Apigee Hybrid 조직은 환경당 50개가 넘는 프록시를 배포할 수 있는 기능으로 프로비저닝할 수 있습니다. 이 기능은 Apigee X에서도 사용할 수 있습니다.

  • 조직당 배포된 API 프록시 및 공유 흐름의 최대 개수는 6,000개입니다.
  • Apigee 인스턴스당 최대 프록시 배포 단위 수는 6,000개입니다.
  • Apigee 조직당 최대 API 기본 경로는 3,000개입니다.

환경에 배포된 프록시가 50개를 초과하면 Apigee는 환경을 각각 환경에 배포된 프록시의 하위 집합을 포함하는 여러 개의 고유한 복제 세트로 자동으로 분할합니다. 이러한 복제 하위 집합은 프록시 및 기타 환경 리소스 세트를 로드하고 실행하는 방식에서 단일 환경과 동작이 동일합니다. 이는 사용자에게 투명하며 단일 환경과 마찬가지로 환경을 계속 사용할 수 있습니다.

프로비저닝

환경당 향상된 프록시 수를 사용하여 새 조직을 프로비저닝하려면 다음 단계를 따르세요.

  1. Apigee 담당자에게 프로젝트 ID와 조직 이름을 제공하여 향상된 프록시 한도를 설정합니다.
  2. Apigee Hybrid 설치 안내에 따라 하이브리드 조직을 프로비저닝합니다. 재정의 파일에서 enhanceProxyLimits 최상위 속성을 추가합니다.
    enhanceProxyLimits: true
    

    모든 환경 그룹의 apigee-org 차트와 apigee-virtualhost 차트를 업데이트하여 enhanceProxyLimits에 변경사항을 적용합니다.

  3. 프록시를 만들고 배포합니다.
  4. 향상된 프록시 한도가 사용 설정되어 있는지 확인합니다.
    1. Apigee 네임스페이스의 configmap 이름을 가져옵니다.
      kubectl get configmap -n APIGEE_NAMESPACE

      출력은 다음과 비슷하게 표시됩니다.

      NAME                                                             DATA   AGE
      ...
      apigee-synchronizer-hybr-example-env-dggroupconfi-bc7726a       3      12m
      ...
    2. 이름이 지정된 configmap을 확인합니다.
      kubectl get configmap -n APIGEE_NAMESPACE CONFIGMAP_NAME -o yaml

      여기서 CONFIGMAP_NAME은 이전 단계의 configmap 이름입니다.

      출력은 다음과 비슷하게 표시됩니다.

      kubectl get configmap -n apigee apigee-synchronizer-hybr-example-env-dggroupconfi-bc7726a -o yaml
      apiVersion: v1
      data:
      contract.revid: "2"
      contract.uid: 4a792429-20fb-4b29-bed3-3f8ce7b3353e
      deploymentGroups: auto-2ecde5ae-04
      kind: ConfigMap
      metadata:
      creationTimestamp: "2024-05-15T20:04:26Z"
      labels:
          apigee.cloud.google.com/platform: apigee
      name: apigee-synchronizer-hybr-test-env-dggroupconfi-bc7726a
      namespace: apigee
      ownerReferences:
      - apiVersion: apigee.cloud.google.com/v1alpha2
          blockOwnerDeletion: true
          controller: true
          kind: ApigeeEnvironment
          name: hybrid-dev--test-env-4f37f70
          uid: 696e84ec-5c54-4858-a2e0-e36db5ff3506
      resourceVersion: "2520100"
      uid: b297bd33-300a-48cf-bf85-6c7cd0ff288f
      
  5. 하위 문자열 auto가 포함된 런타임 포드가 있는지 확인합니다.
    kubectl get pods -n APIGEE_NAMESPACE | grep auto

    출력은 다음과 비슷하게 표시됩니다.

    kubectl get pods -n apigee | grep auto
    apigee-runtime-hybr-test-env-auto-2ecde5a-bca5298-4gsrw   1/1     Running     0                98m

제한사항

Apigee는 새로 만든 조직에만 향상된 프록시 한도를 제공합니다. 향상된 프록시 한도를 사용하도록 기존 조직을 변환하는 기능이 지원됩니다.

향상된 프록시 한도가 사용 설정되지 않은 상태에서 생성된 조직의 백업은 이 기능이 사용 설정된 상태에서 생성된 조직으로 복원할 수 없습니다.

알려진 문제

  • 프록시 체이닝:
    • mTLS를 사용한 프록시 체이닝은 지원되지 않습니다. 알려진 문제 392135466을 참고하세요.
    • 가상 호스트가 여러 개인 경우 ApigeeRoute 이름이 충돌하여 Helm 출시 생성에 실패할 수 있습니다. 해결 방법은 각 환경 그룹의 apigee-virtualhost 차트를 설치하거나 업그레이드할 때 모든 가상 호스트에 대해 다음 명령어를 실행하는 것입니다.
      kubectl annotate ar apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite
      kubectl annotate cert apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite

      각 항목의 의미는 다음과 같습니다.

      • PROJECT_ID_SUFFIX는 Kubernetes에서 프로젝트의 내부 체이닝을 위한 고유한 접미사입니다. 다음 명령어를 사용하여 이 접미사를 찾을 수 있습니다.
        kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining

        출력은 다음과 같이 표시할 수 있습니다.

        kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining
        apigee-ingressgateway-internal-chaining-my-project--1234567    ClusterIP  34.118.226.140  <none>    15021/TCP,443/TCP    5d6h

        예시 출력에서 my-project--1234567PROJECT_ID_SUFFIX입니다.

      • APIGEE_NAMESPACE: Apigee 네임스페이스
      • NEW_ENV_GROUP_NAME은 추가 환경 그룹의 이름입니다. 각 가상 호스트에 대해 이 값을 업데이트합니다.

      알려진 문제 384937220을 참고하세요.

문제 해결

증상 해결 방법
디버그 세션에 요청이 표시되지 않습니다. 승인 흐름 설정의 단계에 따라 Apigee 런타임 서비스 계정의 권한을 확인합니다.