티스토리 뷰
API Management를 쓰고는 있는데, 아무도 그에 대해서 아는 사람이 없었다.
그래서 설명서 한참을 보고 이해한 내용들 중에서 내부모드에 대해서 정리 해본다.
내부모드를 이해하게 된 계기는
APIM을 통해서 API를 호출하면, AKS에 만들어둔 Backend를 호출하도록 운영하고 있던 상황
원래는 APIM & AKS가 같은 subnet 내에 위치했는데,
Backend가 다른 구독(subnet도 바뀜)에 있는 AKS로 이사를 갔다.
일단 내부모드란
API Management 인스턴스를 가상네트워크(특정 subnet)에 배포하는 개념이다.
계층(tier) 확인 필요
Developer, Standard v2, Premium 3가지 계층을 사용할 경우에만 내부모드 사용이 가능하다.
https://azure.microsoft.com/en-us/pricing/details/api-management/
API Management pricing | Microsoft Azure
Get detailed pricing info for the Azure API Management cloud service. No upfront costs. No termination fees. Pay only for what you use.
azure.microsoft.com

유사한 개념으로 Private Endpoint가 있다.
예를 들면 Cosmos DB에 Private Endpoint를 적용하면,
CosmosDB의 networking 설정에서 Public access 불가하도록 설정하고,
Private ip 기반으로 안전하게(!) 연결할 수 있도록 구성할 수 있다.
근데 말이지 내부모드와 Private Endpoint는 함께 사용할 수 없었다.
그런데 내 상황은 내부모드 구성 후
APIM private ip -> Backend ip 로 방화벽 오픈 요청해서 처리 했는데 연결이 안되는게 아닌가ㅠㅠ
이래저래 알아보니 내부모드인 경우 APIM(subnet ip 랜덤) -> Backend 호출하는 구조라고 한다.
결론은 APIM 내부모드로 설정한 Subnet 대역대 -> AKS IP 로의 방화벽 오픈이 필요했다.
'Azure' 카테고리의 다른 글
| Azure API Management | 400 Bad Request 메시지 바꾸기 (0) | 2024.09.26 |
|---|---|
| Azure API Management 써 본 이야기 (0) | 2024.09.19 |
| Promptflow 소스 kubernetes 환경에 배포하기 - error case #1 (0) | 2024.09.13 |
| Promptflow 이해하기 (0) | 2024.09.04 |
| (Azure) gradle compileJava failed. detachedCofiguration1 (0) | 2024.07.29 |