API Management 랜딩 존 가속기에 대한 운영 관리 고려 사항
이 문서에서는 API Management 랜딩 존 가속기를 사용할 때 운영 관리에 대한 디자인 고려 사항 및 권장 사항을 제공합니다. 운영 관리는 다음을 비롯한 여러 측면을 다룹니다.
- API Management 인스턴스 프로비전, 크기 조정 및 모니터링
- 게이트웨이에서 정책 구성
- API 관리
- 비즈니스 연속성 및 재해 복구 준비
관리 디자인 영역에 대해 자세히 알아봅니다.
관리 및 모니터링
관리 및 모니터링을 위한 디자인 고려 사항
- 각 API Management 서비스 계층의 최대 처리량 한도를 알고 있어야 합니다. 이러한 제한은 근사치이며 보장되지 않습니다.
- API Management 서비스 계층당 최대 배율 단위 수를 알고 있어야 합니다.
- 규모 확장, 다른 지역에 배포 또는 다른 서비스 계층으로 변환하는 데 필요한 시간을 알고 있어야 합니다.
- API Management는 자동으로 확장되지 않습니다. 추가 구성이 필요합니다.
- 확장 이벤트 중에 가동 중지 시간이 없습니다.
- API Management의 게이트웨이 구성 요소만 다중 지역 배포의 모든 지역에 배포됩니다.
- 높은 부하에서 Application Insights 로깅의 가능한 성능 영향을 알고 있어야 합니다.
- 적용된 인바운드 및 아웃바운드 정책의 수와 성능에 미치는 영향에 유의하세요.
- API Management 정책은 코드이며 버전 제어를 받아야 합니다.
- API Management의 기본 제공 캐시는 동일한 API Management 서비스의 동일한 지역에 있는 모든 유닛에서 공유됩니다.
- 가용성 영역을 사용합니다. 선택한 배율 단위 수는 영역 전체에 균등하게 분산되어야 합니다.
- 자체 호스팅 게이트웨이를 사용하는 경우 자격 증명은 30일마다 만료되며 회전해야 합니다.
- URI
/status-0123456789abcdef
는 API Management 서비스의 일반적인 상태 엔드포인트로 사용할 수 있습니다. - API Management 서비스는 WAF가 아닙니다. 추가 보호 계층을 위해 앞에 Azure Application Gateway 같은 WAF를 배포합니다.
- 클라이언트 인증서 협상은 게이트웨이별 구성에서 사용하도록 설정됩니다.
- Key Vault의 인증서 및 비밀은 설정된 후 4시간 이내에 API Management에 업데이트됩니다. Azure Portal 또는 Management REST API를 사용하여 비밀을 수동으로 새로 고칠 수도 있습니다.
- 사용자 지정 도메인은 모든 엔드포인트 또는 하위 집합에만 적용할 수 있습니다. 프리미엄 계층은 게이트웨이 엔드포인트에 대한 여러 호스트 이름 설정을 지원합니다.
- API Management는 관리 REST API를 사용하여 백업될 수 있습니다. 30일 후 백업이 만료됩니다. API Management가 백업되지 않음을 알고 있어야 합니다.
- 명명된 값은 범위 내 전역입니다.
- API 작업은 제품 및 구독으로 그룹화할 수 있습니다. 실제 비즈니스 요구 사항에 따른 디자인을 기반으로 합니다.
관리 및 모니터링을 위한 디자인 권장 사항
- 게이트웨이 엔드포인트에만 사용자 지정 도메인을 적용합니다.
- 고성능 수준에서 로깅하려면 Event Hubs 정책을 사용합니다.
- 제어 및 가장 빠른 성능을 위해 외부 캐시를 사용합니다.
- 최상의 가용성과 성능을 위해 지역당 두 개의 가용성 영역에 두 개 이상의 배율 단위를 배포합니다.
- Azure Monitor를 사용하여 API Management를 자동 크기 조정합니다. 자체 호스팅 게이트웨이를 사용하는 경우 Kubernetes 가로 Pod 자동 크기 조정기를 사용하여 게이트웨이를 확장합니다.
- Azure에 백엔드 API에 가까운 지역이 없는 자체 호스팅 게이트웨이를 배포합니다.
- 인증서 스토리지, 알림 및 회전에 Key Vault를 사용합니다.
- 필요한 경우가 아니면 3DES, TLS 1.1 또는 더 낮은 암호화 프로토콜을 사용하도록 설정하지 마세요.
- DevOps 및 코드 제공 인프라 사례를 사용하여 모든 배포, 업데이트 및 재해 복구를 처리합니다.
- API 수정 버전 및 모든 API 업데이트에 대한 변경 로그 항목을 만듭니다.
- 백 엔드를 사용하여 중복 API 백 엔드 구성을 제거합니다.
- 명명된 값을 사용하여 정책에서 사용할 수 있는 공통 값을 저장합니다.
- Key Vault를 사용하여 명명된 값이 참조할 수 있는 비밀을 저장합니다. 키 자격 증명 모음에서 업데이트한 비밀은 API Management에서 자동으로 회전됩니다.
- 사용자에게 호환성이 손상되는 API 버전 업데이트를 알리는 통신 전략을 개발합니다.
- 진단 설정을 구성하여 AllMetrics 및 AllLogs를 Log Analytics 작업 영역으로 전달합니다.
비즈니스 연속성 및 재해 복구
비즈니스 연속성 및 재해 복구를 위한 디자인 고려 사항
- 보호하려는 API Management 인스턴스와 지원하는 값 체인(소비자 및 공급자)에 대한 RTO(복구 시간 목표) 및 RPO(복구 지점 목표)를 결정합니다. 새 인스턴스를 배포하거나 핫/콜드 대기 상태를 사용하는 것이 좋습니다.
- API Management는 다중 영역 및 다중 지역 배포를 지원합니다. 요구 사항에 따라 하나 또는 둘 다를 사용하도록 설정할 수 있습니다.
- 장애 조치(failover)를 자동화할 수 있습니다.
- 다중 영역 배포는 자동으로 장애 조치(fails over)합니다.
- 다중 지역 배포를 수행하려면 Traffic Manager와 같은 DNS 기반 부하 분산 장치가 장애 조치(failover)해야 합니다.
- API Management는 관리 REST API를 사용하여 백업될 수 있습니다.
- 30일 후 백업이 만료됩니다.
- APIM이 백업하지 않는 내용을 알고 있어야 합니다.
비즈니스 연속성 및 재해 복구를 위한 디자인 권장 사항
- API Management에 대해 사용자가 할당한 관리 ID를 사용하여 ARM 템플릿에서 다시 배포하는 동안 가동 중지 시간을 방지합니다. 시스템 할당 관리 ID를 사용하는 경우 리소스가 제거되면 이 ID와 Azure Key Vault 비밀 액세스와 같은 관련 역할 및 할당이 제거됩니다. 사용자가 할당한 관리 ID를 사용하는 경우 이러한 할당이 유지되므로 액세스 손실 없이 API Management 다시 연결할 수 있습니다.
- 자동화된 Azure Pipelines를 사용하여 백업을 실행합니다.
- 다중 지역 배포가 필요한지 여부를 결정합니다.
엔터프라이즈 규모 가정
다음은 API Management 랜딩 존 가속기의 개발에 적용한 가정입니다.
- 가용성 영역 및 다중 지역 배포를 지원하는 API Management의 프리미엄 계층 인스턴스를 사용하는 것이 좋습니다.
- Azure Pipelines는 코드 제공 인프라를 관리하고 배포하는 데 사용됩니다.