권한 있는 엔드포인트를 사용하여 Azure Stack Hub의 업데이트 모니터링

권한 있는 엔드포인트를 사용하여 Azure Stack Hub 업데이트 실행의 진행률을 모니터링할 수 있습니다. Azure Stack Hub 포털을 사용할 수 없게 되면 권한 있는 엔드포인트를 사용하여 마지막으로 성공한 단계에서 실패한 업데이트 실행을 다시 시작할 수도 있습니다. Azure Stack Hub 포털을 사용하는 것이 Azure Stack Hub에서 업데이트를 관리하는 데 권장되는 방법입니다.

업데이트 관리를 위한 다음과 같은 새로운 PowerShell cmdlet이 Azure Stack Hub 통합 시스템의 1710 업데이트에 포함되어 있습니다.

Cmdlet 설명
Get-AzureStackUpdateStatus 현재 실행 중이거나 완료되었거나 실패한 업데이트의 상태를 반환합니다. 업데이트 작업의 상위 수준 상태와 현재 단계와 해당 상태를 모두 설명하는 XML 문서를 제공합니다.
Resume-AzureStackUpdate 실패한 지점에서 실패한 업데이트를 다시 시작합니다. 특정 시나리오에서는 업데이트를 다시 시작하기 전에 완화 단계를 완료해야 할 수 있습니다.

cmdlet을 사용할 수 있는지 확인

cmdlet은 Azure Stack Hub용 1710 업데이트 패키지의 새로운 기능이므로 모니터링 기능을 사용할 수 있기 전에 1710 업데이트 프로세스가 특정 지점에 도달해야 합니다. 일반적으로 관리자 포털의 상태가 1710 업데이트가 다시 시작 Storage 호스트 단계에 있음을 나타내는 경우 cmdlet을 사용할 수 있습니다. 특히 cmdlet 업데이트는 2.6단계 실행 중 - PrivilegedEndpoint 허용 목록 업데이트 중에 발생합니다.

권한 있는 엔드포인트에서 명령 목록을 쿼리하여 cmdlet을 프로그래밍 방식으로 사용할 수 있는지 여부를 확인할 수도 있습니다. 이 쿼리를 수행하려면 하드웨어 수명 주기 호스트 또는 Privileged Access 워크스테이션에서 다음 명령을 실행합니다. 또한 권한 있는 엔드포인트가 신뢰할 수 있는 호스트인지 확인합니다. 자세한 내용은 권한 있는 엔드포인트 액세스의 1단계를 참조하세요.

  1. Azure Stack Hub 환경(Prefix-ERCS01, Prefix-ERCS02 또는Prefix-ERCS03)의 모든 ERCS VM(가상 머신)에서 PowerShell 세션을 만듭니다. 접두사는 사용자 환경과 관련된 VM 접두사 문자열로 바꿉 있습니다.

    $cred = Get-Credential
    
    $pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    

    자격 증명을 묻는 메시지가 표시되면 <>\cloudadmin 계정 또는 CloudAdmins 그룹의 구성원인 계정을 사용합니다<. CloudAdmin 계정의 경우 AzureStackAdmin 도메인 관리자 계정에 설치하는 동안 제공된 것과 동일한 암호를 입력합니다.

  2. 권한 있는 엔드포인트에서 사용할 수 있는 명령의 전체 목록을 가져옵니다.

    $commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command } 
    
  3. 권한 있는 엔드포인트가 업데이트되었는지 확인합니다.

    $updateManagementModuleName = "Microsoft.Azurestack.UpdateManagement"
     if (($commands | ? Source -eq $updateManagementModuleName)) {
    Write-Host "Privileged endpoint was updated to support update monitoring tools."
     } else {
    Write-Host "Privileged endpoint has not been updated yet. Please try again later."
     } 
    
  4. Microsoft.AzureStack.UpdateManagement 모듈과 관련된 명령을 나열합니다.

    $commands | ? Source -eq $updateManagementModuleName 
    

    예를 들어:

    $commands | ? Source -eq $updateManagementModuleName
    
    CommandType     Name                                               Version    Source                                                  PSComputerName
     -----------     ----                                               -------    ------                                                  --------------
    Function        Get-AzureStackUpdateStatus                         0.0        Microsoft.Azurestack.UpdateManagement                   Contoso-ercs01
    Function        Resume-AzureStackUpdate                            0.0        Microsoft.Azurestack.UpdateManagement                   Contoso-ercs01
    

업데이트 관리 cmdlet 사용

참고

하드웨어 수명 주기 호스트 또는 Privileged Access 워크스테이션에서 다음 명령을 실행합니다. 또한 권한 있는 엔드포인트가 신뢰할 수 있는 호스트인지 확인합니다. 자세한 내용은 권한 있는 엔드포인트 액세스의 1단계를 참조하세요.

권한 있는 엔드포인트에 커넥트 세션 변수 할당

다음 명령을 실행하여 Azure Stack Hub 환경(Prefix-ERCS01, Prefix-ERCS02 또는 Prefix-ERCS03)의 ERCS VM에서 PowerShell 세션을 만들고 세션 변수를 할당합니다.

$cred = Get-Credential

$pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)

자격 증명을 묻는 메시지가 표시되면 <>\cloudadmin 계정 또는 CloudAdmins 그룹의 구성원인 계정을 사용합니다<. CloudAdmin 계정의 경우 AzureStackAdmin 도메인 관리자 계정에 설치하는 동안 제공된 것과 동일한 암호를 입력합니다.

현재 업데이트 실행의 상위 수준 상태 가져오기

현재 업데이트 실행의 상위 수준 상태를 얻으려면 다음 명령을 실행합니다.

$statusString = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus -StatusOnly }

$statusString.Value 

가능한 값은 다음과 같습니다.

  • 실행 중
  • 완료됨
  • 실패
  • 취소됨

이러한 명령을 반복적으로 실행하여 최신 상태를 확인할 수 있습니다. 다시 확인하기 위해 연결을 다시 설정할 필요가 없습니다.

세부 정보를 사용하여 전체 업데이트 실행 상태 가져오기

전체 업데이트 실행 요약을 XML 문자열로 가져올 수 있습니다. 검사를 위해 파일에 문자열을 쓰거나 XML 문서로 변환하고 PowerShell을 사용하여 구문 분석할 수 있습니다. 다음 명령은 XML을 구문 분석하여 현재 실행 중인 단계의 계층적 목록을 가져옵니다.

[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }

$updateStatus.SelectNodes("//Step[@Status='InProgress']")

다음 예제에서 최상위 단계(클라우드 업데이트)에는 스토리지 호스트를 업데이트하고 다시 시작하는 자식 계획이 있습니다. 호스트 다시 시작 Storage 계획이 호스트 중 하나에서 Blob Storage 서비스를 업데이트하고 있음을 보여 줍니다.

[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }

$updateStatus.SelectNodes("//Step[@Status='InProgress']") 

    FullStepIndex : 2
    Index         : 2
    Name          : Cloud Update
    Description   : Perform cloud update.
    StartTimeUtc  : 2017-10-13T12:50:39.9020351Z
    Status        : InProgress
    Task          : Task
    
    FullStepIndex  : 2.9
    Index          : 9
    Name           : Restart Storage Hosts
    Description    : Restart Storage Hosts.
    EceErrorAction : Stop
    StartTimeUtc   : 2017-10-13T15:44:06.7431447Z
    Status         : InProgress
    Task           : Task
    
    FullStepIndex : 2.9.2
    Index         : 2
    Name          : PreUpdate ACS Blob Service
    Description   : Check function level, update deployment artifacts, configure Blob service settings
    StartTimeUtc  : 2017-10-13T15:44:26.0708525Z
    Status        : InProgress
    Task          : Task

실패한 업데이트 작업 다시 시작

업데이트가 실패하면 중단된 업데이트 실행을 다시 시작할 수 있습니다.

Invoke-Command -Session $pepSession -ScriptBlock { Resume-AzureStackUpdate } 

문제 해결

권한 있는 엔드포인트는 Azure Stack Hub 환경의 모든 ERCS VM에서 사용할 수 있습니다. 고가용성 엔드포인트에 연결되지 않으므로 가끔 중단, 경고 또는 오류 메시지가 발생할 수 있습니다. 이러한 메시지는 세션의 연결이 끊어졌거나 ECE 서비스와 통신하는 동안 오류가 발생했음을 나타낼 수 있습니다. 이는 정상적인 동작입니다. 몇 분 안에 작업을 다시 시도하거나 다른 ERCS VM 중 하나에서 새 권한 있는 엔드포인트 세션을 만들 수 있습니다.

업데이트 문제 해결에 대한 자세한 내용은 Azure Stack 문제 해결을 참조하세요.

다음 단계