Azure API Management 인스턴스의 용량
적용 대상: 개발자 | 기본 | 기본 v2 | 표준 | 표준 v2 | 프리미엄 | 프리미엄 v2
API Management는 Azure Monitor 메트릭을 제공하여 시스템 용량 사용을 검색하고 게이트웨이 문제를 해결하고 더 많은 부하를 수용하기 위해 API Management 인스턴스를 크기 조정하거나 업그레이드할지에 대한 합리적 결정을 내리는 데 도움을 줍니다.
이 문서에서는 용량 메트릭과 그 작동 방식을 설명하고, Azure Portal에서 용량 메트릭에 액세스하는 방법을 보여 주며, API Management 인스턴스의 크기를 조정 또는 업그레이드해야 하는 시기를 제안합니다.
참고 항목
현재 이 기능은 작업 영역에서 사용할 수 없습니다.
Important
이 문서에서는 용량 메트릭을 기반으로 Azure API Management 인스턴스를 모니터링하고 크기 조정하는 방법을 소개합니다. 그러나 인스턴스가 용량에 도달하면 오버로드를 방지하기 위해 제한하지 않습니다. 대신 오버로드된 웹 서버처럼 작동하여 대기 시간이 증가하고, 연결이 끊어지고, 시간 제한 오류가 발생합니다. API 클라이언트는 다른 외부 서비스에서와 마찬가지로 다시 시도 정책을 사용하는 등의 방법으로 이러한 문제를 처리할 준비가 되어 있어야 합니다.
필수 조건
이 문서의 단계를 따르려면 용량 메트릭을 지원하는 계층 중 하나에 API Management 인스턴스가 있어야 합니다. 자세한 내용은 Azure API Management 인스턴스 만들기를 참조하세요.
사용 가능한 용량 메트릭
v2 서비스 계층과 클래식 계층에서는 다양한 용량 메트릭을 사용할 수 있습니다.
v2 계층에서는 다음과 같은 메트릭을 사용할 수 있습니다.
게이트웨이의 CPU 백분율 - 게이트웨이 장치에서 사용하는 CPU 용량의 백분율입니다.
게이트웨이의 메모리 용량 비율 - 게이트웨이 장치에서 사용하는 메모리 용량의 백분율입니다.
이러한 메트릭에 대해 사용 가능한 집계는 다음과 같습니다.
- 평균 - API Management 인스턴스의 모든 단위에서 게이트웨이 프로세스에서 사용된 용량의 평균 백분율입니다.
- 최대 - 가장 큰 사용량이 발생하는 게이트웨이 프로세스의 용량 백분율입니다.
CPU 및 메모리 사용량은 다음을 통해 리소스 사용량을 나타냅니다.
- 요청 처리와 같은 API Management 데이터 평면 서비스(요청 전달 또는 정책 실행을 포함할 수 있음)
- Azure Portal 또는 Azure Resource Manager를 통해 적용되는 관리 작업 또는 개발자 포털에서 오는 부하와 같은 API Management 관리 영역 서비스.
- 선택된 운영 체제 프로세스(새 연결에서의 TLS 핸드셰이크 비용을 포함하는 프로세스 포함)
- 인스턴스의 기본 컴퓨팅 리소스에 대한 OS 업데이트와 같은 플랫폼 업데이트.
- 추가 용량을 사용할 수 있는 활동에 관계없이 배포된 API의 수입니다.
용량 메트릭 동작
실제 생활에서 용량 메트릭은 다음과 같은 여러 변수의 영향을 받을 수 있습니다.
- 연결 패턴(요청 시 새 연결 대 기존 연결 재사용)
- 요청 및 응답의 크기
- 요청을 보내는 각 API 또는 클라이언트 수에 관해 구성된 정책
요청에 대한 작업이 복잡할수록 용량 소비는 더 많아집니다. 예를 들어, 복잡한 변환 정책은 간단한 요청 전달보다 훨씬 많은 CPU를 소비합니다. 백 엔드 서비스 응답이 느려도 문제가 심각해집니다.
Important
용량 메트릭은 처리 중인 요청 수를 직접적으로 측정하는 것이 아닙니다.
요청이 처리되지 않더라도 용량 메트릭이 일시적으로 급증하거나 0보다 클 수도 있습니다. 이런 현상은 시스템 또는 플랫폼 전용 작업으로 인해 발생하며 인스턴스 확장 여부를 결정할 때 고려하지 않아야 합니다.
용량 메트릭은 API Management 인스턴스의 문제를 표면화하도록 설계되었지만 이러한 메트릭을 변경해도 문제가 반영되지 않는 경우가 있습니다. 또한, 용량 메트릭 메트릭이 낮다고 해서 반드시 API Management 인스턴스에 문제가 없다는 것을 의미하지는 않습니다.
Azure Portal을 사용하여 용량 메트릭을 검사합니다.
포털의 메트릭을 통해 시간 경과에 따라 얼마나 많은 용량이 사용되는지 파악할 수 있습니다.
- Azure Portal에서 API Management 인스턴스로 이동합니다.
- 왼쪽 메뉴의 모니터링 아래에서 메트릭을 선택합니다.
- 사용 가능한 메트릭에서 게이트웨이의 CPU 백분율 또는 게이트웨이의 메모리 백분율 메트릭을 선택합니다. 기본 평균 집계를 선택하거나 최대 집계를 선택하여 최대 사용량을 확인합니다.
- 섹션 위쪽의 막대에서 원하는 시간 범위를 선택합니다.
Important
현재 용량 메트릭은 v2 계층의 인스턴스에 대한 포털에도 표시됩니다. 하지만 v2 계층에서는 사용할 수 없으며 값은 0입니다.
참고 항목
예상치 못한 상황이 발생할 때 알려주도록 메트릭 경고를 설정할 수 있습니다. 예를 들어, API Management 인스턴스가 예상 최대 CPU 또는 메모리 사용량을 20분 이상 초과하면 알림을 가져옵니다.
용량을 사용하여 크기 조정 결정
더 많은 부하를 수용하기 위해 API Management 인스턴스의 크기를 조정할지 여부를 결정하려면 용량 메트릭을 사용합니다. 다음은 일반적인 고려 사항입니다.
- 장기 추세와 평균을 살펴봅니다.
- 부하 증가와 관련이 없을 가능성이 높은 갑작스러운 급증은 무시합니다(설명은 용량 메트릭 동작 섹션 참조).
- 일반적으로 용량 메트릭 값이 장시간(예: 30분) 동안 60% - 70%를 초과하는 경우 인스턴스를 업그레이드하거나 크기 조정합니다. 서비스 또는 시나리오에 따라 다른 값이 더 적당할 수 있습니다.
- 인스턴스가 1개의 단위로만 구성된 경우 용량 메트릭 값이 장기간 40%를 초과하면 인스턴스를 업그레이드하거나 크기 조정합니다. 이 권장 사항은 기본 서비스 플랫폼에서 게스트 OS 업데이트를 위한 용량을 예약해야 하는 필요성을 기반으로 합니다.
팁
트래픽을 미리 예측할 수 있는 경우 예상되는 워크로드에서 API Management 인스턴스를 테스트합니다. 테넌트의 요청 로드를 점진적으로 늘리고 최대 로드에 해당하는 용량 메트릭 값을 모니터링할 수 있습니다. Azure Portal을 사용하여 특정 시간에 얼마나 많은 용량이 사용되는지 이해하려면 이전 섹션의 단계를 수행합니다.