Azure Stack Hub 운영자 액세스 워크스테이션
OAW(운영자 액세스 워크스테이션)는 Azure Stack Hub의 --Hardware Lifecycle Host(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 등록 | 다시 등록하려면 관리 포털에서 이전 등록 이름 및 리소스 그룹을 가져옵니다. |
마켓플레이스 신디케이션 | HLH에서 SMB 공유를 만들어 다운로드한 이미지 또는 확장을 저장합니다. |
Virtual Machines 만들기 | Azure CLI를 사용하여 가상 머신을 만듭니다. |
AKS 관리 | 스케일링 또는 업그레이드 등의 AKS 클러스터 관리 작업을 수행합니다. |
사전 설치된 소프트웨어
다음 표에서는 OAW VM에 미리 설치된 소프트웨어를 나열합니다.
소프트웨어 이름 | 위치 |
---|---|
비즈니스용 Microsoft Edge | [SystemDrive]\Program Files (x86)\Microsoft\Edge\Application |
Az 모듈 | [SystemDrive]\ProgramFiles\WindowsPowerShell\Modules |
PowerShell 7 | [SystemDrive]\Program Files\PowerShell\7 |
Azure 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(배포 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에 대한 암호입니다. |
IPAddress | 필수 | 가상 머신에서 TCP/IP를 구성하는 정적 IPv4 주소입니다. |
SubnetMask | 필수 | 가상 머신에서 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 및 허브의 시간이 동기화되어 있는지 확인하는 것이 좋습니다. |
ImageFilePath | 선택 사항 | Microsoft에서 제공하는 OAW.vhdx의 경로입니다. 기본값은 이 스크립트의 동일한 부모 폴더 아래에 있는 OAW.vhdx 입니다. |
VirtualMachineName | 선택 사항 | 가상 머신에 할당할 이름입니다. DeploymentData.json 파일에서 명명 접두사를 찾을 수 있는 경우 기본 이름으로 사용됩니다. 그렇지 않으면 AzSOAW가 기본 이름으로 사용됩니다. 다른 이름을 지정하여 기본값을 덮어쓸 수 있습니다. |
VirtualMachineMemory | 선택 사항 | 가상 머신에 할당할 메모리입니다. 기본값은 2GB입니다. |
VirtualProcessorCount | 선택 사항 | 가상 머신에 할당할 가상 프로세서 수입니다. 기본값은 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이 설정된 경우에는 적용되지 않습니다. |
SkipNetworkConfiguration | 선택 사항 | 사용자가 나중에 구성할 수 있도록 가상 머신에 대한 네트워크 구성을 건너뜁니다. |
DeploymentDataFilePath | 선택 사항 | DeploymentData.json의 경로입니다. -SkipNetworkConfiguration이 설정된 경우에는 적용되지 않습니다. |
PhysicalAdapterMACAddress | 선택 사항 | 가상 머신을 연결하는 데 사용할 호스트 네트워크 어댑터의 MAC 주소입니다. - 물리적 네트워크 어댑터가 하나만 있는 경우 이 매개 변수가 필요하지 않으며 유일한 네트워크 어댑터가 사용됩니다. - 물리적 네트워크 어댑터가 두 개 이상 있는 경우 이 매개 변수는 사용할 어댑터를 지정해야 합니다. |
VirtualSwitchName | 선택 사항 | 가상 머신에 대해 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