이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서를 보세요.
이 섹션에서는 환경 및 환경 그룹을 설명합니다.
개요
Apigee 환경은 조직 내에서 API 프록시를 생성 및 배포하는 소프트웨어 환경입니다. 환경에 액세스하려면 API 프록시를 환경에 배포해야 합니다. API 프록시를 단일 환경 또는 여러 환경에 배포할 수 있습니다.
각 환경에는 배포할 수 있는 API 프록시, 공유 흐름, 기타 리소스의 수에 대한 한도가 적용됩니다. 이러한 한도는 환경을 사용하는 Apigee 조직 유형(구독, 사용한 만큼만 지불 또는 하이브리드)에 따라 다릅니다. 자세한 내용은 한도 문서를 참조하세요.
환경 그룹(Apigee API에서는 envgroup이라고도 함)은 요청이 개별 환경으로 라우팅되는 방법을 정의하는 기본 메커니즘입니다. 호스트 이름은 개별 환경이 아닌 환경 그룹에서 정의하고 Apigee는 해당 호스트 이름 정의를 사용하여 그룹 내의 환경으로 요청을 라우팅합니다.
환경 내에 배포된 프록시에 액세스하려면 먼저 환경이 하나 이상의 환경 그룹 구성원이어야 합니다. 즉, 환경을 그룹에 할당한 후에 그룹을 사용할 수 있습니다.
환경 그룹별로 환경을 논리적으로 그룹화하면 다음과 같은 이점이 있습니다.
- 중앙화된 호스트 이름 관리: 환경 그룹은 호스트 이름을 관리할 수 있는 중앙 집중식 공간을 제공합니다.
- 집계 통계: 그룹을 사용하면 개별 환경이 아닌 전체 환경 그룹의 보고서를 보고 한 번에 오류를 분석할 수 있습니다.
- 충돌 방지: 환경을 그룹화하면 배포된 프록시의 기본 경로가 동일한 호스트 이름으로 존재하는지 확인할 수 있습니다.
지원되는 배포 유형
Apigee는 환경에서 다음 배포 유형을 지원합니다.
유형 | 설명 |
프록시 | Apigee 개발 환경에서 API 프록시를 개발 및 테스트한 후 이를 Apigee 통합 테스트 및 프로덕션 환경에 배포합니다. API 프록시 배포를 참조하세요. |
Archive | VS Code에서 Apigee를 사용하여 프로그래밍 가능한 API 프록시를 개발하고 테스트합니다. |
보관 파일 배포를 통해 차단된 작업 요약
Apigee 환경에서 보관 파일 배포를 사용 설정하면 충돌을 방지하기 위해 환경에서 다음 작업이 수행되지 않습니다.
- Apigee UI에서는 API 프록시 배포에 설명된 대로 배포 상태를 보거나, 확인하거나, 보관 파일 배포를 관리할 수 없거나, 디버그 사용에 설명된 대로 디버그 UI를 사용할 수 있습니다. 이 문제를 해결하려면 gcloud 또는 API를 사용하여 환경의 모든 보관 파일 배포 나열 및 디버그 API를 사용하면 됩니다.
- Apigee UI, API, gcloud를 사용하여 리소스 파일 또는 대상 서버를 만들거나 업데이트하거나 삭제할 수 없습니다.
- 지금은 서비스 계정을 사용한 Google 인증은 지원되지 않습니다.
위에 나열된 금지된 작업을 수행하려고 하면 작업이 실패하며 다음 오류 메시지가 표시됩니다.
FAILED_PRECONDITION
프록시 배포 단위
프록시 배포 단위는 리전별로 환경에 배포된 프록시 및 공유 흐름을 계산합니다.
배포 단위 유형은 다음과 같습니다.
- 표준 프록시 배포 단위는 표준 프록시 자격이 있는 현재 배포된 프록시 수를 계산합니다.
- 확장 가능한 프록시 배포 단위는 확장 가능한 프록시 자격이 있는 현재 배포된 프록시 수를 계산합니다.
- 공유 흐름 배포 단위는 배포된 공유 흐름 수를 계산합니다.
사용량에는 한 번에 사용할 수 있는 배포 단위 수에 대한 한도인 배포 할당량이 적용될 수 있습니다. 자세한 내용은 사용 권한(Pay-as-you-go 또는 구독 2024)을 참조하세요. 시스템 한도에 대한 자세한 내용은 인스턴스당 최대 프록시 배포 단위를 참고하세요.
조직의 프록시 배포 단위 사용량과 배포 할당량 세부정보를 보는 방법에 대한 자세한 내용은 프록시 배포 사용량 보기를 참조하세요.
환경 유형
사용한 만큼만 지불 사용자의 경우 환경을 만들 때 환경 유형(기본, 중급 또는 고급)을 선택합니다. 환경과 관련된 특성, 기능, 비용은 환경 유형에 따라 달라집니다. 자세한 내용은 사용한 만큼만 지불 환경 유형 및 사용한 만큼만 지불 사용 권한을 참조하세요.
구독 요금제의 경우 환경 유형은 항상 고급이며 환경 유형에 대해 알 필요가 없습니다.
전달 프록시
Apigee는 지정된 URI로의 트래픽 전달을 지원합니다. 이 기능은 환경 수준에서 적용되며 프록시에서 최초 처리 후 인터넷으로 트래픽을 전달하는 데 사용될 수 있습니다.
구성된 환경에서 프록시로 들어오는 요청은 포함된 정책을 모두 처리한 후(전달 프록시 기능 지원 참조) HTTP를 사용하여 새 URI로 전달합니다.
환경의 전달 프록시 설정을 변경하면 새 요청에만 즉시 적용됩니다. 이미 처리 중인 요청은 요청 수신 시점에 적용된 설정으로 완료됩니다.
전달 프록시를 구성하는 방법은 환경에서 전달 프록시 구성을 참조하세요.
전달 프록시 기능 지원
정식 출시된 프록시 기능 중 일부는 전달 프록시와 동일한 사용성 또는 적용 범위를 갖지 않을 수 있습니다.
Apigee는 현재 Apigee Hybrid를 제외하고 전달 프록시로 기본 인증을 지원하지 않습니다.
다음 표에서는 추가 기능 지원을 보여줍니다.
기능 또는 정책 | 전달 프록시 지원/적용 여부 |
대상 엔드포인트 | 예 |
HTTP 상태 점검 | 예 |
서비스 콜아웃 | 예 |
자바스크립트로 HTTP 호출 | 예 |
통합 대상 | 예 |
로컬 루프백으로 프록시 체인 | 아니요 |
메시지 게시 | 아니요 |
Cloud Logging | 아니요 |
동기화 담당자와 통신 | 아니요 |
Syslog를 통한 메시지 로깅 | 아니요 |
전달 프록시 제한사항
현재 외부 잠재고객을 통한 GoogleToken은 전달 프록시에서 지원되지 않습니다.
핵심 사항
환경, 조직, 환경 그룹에 대해 기억해야 할 요점은 다음과 같습니다.
요소 | 규칙 |
---|---|
조직 |
|
환경 |
|
환경 유형 |
(환경 유형을 참조하세요.) |
환경 그룹 |
|
예시
다음 섹션에서는 환경 그룹 내에서 환경이 구조화되는 일반적인 방법을 설명합니다.
환경 그룹 1개 및 환경 1개
가장 단순한 구조는 단일 환경이 포함된 단일 환경 그룹입니다. 이는 현재 제품을 평가 중이거나 아직 테스트 또는 분석 인프라를 설정하지 않았거나 프로덕션에서 배포된 프록시가 없는 조직에서 일반적으로 발생합니다.
한 환경 그룹에 여러 환경
환경 그룹은 여러 환경을 포함할 수 있습니다. 아래 예시에는 3개의 환경(cart-prod, catalog-prod, payment-prod)이 포함된 단일 환경 그룹, prod-group이 있습니다.
환경 그룹에는 단일 호스트 이름 example.com
이 있습니다. 호스트 이름을 사용하여 환경에 배포된 프록시로 요청을 라우팅할 수 있습니다. 호스트 이름은 환경 그룹 수준에서 정의되며 특정 환경으로 라우팅되지 않습니다.
이 환경 그룹을 만드는 방법은 환경 그룹 작업을 참조하세요.
단일 환경으로 라우팅 제한
이전 예시에서는 단일 호스트 이름으로 세 가지 환경 모두의 프록시로 요청을 라우팅할 수 있습니다. 단일 환경(예: catalog-prod)의 프록시에 대한 액세스를 제한하려면 catalog-prod 환경만 포함된 다른 환경 그룹을 만듭니다. 그러면 해당 환경 그룹에 정의된 호스트 이름은 catalog-prod에만 액세스할 수 있습니다.
아래 예시에서 환경 그룹 catalog-prod-group의 호스트 이름 catalog.example.com
은 catalog-prod 환경의 프록시로만 요청을 라우팅할 수 있습니다.
그룹을 만들 준비가 되셨나요?
|
환경에 대해 자세히 알아보려면 다음 안내를 따르세요.
|
환경 그룹에 대해 자세히 알아보려면 다음 안내를 따르세요.
|
라우팅 및 기본 경로
간단한 구성에서는 배포된 API 프록시에 대한 요청이 호스트 이름, 기본 경로, API 리소스의 이름으로 구성됩니다. 예를 들면 다음과 같습니다.
https://www.example.com/shopping/cart/addItem |_____________| |___________| |_____| | | | hostname basepath resource
여러 환경에서 호스트 이름을 공유할 수 있도록 환경 그룹에 호스트 이름을 정의합니다. 기본 경로 및 API 리소스는 API 프록시에 정의됩니다.
기본 경로 및 API 리소스에 대한 상세 설명은 경로 이해를 참조하세요. 또한 흐름 구성 참조 및 흐름 변수 참조를 확인하여 이러한 구성요소들이 서로 어떻게 맞물려 들어가는지 자세히 알아보세요.
호스트 이름
환경 그룹을 만들 때 해당 그룹에 하나 이상의 호스트 이름을 연결합니다. 예를 들어 각각 자체 호스트 이름이 있는 다음과 같은 환경 그룹이 있을 수 있습니다.
환경 그룹 이름 (환경) |
prod-group (catalog-prod cart-prod pymnt-prod) |
dev-group (dev-env) |
test-group (test-env) |
---|---|---|---|
호스트 이름 | catalog.example.com payment.example.com |
dev.example.com | test.example.com |
프록시를 만들 때 프록시에서 기본 경로를 정의합니다.
그룹 내 환경에 프록시를 배포할 때 호스트 이름, 기본 경로, 리소스 이름이 함께 해당 프록시에 대한 API 요청의 엔드포인트를 정의합니다.
환경 그룹에서 호스트 이름을 두 개 이상 정의할 수 있습니다. 이러한 그룹은 모두 그룹의 모든 환경에 배포된 프록시를 호출하는 데 사용할 수 있습니다. 예를 들어 호스트 이름 catalog.example.com
와 payment.example.com
이 동일한 환경 그룹에 정의된 경우 catalog.example.com/proxy1
및 payment.example.com/proxy1
은 모두 proxy1
리소스를 호출합니다.
라우팅 예시
예를 들면 다음과 같습니다.
-
prod-group
환경 그룹에는 다음과 같은 환경이 포함됩니다.catalog-prod
cart-prod
pymnt-prod
-
prod-group
에는 다음과 같은 호스트 이름이 정의되어 있습니다.catalog.example.com
payment.example.com
다음 프록시가 이러한 환경에 배포됩니다.
- 기본 경로가
/catalog
인catalog-prod
의catalog
프록시 - 기본 경로가
/catalog/cart
인cart-prod
의cart
프록시 - 기본 경로가
/payment
인pymnt-prod
의payment
프록시
- 기본 경로가
그러면 다음 엔드포인트가 생성됩니다.
catalog.example.com/catalog
는catalog-prod
환경에서catalog
프록시로 라우팅됩니다.catalog.example.com/catalog/cart
는cart-prod
환경에서cart
프록시로 라우팅됩니다.payment.example.com/payment
는pymnt-prod
환경에서payment
프록시로 라우팅됩니다.
다음 예시는 요청이 호스트 이름 및 기본 경로와 일치하는 그룹 내의 환경에 배포된 다양한 프록시로 라우팅되는 것을 보여줍니다.
공유 환경 및 라우팅
환경은 여러 환경 그룹에 속할 수 있습니다. 이러한 환경에 프록시를 배포하면 프록시는 여러 주소를 갖게 됩니다(환경에 속한 각 환경 그룹에 하나씩). 이는 고객에게 여러 파트너의 와일드 카드 인증서(예: *.example.com)가 있는 경우에 유용합니다.
예:
shared-env
가 두 환경 그룹에 속합니다.- 호스트 별칭이
api.partner-1.com
인partner-1
- 호스트 별칭이
api.partner-2.com
인partner-2
- 호스트 별칭이
- 프록시
foo
는 기본 경로/foo
를 사용하는shared-env
에 배포됩니다.shared-env
는 두 환경 그룹에서 공유되기 때문에foo
에 2개의 주소가 있습니다.api.partner-1.com/foo
api.partner-2.com/foo
두 호스트 이름 모두 동일한 환경으로 라우팅됩니다. 이렇게 하면 각 환경 그룹에 고유한 도메인 이름이 제공됩니다. Apigee Hybrid의 경우 이 시나리오에서 각 파트너에 대해 서로 다른 인증서로 mTLS를 사용할 수 있습니다.
환경 범위 정보
조직은 일부 Apigee 기능에 대한 범위를 제공합니다. 예를 들어 키-값-맵(KVM) 데이터를 조직 수준에서 사용할 수 있습니다. 즉, 해당 조직 내 모든 환경에 배포된 API 프록시는 동일한 KVM 데이터를 얻을 수 있습니다.
마찬가지로, 일부 기능은 조직 내 환경 또는 환경 그룹으로 범위가 지정될 수 있습니다. 예를 들어 Apigee 분석 데이터는 조직, 환경, (최종) 환경 그룹 조합으로 파티션이 나뉩니다.
고려사항
환경에 대한 모든 배포는 해당 환경이 연결된 모든 환경 그룹의 트래픽 라우팅에 영향을 미칠 수 있습니다. 새 기본 경로가 추가되면 완전히 새로운 트래픽을 캡처하거나 기존 배포에서 이미 처리 중인 기존 트래픽의 하위 집합을 캡처하기 시작할 수 있습니다.
마찬가지로 기본 경로가 삭제되면 더 이상 트래픽을 수신하지 않는 엔드포인트에 대응하거나 기존 트래픽이 다른 프록시로 다시 라우팅될 수 있습니다. 트래픽이 다시 라우팅되면 같은 환경의 프록시로 라우팅되거나 여러 환경에서 단일 환경 그룹을 공유하는 경우 다른 환경의 프록시로 라우팅될 수 있습니다.
환경 또는 환경 그룹에 추가된 API 프록시 기본 경로의 총 개수도 고려해야 합니다. 최적의 성능을 위해 Apigee 환경 또는 환경 그룹당 API 프록시 기본 경로를 3,000개 이하로 사용하는 것이 좋습니다. 이 권장사항을 초과하면 모든 신규 및 기존 API 프록시 배포의 지연 시간이 늘어날 수 있습니다.
추가 리소스
다음 정보는 환경 및 환경 그룹을 관리하는 방법을 설명합니다.
-
Apigee UI 사용:
-
Apigee API 사용: