본문 바로가기
IT/Azure

VMSS를 az CLI로 컨트롤

by rapker 2023. 5. 17.
반응형
개요
  • az vmss 명령어로 특정 인스턴스 삭제
  • az vmss 명령어로 인스턴스를 추가
  • 간단한 커맨드로 실행하기 위한 ps1 파일 작성
 
 
참조
 
 
사전설치
 
 
 
 

Azure Login 정보(중요)

 
 
  1. az login
  2. az login -u <username> -p <password>
  3. az login --service-principal -u <app-url> -p <password-or-cert> --tenant <tenant>
 
1번의 경우 ip / pw를 웹에서 수동으로 입력해야 하므로 패스
2번이나 3번의 방법으로 자동 로그인을 할 수 있지만 MFA를 사용중이라면 2번으로 로그인할 수 없습니다.
 
세번째 방법인 Service Principal 로 로그인하는 방법으로 진행하도록 하겠습니다.
SP 등록 방법 참고 하시어 아래와 같은 정보를 얻어와야 합니다. 
 
SP 등록 방법에서 얻어온 정보를 바탕으로 다음과 같이 SP 로그인이 가능해야 합니다.
az login --service-principal -u [appurl] -p [password] --tenant [tenant]
 
 
 

VMSS 컨트롤

 
VMSS의 특정 인스턴스를 삭제하거나, instance 수를 증가 시킬 수 있는 스크립트 입니다.
단순기능만 정의된 샘플파일입니다. 단순 기능 검토 후 예외상황에 대한 처리를 추가 후 사용하시길 권장드립니다.
Azure CLI를 사용하여 가상머신 확장집합 관리에서 더 많은 cli 명령어를 확인하실 수 있습니다.
 
 
스크립트 다운로드 받고 몇가지 정보 입력 하신 후 사용할 수 있습니다.
  • spURL, spPW, tenant는 SP(Service Principal) 생성 때 확인 가능
  • subName (구독이름), rgName (리소스그룹이름), vmssName 은 Azure Portal에서 확인 가능
 
 
 
 
 
 
 
 

인스턴스 추가

 
현재 인스턴스 상태 확인
                
 
 
cmdlet 실행 - instance 확장
 powershell .\vmss_controll.ps1 -add_instance_count 1
 
 
 
생성중인 상태 확인
                
 
 
 
생성된 상태 확인
                
 
 
 
 
 
 
 

특정 인스턴스 삭제

 
az vmss delete-instances 명령어는 인스턴스의 ID를 필요로 합니다.
az vmss list-instances 명령어로 인스턴스들의 정보들중 특정 인스턴스의 ID를 얻어와야 합니다.
 
vmss_controll.ps1에서는 특정 인스턴스의 컴퓨터 이름을 얻어올 수 있다는 가정하에 진행 되었습니다.
 
 
현재 인스턴스 상태
                
 
 
 
삭제하려는 인스턴스의 컴퓨터 이름 확인
                
                
 
 
 
cmdlet 실행 - 인스턴스 삭제
 
  • powershell .\vmss_controll.ps1 -delete_computer_name 'testvmssy000008'
 
 
 
인스턴스 삭제중
                
 
 
 
인스턴스 삭제 완료
                
 
 
반응형
LIST