Azure Stack Hub 운영자 액세스 워크스테이션
OAW(운영자 액세스 워크스테이션)는 Azure Stack Hub HLH(하드웨어 수명 주기 호스트) 또는 Microsoft Hyper-V를 실행하는 다른 컴퓨터에 VM(가상 머신)을 배포하는 데 사용됩니다. 운영자 또는 사용자 시나리오에서 사용할 수 있는 Azure Stack Hub 엔드포인트에 대한 네트워크 연결이 필요합니다.
OAW VM은 Azure Stack Hub가 작동하는 데 필요하지 않은 선택적 가상 머신입니다. 그 목적은 운영자 또는 사용자가 Azure Stack Hub와 상호 작용할 때 최신 도구를 제공하는 것입니다.
OAW 시나리오
다음 표에는 OAW에 대한 일반적인 시나리오가 나와 있습니다. 원격 데스크톱을 사용하여 OAW에 연결합니다.
시나리오 | 묘사 |
---|---|
관리자 포털에 액세스 | 관리 작업을 수행합니다. |
액세스 PEP | 로그 수집 및 업로드: - Azure Stack Hub에서 파일 전송을 위해 HLH에 SMB 공유 만듭니다. -Azure Storage Explorer를 사용하여 SMB 공유에 저장된 로그를 업로드합니다. |
Azure Stack Hub 등록 | 다시 등록하려면 관리자 포털에서 이전 등록 이름 및 리소스 그룹을 가져옵니다. |
Marketplace 연계 | HLH에 다운로드한 이미지 또는 확장을 저장할 SMB 공유을 만드십시오. |
가상 머신 만들기 | Azure CLI를 사용하여 가상 머신을 만듭니다. |
AKS 관리 | AKS 클러스터 관리; 예를 들어 크기 조정 또는 업그레이드를 예로 들어 있습니다. |
미리 설치된 소프트웨어
다음 표에서는 OAW VM에 미리 설치된 소프트웨어를 나열합니다.
소프트웨어 이름 | 위치 |
---|---|
비즈니스용 Microsoft Edge | [SystemDrive]\Program Files (x86)\Microsoft\Edge\Application |
Az Modules | [SystemDrive]\ProgramFiles\WindowsPowerShell\Modules |
PowerShell 7 | [SystemDrive]\Program Files\PowerShell\7 |
Azure Command-Line 인터페이스(CLI) | [SystemDrive]\Program Files (x86)\Microsoft SDKs\Azure\CLI2 |
Microsoft Azure Storage Explorer | [SystemDrive]\Program Files (x86)\Microsoft Azure Storage Explorer |
AzCopy | [SystemDrive]\VMSoftware\azcopy_windows_amd64_* |
AzureStack-Tools | [SystemDrive]\VMSoftware\AzureStack-Tools |
파일 다운로드
OAW VM을 생성하기 위해 파일을 다운로드하려면, 여기에서 다운로드하세요. 다운로드하기 전에 Microsoft 개인정보처리방침 및 약관 검토해야 합니다.
솔루션의 상태 비국적 특성으로 인해 OAW VM에 대한 업데이트가 없습니다. 각 마일스톤에 대해 새 버전의 VM 이미지 파일이 릴리스됩니다. 최신 버전을 사용하여 새 OAW VM을 만듭니다. 이미지 파일은 최신 Windows Server 2019 버전을 기반으로 합니다. 설치 후 Windows 업데이트를 사용하여 중요한 업데이트를 포함하여 업데이트를 적용할 수 있습니다.
다운로드한 OAW.zip 파일의 해시의 유효성을 검사하여 OAW VM을 만들기 전에 수정되지 않았는지 확인합니다. 다음 PowerShell 스크립트를 실행합니다. 반환 값이 True이면 다운로드한 OAW.zip사용할 수 있습니다.
메모
다운로드를 추출한 후 스크립트 파일의 차단을 해제합니다.
param(
[Parameter(Mandatory=$True)]
[ValidateNotNullOrEmpty()]
[ValidateScript({Test-Path $_ -PathType Leaf})]
[string]
$DownloadedOAWZipFilePath
)
$expectedHash = '4B5CE0EA6FA12C4A95EBDE4223BEED5B9D98D7D9FC7DA1D5C72D3620725E5119'
$actualHash = (Get-FileHash -Path $DownloadedOAWZipFilePath).Hash
Write-Host "Expected hash: $expectedHash"
if ($expectedHash -eq $actualHash)
{
Write-Host 'SUCCESS: OAW.zip file hash matches.'
}
else
{
Write-Error "ERROR: OAW.zip file hash does not match! It isn't safe to use it, please download it again. Actual hash: $actualHash"
}
이 스크립트를 환경에 복사하는 또 다른 방법은 AzureStack-Tools 제공되는 Test-FileHash cmdlet을 사용하여 OAW.zip 파일의 해시를 확인하는 것입니다.
GitHub에서 Test-FileHash.psm1 파일을 다운로드한 다음, 다음을 실행합니다.
Import-Module .\Test-FileHash.psm1 -Force -Verbose
Test-FileHash 모듈을 가져온 후 OAW.zip 파일의 해시를 확인합니다.
Test-FileHash -ExpectedHash "4B5CE0EA6FA12C4A95EBDE4223BEED5B9D98D7D9FC7DA1D5C72D3620725E5119" -FilePath "<path to the OAW.zip file>"
HLH 버전 확인
메모
이 단계는 Microsoft 이미지 또는 OEM 이미지를 사용하여 배포된 HLH에 OAW를 배포하는지 확인하는 데 중요합니다. 이 PowerShell cmdlet은 OEM 이미지를 사용하여 배포된 HLH에 없습니다. 일반적인 Microsoft Hyper-V에 OAW를 배포하는 경우 이 단계를 건너뛸 수 있습니다.
자격 증명을 사용하여 HLH에 로그인합니다.
PowerShell ISE를 열고 다음 스크립트를 실행합니다.
C:\Version\Get-Version.ps1
예를 들어:
스크립트를 사용하여 OAW VM 만들기
다음 스크립트는 Microsoft Azure Stack Hub에 액세스하는 데 사용되는 OAW(운영자 액세스 워크스테이션)로 가상 머신을 준비합니다.
자격 증명을 사용하여 HLH에 로그인합니다.
OAW.zip 다운로드하고 파일을 추출합니다.
관리자 권한 PowerShell 세션을 엽니다.
OAW.zip 파일의 추출된 콘텐츠로 이동합니다.
New-OAW.ps1 스크립트를 실행합니다.
예: Microsoft 이미지를 사용하여 HLH에 배포
$oawRootPath = "D:\oawtest"
$securePassword = Read-Host -Prompt "Enter password for Azure Stack OAW's local administrator" -AsSecureString
if (Get-ChildItem -Path $oawRootPath -Recurse | Get-Item -Stream Zone* -ErrorAction SilentlyContinue | Select-Object FileName)
{ Write-Host "Execution failed, unblock the script files first" }
else { .\New-OAW.ps1 -LocalAdministratorPassword $securePassword }
예: OEM 이미지를 사용하여 HLH에 배포
$oawRootPath = "D:\oawtest"
$securePassword = Read-Host -Prompt "Enter password for Azure Stack OAW's local administrator" -AsSecureString
if (Get-ChildItem -Path $oawRootPath -Recurse | Get-Item -Stream Zone* -ErrorAction SilentlyContinue | Select-Object FileName)
{ Write-Host "Execution failed, unblock the script files first" }
else { .\New-OAW.ps1 -LocalAdministratorPassword $securePassword -AzureStackCertificatePath 'F:\certroot.cer' -DeploymentDataFilePath 'F:\DeploymentData.json' -AzSStampInfoFilePath 'F:\AzureStackStampInformation.json' }
AzureStackStampInformation.json
파일에 OAW VM에 대한 명명 접두사를 포함하는 경우 해당 값은 VirtualMachineName
매개 변수에 사용됩니다. 기본 이름은 AzSOAW
또는 사용자가 지정한 이름이며, 그렇지 않으면 다른 이름이 될 수 있습니다.
AzureStackStampInformation.json
HLH에 없는 경우 권한 있는 엔드포인트 사용하여 다시 만들 수 있습니다.
메모
매개 변수 AzureStackCertificatePath
엔터프라이즈 인증 기관에서 발급한 인증서를 사용하여 Azure Stack Hub를 배포한 경우에만 사용해야 합니다.
DeploymentData.json
사용할 수 없는 경우 하드웨어 파트너에게 문의하여 검색하거나 Microsoft Hyper-V에 배포하는 예제를 계속 진행합니다.
예를 들어: Microsoft Hyper-V에 배포
Microsoft Hyper-V 실행하는 컴퓨터에는 4개의 코어와 2GB의 사용 가능한 메모리가 필요합니다. PowerShell cmdlet은 게스트 네트워크 인터페이스에 IP 구성을 적용하지 않고 OAW VM을 만듭니다. 이 예제를 사용하여 HLH에서 OAW를 프로비전하는 경우 일반적으로 BMC 네트워크의 두 번째에서 마지막 IP인 DVM(Deployment VM)에서 원래 사용한 IP 주소를 구성해야 합니다.
예제 | IP들 |
---|---|
BMC 네트워크 | 10.26.5.192/26 |
첫 번째 호스트 IP | 10.26.5.193 |
마지막 호스트 IP | 10.26.5.254 |
DVM/OAW IP | 10.26.5.253 |
서브넷 마스크 | 255.255.255.192 |
기본 게이트웨이 | 10.26.5.193 |
$oawRootPath = "D:\oawtest"
$securePassword = Read-Host -Prompt "Enter password for Azure Stack OAW's local administrator" -AsSecureString
if (Get-ChildItem -Path $oawRootPath -Recurse | Get-Item -Stream Zone* -ErrorAction SilentlyContinue | Select-Object FileName)
{ Write-Host "Execution failed, unblock the script files first" }
else { .\New-OAW.ps1 -LocalAdministratorPassword $securePassword -AzureStackCertificatePath 'F:\certroot.cer' `-SkipNetworkConfiguration -VirtualSwitchName Example }
메모
매개 변수 AzureStackCertificatePath
엔터프라이즈 인증 기관에서 발급한 인증서를 사용하여 Azure Stack Hub를 배포한 경우에만 사용해야 합니다. OAW 가상 머신은 네트워크 구성 없이 배포됩니다. 고정 IP 주소를 구성하거나 DHCP를 통해 IP 주소를 검색할 수 있습니다.
사용자 계정 정책
다음 사용자 계정 정책이 OAW VM에 적용됩니다.
- 기본 제공 관리자 사용자 이름: AdminUser
- MinimumPasswordLength = 14
- PasswordComplexity가 사용하도록 설정됨
- MinimumPasswordAge = 1(일)
- MaximumPasswordAge = 42(일)
- NewGuestName = GUser(기본적으로 사용 안 함)
New-OAW cmdlet 매개 변수
New-OAW에는 두 개의 매개 변수 집합을 사용할 수 있습니다. 선택적 매개 변수는 대괄호로 표시됩니다.
New-OAW
-LocalAdministratorPassword <Security.SecureString> `
[-AzureStackCertificatePath <String>] `
[-AzSStampInfoFilePath <String>] `
[-CertificatePassword <Security.SecureString>] `
[-ERCSVMIP <String[]>] `
[-DNS <String[]>] `
[-DeploymentDataFilePath <String>] `
[-SkipNetworkConfiguration] `
[-ImageFilePath <String>] `
[-VirtualMachineName <String>] `
[-VirtualMachineMemory <int64>] `
[-VirtualProcessorCount <int>] `
[-VirtualMachineDiffDiskPath <String>] `
[-PhysicalAdapterMACAddress <String>] `
[-VirtualSwitchName <String>] `
[-ReCreate] `
[-AsJob] `
[-Passthru] `
[-WhatIf] `
[-Confirm] `
[<CommonParameters>]
New-OAW
-LocalAdministratorPassword <Security.SecureString> `
-IPAddress <String> `
-SubnetMask <String> `
-DefaultGateway <String> `
-DNS <String[]> `
-TimeServer<String> `
[-AzureStackCertificatePath <String>] `
[-AzSStampInfoFilePath <String>] `
[-CertificatePassword <Security.SecureString>] `
[-ERCSVMIP <String[]>] `
[-ImageFilePath <String>] `
[-VirtualMachineName <String>] `
[-VirtualMachineMemory <int64>] `
[-VirtualProcessorCount <int>] `
[-VirtualMachineDiffDiskPath <String>] `
[-PhysicalAdapterMACAddress <String>] `
[-VirtualSwitchName <String>] `
[-ReCreate] `
[-AsJob] `
[-Passthru] `
[-WhatIf] `
[-Confirm] `
[<CommonParameters>]
다음 표에서는 각 매개 변수에 대한 정의를 나열합니다.
매개 변수 | 필수/선택적 | 설명 |
---|---|---|
LocalAdministratorPassword | 필수 | 가상 머신의 로컬 관리자 계정 AdminUser에 대한 암호입니다. |
IP 주소 | 필수 | 가상 머신에서 TCP/IP를 구성하는 정적 IPv4 주소입니다. |
서브넷 마스크 | 필수 | 가상 머신에서 TCP/IP를 구성하는 IPv4 서브넷 마스크입니다. |
기본 게이트웨이 (DefaultGateway) | 필수 | 가상 머신에서 TCP/IP를 구성하는 기본 게이트웨이의 IPv4 주소입니다. |
DNS | 필수 | 가상 머신에서 TCP/IP를 구성하는 DNS 서버입니다. |
TimeServer | 필수 | Azure Stack Hub가 동기화하는 시간 서버의 IP 주소입니다. 이 주소는 OAW가 동기화하는 시간 원본입니다. AzureStackStampInformation.json 확인하거나 관리자에게 허브가 동기화하는 시간 서버의 IP를 요청합니다. 긴급하고 허브가 동기화하는 시간 서버의 IP를 가져올 수 없는 경우 이 매개 변수에 대한 기본 시간 서버 'time.windows.com,0x8'을 입력할 수 있습니다. 허브와 상호 작용하기 위해 OAW에서 작업할 때 잠재적인 클록 기울이기 문제를 방지하기 위해 OAW 및 허브의 시간이 동기화되었는지 확인하는 것이 좋습니다. |
이미지파일경로 | 선택적 | Microsoft에서 제공하는 OAW.vhdx의 경로입니다. 기본값은 이 스크립트의 동일한 부모 폴더 아래에 있는 OAW.vhdx입니다. |
가상머신이름 | 선택적 | 가상 머신에 할당할 이름입니다. DeploymentData.json 파일에서 명명 접두사를 찾을 수 있는 경우 기본 이름으로 사용됩니다. 그렇지 않으면 AzSOAW기본 이름으로 사용됩니다. 다른 이름을 지정하여 기본값을 덮어쓸 수 있습니다. |
VirtualMachineMemory | 선택적 | 가상 머신에 할당할 메모리입니다. 기본값은 2GB . |
가상 프로세서 수 | 선택적 | 가상 머신에 할당할 가상 프로세서의 수입니다. 기본값은 4. |
VirtualMachineDiffDiskPath | 선택적 | 관리 VM이 활성화된 동안 임시 diff 디스크 파일을 저장하는 경로입니다. 기본값은 이 스크립트의 동일한 부모 폴더 아래에 DiffDisks 하위 디렉터리입니다. |
AzureStackCertificatePath | 선택적 | Azure Stack Hub 액세스를 위해 가상 머신으로 가져올 인증서의 경로입니다. |
AzSStampInfoFilePath | 선택적 | 스크립트가 ERCS VM의 IP를 검색할 수 있는 AzureStackStampInformation.json 파일의 경로입니다. |
CertificatePassword | 선택적 | Azure Stack Hub 액세스를 위해 가상 머신으로 가져올 인증서의 암호입니다. |
ERCSVMIP | 선택적 | 가상 머신의 신뢰할 수 있는 호스트 목록에 추가할 Azure Stack Hub ERCS VM의 IP입니다. -SkipNetworkConfiguration 설정된 경우에는 적용되지 않습니다. |
네트워크 구성 건너뛰기 | 선택적 | 사용자가 나중에 구성할 수 있도록 가상 머신에 대한 네트워크 구성을 건너뜁니다. |
배포데이터파일경로 | 선택적 | DeploymentData.json경로입니다. -SkipNetworkConfiguration 설정된 경우에는 적용되지 않습니다. |
물리 어댑터 MAC 주소 | 선택적 | 가상 머신을 연결하는 데 사용할 호스트 네트워크 어댑터의 MAC 주소입니다. - 실제 네트워크 어댑터가 하나만 있는 경우 이 매개 변수가 필요하지 않으며 유일한 네트워크 어댑터가 사용됩니다. - 실제 네트워크 어댑터가 두 개 이상 있는 경우 이 매개 변수는 사용할 어댑터를 지정해야 합니다. |
가상스위치이름 | 선택적 | Hyper-V에 구성해야 할 가상 머신의 가상 스위치 이름입니다. - 제공된 이름을 가진 VMSwitch가 있는 경우 해당 VMSwitch가 선택됩니다. - 제공된 이름을 가진 VMSwitch가 없으면 제공된 이름으로 VMSwitch가 만들어집니다. |
Re-Create | 선택적 | 동일한 이름을 가진 기존 가상 머신이 이미 있는 경우 가상 머신을 제거하고 다시 만듭니다. |
OAW VM 버전 확인
자격 증명을 사용하여 OAW VM에 로그인합니다.
PowerShell ISE를 열고 다음 스크립트를 실행합니다.
C:\Version\Get-Version.ps1
예를 들어:
HLH와 OAW 간에 파일 전송
HLH와 OAW 간에 파일을 전송해야 하는 경우 New-SmbShare cmdlet을 사용하여 SMB 공유를 만듭니다. New-SmbShare 원격 클라이언트에 파일 시스템 폴더를 SMB(서버 메시지 블록) 공유로 노출합니다. 예를 들어:
이 cmdlet에서 만든 공유를 삭제하려면 Remove-SmbShare cmdlet을 사용합니다.
OAW VM 제거
다음 스크립트는 관리 및 진단을 위해 Azure Stack Hub에 액세스하는 데 사용되는 OAW VM을 제거합니다. 또한 이 스크립트는 VM과 연결된 디스크 파일 및 보호자를 제거합니다.
자격 증명을 사용하여 HLH에 로그인합니다.
관리자 권한 PowerShell 세션을 엽니다.
설치된 OAW.zip 파일의 압축을 푼 콘텐츠로 이동합니다.
Remove-OAW.ps1 스크립트를 실행하여 VM을 제거합니다.
.\Remove-OAW.ps1 -VirtualMachineName \<name\>
여기서 <이름> 제거할 가상 머신의 이름입니다. 기본적으로 이름은 AzSOAW입니다.
예를 들어:
.\Remove-OAW.ps1 -VirtualMachineName AzSOAW