Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Azure - Runbook에서 사용할 수 있는 다양한 메서드를 위한 부가 Module 추가

App Service(Web App)을 시작 또는 중지시키는 용도의 Azure PowerShell API를,

Start-Azure?RmWeb?App
; https://docs.microsoft.com/en-us/powershell/module/azurerm.websites/start-azurermwebapp?view=azurermps-6.11.0

Stop-Azure?RmWeb?App
; https://docs.microsoft.com/en-us/powershell/module/azurerm.websites/stop-azurermwebapp?view=azurermps-6.11.0

당연히 Runbook 스크립트에서 실행해도 잘 될 거라 생각했는데요. 가령 다음과 같이 스크립트를 만든 경우,

param (
    [Parameter(Mandatory=$true)][PSObject]$targetWebApp
)

$azureConnection = Get-AutomationConnection -Name AzureRunAsConnection
Add-AzureRmAccount -ServicePrincipal -Tenant $azureConnection.TenantID -ApplicationID $azureConnection.ApplicationID -CertificateThumbprint $azureConnection.CertificateThumbprint

if ($targetWebApp.Mode -Match "Start")
{
    Start-AzureRmWebApp -Name $targetWebApp.WebAppName -ResourceGroupName "MyGroup"
}
else
{
    Stop-AzureRmWebApp -Name $targetWebApp.WebappName -ResourceGroupName "MyGroup" -Force
}

실행해 보면 이렇게 오류가 발생합니다.

Stop-AzureRmWebApp : The term 'Stop-AzureRmWebApp' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:14 char:5
+     Stop-AzureRmWebApp -Name $targetWebApp.WebappName -ResourceGroupN ...
+     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Stop-AzureRmWebApp:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

말 그대로, 기본 Runbook 환경에서는 Start-AzureRmWebApp와 Stop-AzureRmWebApp 메서드를 포함한 모듈이 누락되어 있기 때문입니다. 해결책은 당연히 모듈을 추가해 주면 됩니다.

Azure Automation (RM Portal) - Powershell Runbook - List of CMDLT missing all xxxx-AzureRmWebApp CMDLT's
; https://social.msdn.microsoft.com/Forums/azure/en-US/1efee8fd-6897-448c-a565-f3e2da9cea9d/azure-automation-rm-portal-powershell-runbook-list-of-cmdlt-missing-all-xxxxazurermwebapp?forum=azureautomation

따라서, Azure Automation Account로 이동해 "Modules" 메뉴를 선택하고,

runbook_import_module_1.png

자신이 만든 모듈이 있다면 좌측의 "Add a module"을 이용해 모듈 파일을 직접 올리거나, 마이크로소프트가 제공하는 모듈은 대부분 "gallery"에 있으므로 우측의 "Browse gallery"를 이용해 추가할 수 있습니다. 일례로, Start-AzureRmWebApp와 Stop-AzureRmWebApp의 경우에는 다음의 2가지 모듈을 로드하면 됩니다.

  • AzureRM.Profile
  • AzureRM.Websites (AzureRM.Profile 모듈에 의존)

참고로 import 완료까지 시간이 좀 걸리므로 곧바로 Runbook 스크립트를 실행하면 동일한 오류가 발생합니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 10/25/2018]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11025정성태8/12/201622354개발 환경 구성: 294. .NET Core 프로젝트에서 "Copy to Output Directory" 처리 [1]
11024정성태8/12/201621661오류 유형: 350. "nProtect GameMon" 실행 중에는 Visual Studio 디버깅이 안됩니다! [1]
11023정성태8/10/201623195개발 환경 구성: 293. Azure 구독 후 PaaS 서비스 만들어 보기
11022정성태8/10/201623849개발 환경 구성: 292. Azure Cloud Service 배포시 사용자 정의 작업을 추가하는 방법
11021정성태8/10/201620888오류 유형: 349. System.Runtime.Remoting.RemotingException - Type '..., ..., Version=..., Culture=neutral, PublicKeyToken=null' is not registered for activation [2]
11020정성태8/10/201623619VC++: 98. 원본과 대상 버퍼가 같은 경우 memcpy, wmemcpy 주의점
11019정성태8/10/201640290기타: 60. 도서: 시작하세요! C# 6.0 프로그래밍: 기본 문법부터 실전 예제까지 (2쇄 정오표)
11018정성태8/9/201624758.NET Framework: 600. 단일 메서드 내에서의 할당으로 알아보는 자바와 닷넷의 GC 차이점 [1]
11017정성태8/9/201626835웹: 33. HTTP 쿠키에 한글 값을 설정하는 방법
11016정성태8/7/201624026개발 환경 구성: 291. Windows Server Containers 소개
11015정성태8/7/201622274오류 유형: 348. Windows Server 2016 TP5에서 Windows Containers의 docker run 실행 시 encountered an error during Start failed in Win32
11014정성태8/6/201623062오류 유형: 347. Hyper-V Virtual Machine Management service Account does not have permission to open attachment
11013정성태8/6/201633850개발 환경 구성: 290. Windows 10에서 경험해 보는 Windows Containers와 docker [4]
11012정성태8/6/201623909오류 유형: 346. Windows 10에서 Windows Containers의 docker run 실행 시 encountered an error during CreateContainer failed in Win32 발생
11011정성태8/6/201625536기타: 59. outlook.live.com 메일 서비스의 아웃룩 POP3 설정하는 방법
11010정성태8/6/201622883기타: 58. Outlook에 설정한 SMTP/POP3(예:천리안 메일) 계정 암호를 잊어버린 경우
11009정성태8/3/201628079개발 환경 구성: 289. 2016-08-02부터 시작된 윈도우 10 1주년 업데이트에서 Bash Shell 사용 [8]
11008정성태8/1/201621909오류 유형: 345. 2의 30승 이상의 원소를 갖는 경우 버그가 발생하는 이진 검색(Binary Search) 코드
11007정성태8/1/201623625오류 유형: 344. RDP ActiveX 컨트롤로 특정 PC에 연결할 수 없을 때, 오류 상황을 해결하기 위한 팁파일 다운로드1
11006정성태7/22/201626596개발 환경 구성: 288. SSL 인증서를 Azure Cloud Service에 적용하는 방법
11005정성태7/22/201625242개발 환경 구성: 287. Let's Encrypt 인증서 업데이트 주기: 90일
11004정성태7/22/201620090오류 유형: 343. Invalid service definition or service configuration. Please see the Error List for more details.
11003정성태7/20/201627372VS.NET IDE: 110. Visual Studio 2015에서 .NET Core 응용 프로그램 개발 [1]
11002정성태7/20/201620845개발 환경 구성: 286. Microsoft Azure 서비스의 구독은 반드시 IE로!
11001정성태7/19/201631927.NET Framework: 599. .NET Core/SDK 설치 및 기본 사용법 [6]
11000정성태7/16/201620620오류 유형: 342. Microsoft Visual Studio 2010 Tools for Office Runtime (x86 and x64) 설치 시 오류
... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...