연습 - 가상 머신 확장 집합에서 애플리케이션 업데이트

완료됨

배송 회사 시나리오에서 가상 머신 확장 집합을 만들어 웹 애플리케이션을 설치했습니다. 이번에는 확장 집합에 포함된 모든 VM(가상 머신)에서 웹앱을 업데이트하고 새로운 버전을 설치해야 합니다.

출시가 진행되는 동안 시스템은 사용 가능한 상태를 유지해야 합니다. 가용성을 보장하는 좋은 방법은 사용자 지정 스크립트 확장을 사용하여 업데이트를 수행하는 것입니다. 가상 머신 확장 집합에 이 스크립트를 적용합니다. 확장 집합은 한 번에 하나의 가상 머신에 업데이트를 적용하여 다른 VM들은 계속 실행 상태로 유지됩니다.

이 연습에서는 사용자 지정 스크립트 확장을 사용하여 웹앱의 새 버전을 출시합니다. nginx 서버에서 제공하는 메시지를 편집합니다. 대규모 업데이트에도 동일한 방법을 사용할 수 있습니다.

참고

이 연습은 선택 사항입니다. Azure 계정이 없는 경우 지침을 읽으면 REST API를 사용하여 메트릭을 검색하는 방법을 이해할 수 있습니다.

이 연습을 완료하려고 하지만 Azure 구독이 없거나 사용자 고유의 계정을 사용하지 않으려는 경우 시작하기 전에 체험 계정을 만듭니다.

사용자 지정 스크립트 확장을 사용하여 업데이트 배포

  1. Azure Portal에서 Cloud Shell을 열고 다음 명령을 실행하여 확장 집합에 대한 현재 업그레이드 정책을 확인합니다.

    az vmss show \
      --name webServerScaleSet \
      --resource-group myResourceGroup \
      --query upgradePolicy.mode
    

    업그레이드 정책이 Automatic으로 설정되어 있는지 확인합니다. 이 정책은 첫 번째 랩에서 확장 집합을 만들 때 지정했습니다. 정책이 있는 Manual경우 가상 머신 변경 내용을 직접 적용합니다. 정책이 Automatic이므로 사용자 지정 스크립트 확장을 사용할 수 있고 확장 집합이 업데이트를 수행하도록 할 수 있습니다.

  2. 다음 명령을 실행하여 업데이트 스크립트를 적용합니다.

    az vmss extension set \
      --publisher Microsoft.Azure.Extensions \
      --version 2.0 \
      --name CustomScript \
      --vmss-name webServerScaleSet \
      --resource-group myResourceGroup \
      --settings "{\"commandToExecute\": \"echo This is the updated app installed on the Virtual Machine Scale Set ! > /var/www/html/index.html\"}"
    

업데이트된 웹 애플리케이션 테스트

  1. 다음 명령을 실행하여 확장 집합 부하 분산 장치의 IP 주소를 검색합니다.

    az network public-ip show \
      --name webServerScaleSetLBPublicIP \
      --resource-group myResourceGroup \
      --output tsv \
      --query ipAddress
    
  2. 웹 브라우저에서 확장 집합 부하 분산 장치의 공용 주소로 이동합니다. 가상 머신 확장 집합 !에 설치된 업데이트된 앱이라는 메시지가 표시되는지 확인합니다.