Cloud와 API
Cloud를 기존 IT 인프라(Legacy)와 구분하는 특징 중 하나는 'API 지향성'이 아닐까 합니다.
즉, 'API를 이용해서 IT 자원(서버,스토리지..)을 구성하고 이용할 수 있다'라는 점이 Cloud 이전의 IT 이용 패턴과는 큰 차이가 있다는 말입니다. 이러한 이유로 Cloud Native 아키텍처 설계를 논할 때, '사용하기 쉬운 API 제공'은 빠지지 않고 언급되는 것 같습니다.
유사한 맥락에서, Cloud 인프라를 서비스로서 제공하는 CSP들은 대부분 자사의 고객들이 활용할 수 있는 API를 제공하고 있습니다. kt cloud 역시 서비스 라인업 별로 풍성한 Open API를 제공하고 있고, 가이드와 관련 도구를 곁들여서 보다 사용하기 쉬운 환경을 만들어가고 있습니다.
하지만, 여러 이유(API 호출/응답을 안전하게 처리하기 위한..)에서 API를 이용하는 과정에는 거쳐야할 절차와 귀찮음(?)이 있습니다.
그리 어렵지 않은 노력일 수도 있지만, 줄일 수 있는 방법이 있다면 당연히 알려드리는 것이 도리라는 생각에서 소개드리도록 하겠습니다!
5분이면 따라하는 kt cloud Open API 활용법
귀찮고 번거로운 API 호출 과정을 단순하고 편안하게 만들어주는 팁을 소개드립니다.
먼저 몇가지 전제 조건이 있습니다.
- 프로그래밍 환경: Python 3.X, Jupyter Notebook
- kt cloud 계정: kt cloud를 사용하고 계셔야 API 활용도 가능하겠죠?
위의 조건이 갖추어져 있다면, 바로 시작하시면 됩니다!
kt cloud 계정 로그인 & Key 확인
kt cloud 포탈에 접속하셔서 클라우드 콘솔을 클릭한 후 로그인을 합니다. 가장 좌측의 API Key 메뉴를 선택하시면 API Key와 Secret Key 정보를 확인하실 수 있습니다.
kt cloud SDK Download & 위치 확인
다음은 kt cloud SDK를 다운로드 하시면 됩니다. kt cloud 포탈에서 '고객지원/자료실' 메뉴를 찾아 보시면 kt cloud Toolkit이라는 항목이 있습니다. 여기에서 'kt cloud Toolkit(CLI/SDK)'을 선택하시어 다운로드 받으면 됩니다.
(다운로드 및 압축 해제)
나중에 해당 SDK를 참조하여 API를 호출하여야 하니, 압축해제한 디렉토리의 위치를 미리 확인해 두셔야 합니다.
환경 설정#1: API & Secret Key 환경 변수 등록
SDK를 다운로드 받으셨다면, 다음은 'kt cloud Open API' 호출을 위해서 필요한 'API Key/Secret Key'를 환경 변수로 등록하는 작업을 하시면 됩니다. 이 부분은 'API Key/Secret Key'를 kt cloud SDK가 참조하는 '변수의 명칭'으로 저장하는 과정입니다.
Window 10을 기준으로 설명드리자면 아래와 같습니다.
Window의 '고급 시스템 설정 보기' 유틸리티를 실행합니다. 고급 탭에서 '환경 변수'를 클릭하고, '새 시스템 변수'에서 새로 만들기를 실행합니다. 그러면 아래와 같이 '환경 변수와 값'을 입력할 수 있는 화면이 나옵니다.
해당 화면에서 아래와 같이 환경 변수 이름과 값을 지정하여 저장하시면 됩니다.
(KTCAPI에 API Key 값 저장, KTCSEC에 Secret Key 값 저장)
환경 설정#2: Jupyter Notebook실행 & 경로 설정
API Key/Secret Key에 대한 환경 변수를 지정하셨으면, 지금부터는 본격적으로 kt cloud Open API 호출을 위한 작업을 하시면 됩니다. Python 코드를 동작시킬 수 있는 환경을 실행합니다. 저는 Jupyter Notebook을 사용했지만, 다른 환경(Python IDLE 혹은 다른 Python IDE도 가능)에서 진행하셔도 됩니다.
Jupyter Notebook을 실행하고, kt cloud SDK를 해당 Notebook에서 보다 편리하게 사용할 수 있도록 경로를 지정해 줍니다. (아까 확인해둔 kt cloud SDK를 다운로드/압축해제한 경로를 활용합니다.)
API 호출!
자, 이제 드디어 kt cloud Open API를 호출할 차례가 되었습니다!
가상서버를 생성할 수 있는 '존(Availability Zone)'을 리스트 업 해볼 수 있는 'listZones' API를 호출해보시죠.
우선 kt cloud SDK의 'Server' 모듈을 'Import' 하고, 해당 모듈의 listZones라는 함수(function)을 호출하면 됩니다.
import server
response = server.listZones()
위와 같이 단 2 라인으로 매우 간편하게 kt cloud Open API인 'listZones'를 호출하였습니다.
결과는 아래와 같습니다.
지금까지 kt cloud Open API를 손쉽게 호출할 수 있는 방법을 소개드려 보았습니다.
kt cloud를 보다 편안하게 이용하시는데 도움이 되셨기를 바랍니다^^
'상품, 서비스 > Cloud' 카테고리의 다른 글
Cloud에 관한 거의 모든 지식#5 (Cloud와 레그 테크) (0) | 2021.09.24 |
---|---|
DNS 네임 서버를 직접 구축해보자! (feat. BIND9) (0) | 2021.09.06 |
(워크플로우관리도구) Airflow 튜토리얼 #1 - Overview (0) | 2021.07.20 |
Cloud에 관한 거의 모든 지식#4 (Cloud와 메타버스) (0) | 2021.06.29 |
KT Cloud를 사용하면 내가 낼 돈은 어떤 기준으로 측정될까? (1) | 2021.06.21 |