시간을 줄여주는 블로그(IT, Azure)

Azure Automation 에서 AZ 모듈 사용 관련 본문

Azure/Azure Virtual Machine

Azure Automation 에서 AZ 모듈 사용 관련

서희 아빠 2022. 10. 11. 04:44

최근에는 alias가 나오기는 했지만, 현재 Azure Powershell은 AZ모듈을 쓰고 있습니다. CLI와 호환성을 위해서 기존 AzureRM모듈은 이제 많이 사라지는 추세인것 같습니다.

기존 azurerm으로 작성된 대부분의 스크립트는 Azurerm을 AZ로 변경하면 동작하지만, 일부 호환성 문제가 있습니다.(#Requires, Import-Module, .psd1등) 아니면 az 모듈만 설치하고 alias를 사용하도록 설정하면 azurerm도 동작하도록 만들 수 있습니다.

Enable-AzureRmAlias -Scope CurrentUser 명령을 사용하여 azurerm 호환성을 확보 할 수 있습니다.

Enable-AzureRMAlias 사용하기 전/후

Azure Automation은 기존 System Center와 비슷한 구조로 Azure에서 SPN이나 Automation Account를 이용해서 자동화 작업을 하는 도구 입니다. Runbook 갤러리를 통해서 유용한 스크립트를 가져와서 간편하게 사용할 수 있고, VM을 자동으로 off하는 것은 Azure Portal의 VM에서 제공하지만 On/Off/Remove는 자동화를 하려면 Automation을 사용하는 것이 가장 간편합니다.(실제 갤러리의 2위 다운로드가 이 모듈 입니다.) 

AzureRM은 기본으로 제공되지만, AZ모듈은 별도로 등록을 해 주어야 하는데, 종속성 문제가 있기 때문에 az.account를 가장 먼저 추가하고 이후 필요한 az모듈을 추가할 수 있습니다.

방법은 automation->module에서 az.account를 추가하고 이후 종속성 모듈을 추가 합니다.

Azure Automation의 모듈 갤러리

위 과정을 진행하면 비로소 Runbook에서 az 모듈을 사용할 수 있게 됩니다.

az.account를 추가하기 전
az.account 추가한 뒤 connect-azaccount를 통한 로그인 출력

필요한 모듈은 docs에서 해당 명령어를 찾아보면 어떤 모듈에 속하는지 확인이 가능합니다.

저는 azure bastion호스트를 원하는 시간에만 생성하고 삭제하기 위해 오늘 작업을 했는데, New-AzBastion은 다음과 같이 az.network에 포함되는 것이 확인 됩니다.

docs의 Powershell Command

무사히 스크립트로 작성해서 끝냈습니다..;;

*감사합니다.*

Comments