1. KAKAO MAP API 트러블 슈팅
이번 시간에는 실무에서 카카오맵 API를 사용하면서 있었던 트러블 슈팅과정에 대해서 설명해보겠습니다.
2. Trouble
현재 운영중인 서비스에서는 카카오맵을 사용한 데이터처리를 하고 있는중이다. 현재 AOS/IOS 웹뷰를 통해서 카카오맵 API를 사용중에 있으며 어느 순간 개발계쪽에 iOS 환경에서 API 호출이 원활하게 이루어지지 않은 상황이 생겼습니다. 해당되는 API를 호출하면서 스크립트를 로드하지 못하는 상황이었습니다.
1 | <script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey={javascript app key}&libraries=services,clusterer,drawing"></script> |
3. Shooting
시도해본 해결 방법은 다음과 같습니다.
- API 키 문제
- AOS환경에서는 정상호출이 되고 있던 상황이었기때문에, API 키 문제를 배제하였습니다.
- 호출 URL 문제
- kakao developer에 기재되어 있는 API 호출방식을 직접 처리하고 테스트했을때 문제가 발생하지 않았습니다.
- 웹플랫폼 Inbound IP 허용 규칙 문제
- 인바운드 IP 허용 규칙이라기엔, 현재 운영중인 개발계, 운영계가 인바운드 규칙에 맞게 적용되어 있었습니다.
- 도메인 허용 문제
- 도메인도 정상적으로 등록되어 호출까지 정상적으로 처리되는것을 확인하였습니다.
- 프로토콜 확인
- http, https, file 명시적 호출을 진행했습니다.
- 스크립트 로드
- 비동기통신으로 script load
이 문제를 해결하기 위해 6가지의 상황으로 해결을 시도해보았지만, 원인을 알 수 없어 직접 kakao developer 에 문의를 남기게 되었습니다.
1 |
|
문의 결과 다음과 같은 답변을 받을 수 있었고, 웹 플랫폼쪽에 등록된 inbound 규칙을 다시 확인하게 되었습니다. 도메인은 정상 등록되어있었지만, 직접 호출하는 웹서버(172.x.x.x)에 대한 규칙은 빠져있는것을 확인하였습니다.
이 https://172.x.x.x에 대한 도메인을 직접 추가해주고 나서야 해당되는 kakao map API를 정상 호출하는것을 확인 할 수 있었습니다.
직접 카카오쪽에 문의를 하여 답변을 얻고 문의를 계속해나가면서 해결해나갈 수 있었고 여러 인바운드, 도메인 허용 규칙에 대해서 한번더 생각해볼 수 있던 기회가 되었습니다… 타사의 API를 사용하여 서비스를 구현할때는 여러가지 고려해야할 요소가 많다는것을 깨닫게 된 트러블 슈팅이었습니다.