Microsoft Azure/Tip

Azure Tip - REST API를 통해 Azure 관리 (Feat : Azure Private DNS Resolver)

UnknownFolder 2022. 10. 26. 17:39

이번 Microsoft Ignite에서 Azure Private DNS Resolver가 발표되었습니다.

Azure에서는 PaaS형식의 DNS서버를 제공해주며 VM을 구성하여 DNS를 운영하는 것보다 훨~~~~씬 저렴한 비용과 레코드관리를 할 수 있습니다.

당연히 Public DNS와 Private DNS 2개다 사용할 수 있으나...

기존에는 Private DNS는 전달자 구성이 되지 않았습니다. 요게 무슨말이냐 허니..

DNS 서버에 없는 주소는 찾을수가 없다라는 겁니다.(보통은 DNS서버에 찾고자 하는 주소가 없다면 다른 DNS로 물어보라는 전달자 구성을 합니다.)

전달자 구성이 되지 않았기때문에 VM 으로 DNS 서버를 만들어 구성하였으나, 이제 Private DNS resolver가 GA가 되어 전달자 구성을 할 수 있습니다.

 

그래서..

구성을 해봤습니다.

 

Azure portal을 통해 DNS resolver 구성 후 인바운드 엔드포인트를 구성하였습니다. 별도로 다루던가 하겠습니다. 

그러나!! 엔드포인트 구성을 잘못하여 해당 엔드포인트를 삭제를 해야 했습니다.

당연히 삭제가 되겠지.... 라고 생각했는데..... 안됩니다.

 

엔드포인트 삭제가 안되요!!!

혹시 몰라 resolver 자체를 삭제할려고 했는데..

안되요!!! 삭제가 안되요.. 왜!!!!!!

 

Case를 열었습니다.

 

나 : DNS resolver를 생성하였는데 삭제가 안됩니다.

MS : 신규 기술이라 아직 오류가 많아요. CLI 및 Powershell로 삭제해보세요.

나 : 안됩니다.. 안돼요...

MS : 그럼 REST API로 삭제해보세요. 기술문서 전달 드립니다.(Inbound Endpoints - Create Or Update - REST API (Azure DNS) | Microsoft Learn)

 

Inbound Endpoints - Create Or Update - REST API (Azure DNS)

Learn more about DNS service - Creates or updates an inbound endpoint for a DNS resolver.

learn.microsoft.com

나 : ????

 

참고로 전 개발을 모릅니다... 기술문서를보니 URL이 나오는데 요 URL을 브라우저에 적으라는건지 뭔지..

그래서!!! 정말 Deep한 부분은 아니지만 급하게 Rest api로 Azure상의 리소스를 관리해야할 경우 어떻게 하는지에 대해 이야기하겠습니다.

 

몰랐었는데... rest api를 호출하기 위해서는 별도의 Client 프로그램이 필요합니다.(다른방법이 있을 수 있지만 전 요렇게 했어요.)

postman이라는 프로그램입니다.

 

해당 프로그램은 아래 링크에서 다운로드 하시기를 바랍니다. (사용하시는 OS로 다운로드 하세요.. 참고로 회원가입이 필요합니다.)

https://www.postman.com/

 

Postman API Platform | Sign Up for Free

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.

www.postman.com

다운로드 후 설치합니다.

 

설치 후 아래 Azure 샘플 컬렉션을 클릭하세요. (아 참고로 해당 샘플컬렉션은 https://blog.jongallant.com/2021/02/azure-rest-apis-postman-2021/ 여기서 가져왔습니다.)

https://aka.ms/azurerestpostmancollection

 

Collection Web View | Postman

 

app.getpostman.com

클릭하시면 아래와 같은 화면이 나올텐데 Postman for Windows 를 클릭합니다.

import 합니다.

그러면 짜잔!! 아래와 같은 화면이 나옵니다.

그리고 Azure상에 API로 관리를 할 수 있도록 권한을 부여해야 합니다. 권한을 부여하기 위해서는 앱 등록을 해야해요.

Azure Active Directory에서 앱등록 클릭하여 새등록을 클릭합니다.

이름을 적당히 기입하고 그 외의 설정은 기본으로 하여 등록을 클릭합니다.

등록을 하고 해당 앱의 클라이언트 ID 및 디렉터리 ID를 메모장에 따로 기입합니다.

그리고 인증서 및 암호 메뉴에서 새 클라이언트암호 클릭 후 암호를 만듭니다.

암호가 생성되면 값을 따로 메모장에 기입합니다. (참고로 옆에 복사하기 버튼이 있으니 해당 버튼으로 복사하세요)

그리고 관리할 구독의 구독 ID를 별도로 메모장에 기입해 둡니다.

그럼 우리가 따로 기입한 정보는 클라이언트 ID, 디렉터리 ID, 암호, 구독 ID 4가지 정보입니다.

 

그리고 해당 등록한 앱을 우리가 관리할 Azure 구독에 Contributor(기여자) 권한을 부여합니다.

 

다시 Postman으로 돌아와 아래의 메뉴로 진입합니다.

보이시는 화면에서 VERIABLE에 따로 위에 따로 기입한 정보들을 Current value에 기입합니다.

참고로 resource에는 https://management.azure.com/ 를 기입합니다. 

 

그리고 가장 중요한 부분... 상단에 save를 꼭 클릭합니다.

이러면!!!!! 드디어 rest api 를 통해 Azure 관리가 가능합니다.

샘플로 있는 리소스그룹을 가져오는 명령을 날려보겠습니다.

Send를 클릭하면.....

짜잔!!!! 결과가 나올겁니다.

눈치 채셨겠지만 지금은 Get 명령이지만 Create든 Delete든 가능합니다.

 

음... 이 모든 과정이 어려우시다면!!!! 아래 유트브 영상을 보시면 더 큰 도움이 되겠죠? (저도 저 영상 보고 진행했습니다.)

https://youtu.be/6b1J03fDnOg

 

그리고 관련해서 질문이 있다면(관련이 없어도..) 언제든지 덧글 달아 주시면 확인하는대로 회신드리겠습니다!!!!

그럼~ 감사합니다.