IT팁&추천

[Azure] 지정된 시간에 VM 한꺼번에 키거나 끄기 (Tag 활용)

MyungDragon 2020. 4. 25. 11:16

1. Automation Account 를 만든다

(*) Run As Account 는 ON 할 것

 

2. 아래 Runbook 을 Important 한다.

 

3. Credential 을 설정한다. 

  • Subscription - IAM - Classic Administrator - Add Co-admin 으로 Runbook 을 실행할 Azure AD 계정을 정해준다
  • Runbook - Credential 에 방금 등록한 Azure AD 계정 정보를 등록한다. Name 은 "Default Automation Credential" 로 한다.

 

4. Variable 을 설정한다.

  • Subscription Name (보통 이메일 주소로 되어 있음) 을 "Default Azure Subscription" 에 으로 등록한다.

 

5. 각 VM 들이 "꺼져 있으면 하는 시간"을 설정한다.

 

  • UTC 기준으로 적어야 한다 !
  • Tag명은 "AutoShutdownSchedule" 로 작성한다.
  • 아래 예시는 UTC 기준 매일 9시~16시 사이 & Sunday 기간에는 종일 꺼져 있으라는 의미이다.

 

6. Assert-AutoShutdownSchedule Runbook 이 매 시간마다 실행되게 한다.

  • 그냥 Runbook 에서 "Link to Schedule" 하면 된다.

잘 되면 이렇게 뜸

이제 태그에 등록되어 있는것처럼 Runbook 이 1시간마다 한번씩 돌면서 각 VM 들이 제대로 꺼져있는지 확인하고 필요시 키거나 끄는 작업이 자동으로 실행된다.

 

간단한 작업이고 공통적으로 대부분 사용자가 쓸만한 기능이니 표준화가 되어있음 좋았을텐데 Azure 에서는 "알아서 런북 구해서 쓰세요" 하고 좀 불편하게 되어 있는거 같다. 우선 런북이 중구난방으로 여러개 있어서 뭘 받을지도 모르겠고 사용법도 다 다르고 개인이 올린게 대부분이라 매뉴얼이 없는 것도 많고 스크립트 내용들도 지금 Azure 버전이랑 안맞는 Deprecated 된 것들도 있고, Credential 도 제각기 다른 방법으로 먹이는 바람에 생각보다 시간을 많이 버렸다. 관리좀 제대로 했으면...