기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
일반 문제 해결
Amazon AppStream 2.0을 사용할 때 발생할 수 있는 일반적인 문제는 다음과 같습니다.
문제
- SAML페더레이션이 작동하지 않습니다. 사용자는 AppStream 2.0 애플리케이션을 볼 권한이 없습니다.
- ADFS포털에서 페더레이션한 후 스트리밍 세션이 시작되지 않습니다. "Sorry connection went down"이라는 오류가 표시됩니다.
- 잘못된 리디렉션 URI 오류가 발생합니다.
- 제 이미지 빌더와 플릿이 실행 상태에 도달하지 않습니다. 내 DNS 서버는 Simple AD 디렉터리에 있습니다.
- 내 사용자의 애플리케이션 설정 지속성을 활성화했지만 이들의 지속적 애플리케이션 설정이 저장되거나 로드되지 않습니다.
- 사용자에 대한 애플리케이션 설정 유지를 활성화했지만 특정 스트리밍 애플리케이션의 경우 사용자의 암호가 세션 간에 유지되지 않습니다.
- Google Chrome 데이터가 사용자의 영구 애플리케이션 설정이 들어 있는 VHD 파일을 채우고 있습니다. 이로 인해 사용자의 설정이 지속되지 않습니다. Chrome 프로필을 관리하려면 어떻게 해야 합니까?
- 내장된 AppStream 2.0 스트리밍 세션을 위한 맞춤 도메인을 설정했지만 AppStream 2.0 스트리밍이 사용자 지정 도메인으로 URLs 리디렉션되지 않습니다.
- 스마트카드를 지원하는 AppStream 2.0 플릿에서 앱을 시작했는데 인증에 사용할 수 있는 인증서 수가 제한되어 있거나 없습니다.
- 스마트 카드를 지원하는 2.0 플릿에서는 인증 전파 서비스가 시작되지 않습니다. AppStream
SAML페더레이션이 작동하지 않습니다. 사용자는 AppStream 2.0 애플리케이션을 볼 권한이 없습니다.
SAML2.0 페더레이션 IAM 역할에 내장된 인라인 정책에 ARN 스택에 대한 권한이 포함되어 있지 않기 때문에 이런 일이 발생할 수 있습니다. 2.0 스택에 액세스하는 페더레이션 사용자가 IAM 역할을 맡습니다. AppStream 스택을 포함하도록 역할 권한을 편집하십시오. ARN 자세한 내용은 IAM사용 설명서의 SAML2.0 페더레이션 문제 해결을 참조하십시오 아마존 AppStream 2.0과 SAML 2.0 통합. AWS
ADFS포털에서 페더레이션한 후 스트리밍 세션이 시작되지 않습니다. "Sorry connection went down"이라는 오류가 표시됩니다.
SAMLNameID 속성에 대한 클레임 규칙의 수신 클레임 유형을 UPN로 설정하고 연결을 다시 시도합니다.
잘못된 리디렉션 URI 오류가 발생합니다.
이 오류는 형식이 잘못되었거나 잘못된 AppStream 2.0 스택 릴레이 상태로 인해 발생합니다. URL 페더레이션 설정에서 구성된 릴레이 상태가 AppStream 2.0 콘솔을 통해 스택 세부 정보에 표시되는 스택 릴레이 상태와 동일한지 확인하십시오. 동일한데도 문제가 지속되면 문의하세요 AWS Support. 자세한 내용은 아마존 AppStream 2.0과 SAML 2.0 통합 단원을 참조하십시오.
제 이미지 빌더와 플릿이 실행 상태에 도달하지 않습니다. 내 DNS 서버는 Simple AD 디렉터리에 있습니다.
AppStream 2.0에서는 사용자 내 DNS 서버에 VPC 의존하여 존재하지 않는 로컬 도메인 이름에 대해 존재하지 않는 도메인 (NXDOMAIN) 응답을 반환합니다. 이렇게 하면 AppStream 2.0 관리형 네트워크 인터페이스가 관리 서버와 통신할 수 있습니다.
Simple AD로 디렉터리를 만들면 사용자를 대신하여 DNS 서버로도 작동하는 두 개의 도메인 컨트롤러가 AWS Directory Service 생성됩니다. 도메인 컨트롤러가 NXDOMAIN 응답을 제공하지 않기 때문에 AppStream 2.0에서는 사용할 수 없습니다.
내 사용자의 애플리케이션 설정 지속성을 활성화했지만 이들의 지속적 애플리케이션 설정이 저장되거나 로드되지 않습니다.
AppStream 2.0은 Windows 인스턴스의 특정 위치에서 만든 애플리케이션 설정을 자동으로 저장합니다. 애플리케이션이 이러한 위치 중 하나에 설정을 저장하는 경우에만 설정이 저장됩니다. 지원되는 위치 목록은 애플리케이션 설정 지속성 작동 원리 단원을 참조하십시오. C:\Users\%username%에 저장하도록 애플리케이션이 설정되고 사용자의 애플리케이션 설정이 세션 간에 지속되지 않는 경우, 탑재 지점이 생성되지 않을 수 있습니다. 이렇게 하면 사용자의 영구 애플리케이션 설정이 포함된 VHD 파일에 설정이 저장되지 않습니다.
이 문제를 해결하려면 다음 단계에 따릅니다.
플릿 인스턴스에서 파일 탐색기를 열고 C:\Users\%username%에 있는 사용자 프로필 디렉터리로 이동합니다.
이 디렉터리에 symlink가 포함되어 있는지 확인하고 다음 중 하나를 수행합니다.
symlink가 있다면 symlink가 D:\%username%을 가리키는지 확인합니다.
symlink가 없다면 C:\Users\%username% 디렉터리를 삭제해 보십시오.
이 디렉터리를 삭제할 수 없는 경우, 디렉터리에서 디렉터리 삭제를 막는 파일과 해당 파일을 생성한 애플리케이션을 파악합니다. 그런 다음 애플리케이션 공급업체에게 파일 권한 변경 또는 파일 이동 방법에 관해 문의합니다.
이 디렉터리를 삭제할 수 있는 경우 문의하여 이 문제를 해결하기 AWS Support 위한 추가 지침을 받으십시오. 자세한 내용은 AWS Support Center
를 참조하세요.
사용자에 대한 애플리케이션 설정 유지를 활성화했지만 특정 스트리밍 애플리케이션의 경우 사용자의 암호가 세션 간에 유지되지 않습니다.
이 문제는 다음 경우에 발생합니다.
사용자들은 Microsoft 데이터 보호를
사용하는 Microsoft Outlook과 같은 애플리케이션을 스트리밍하고 API 있습니다. Active Directory 도메인에 조인되지 않은 스트리밍 인스턴스에 대해 앱 설정 유지가 활성화되어 있습니다.
스트리밍 인스턴스가 Active Directory 도메인에 가입되지 않은 경우 Windows 사용자는 플릿 인스턴스마다 다릅니다. PhotonUser DPAPI보안 모델의 작동 방식 때문에 이 시나리오에서 사용하는 DPAPI 애플리케이션에서는 사용자 암호가 유지되지 않습니다. 스트리밍 인스턴스가 Active Directory 도메인에 가입되어 있고 사용자가 도메인 사용자인 경우 Windows 사용자 이름은 로그인한 사용자의 이름이고 사용자 암호는 해당 도메인을 사용하는 응용 프로그램의 암호가 유지됩니다. DPAPI
Google Chrome 데이터가 사용자의 영구 애플리케이션 설정이 들어 있는 VHD 파일을 채우고 있습니다. 이로 인해 사용자의 설정이 지속되지 않습니다. Chrome 프로필을 관리하려면 어떻게 해야 합니까?
기본적으로 Google Chrome은 사용자 데이터와 로컬 디스크 캐시를 Windows 사용자 프로필에 저장합니다. 로컬 디스크 캐시 데이터가 사용자의 영구 애플리케이션 설정이 포함된 VHD 파일을 채우지 않도록 하려면 사용자 데이터만 저장하도록 Chrome을 구성하세요. 그러려면 플릿 인스턴스에서 관리자 권한으로 명령줄을 열고 다음 파라미터로 Chrome을 시작해 디스크 캐시의 위치를 변경합니다.
chrome.exe --disk-cache-dir C:\
path-to-unsaved-location
\
이러한 매개변수로 Chrome을 실행하면 AppStream 2.0 세션 간에 디스크 캐시가 유지되지 않습니다.
내장된 AppStream 2.0 스트리밍 세션을 위한 맞춤 도메인을 설정했지만 AppStream 2.0 스트리밍이 사용자 지정 도메인으로 URLs 리디렉션되지 않습니다.
이 문제를 해결하려면 AppStream 2.0 URL 스트리밍을 생성할 때 AppStream 2.0 엔드포인트를 사용자 지정 도메인으로 교체했는지 확인하세요. 기본적으로 AppStream 2.0 URLs 스트리밍은 다음과 같은 형식입니다.
https://appstream2.
region
.aws.amazon.com/authenticate?parameters=
authenticationcode
URL스트리밍의 기본 AppStream 2.0 엔드포인트를 교체하려면 다음을 대체하십시오. https://appstream2.
region
사용자 지정 URL 도메인으로 예를 들어 커스텀 도메인이 training.example.com
인 경우 새 스트리밍은 다음 형식을 URL 따라야 합니다.
https://training.example.com/authenticate?parameters=
authenticationcode
내장된 AppStream 2.0 스트리밍 세션을 위한 사용자 지정 도메인 구성에 대한 자세한 내용은 을 참조하십시오사용자 지정 도메인 사용을 위한 구성 요구 사항.
스마트카드를 지원하는 AppStream 2.0 플릿에서 앱을 시작했는데 인증에 사용할 수 있는 인증서 수가 제한되어 있거나 없습니다.
이는 인증서 전파
이 문제를 해결하려면 Get-Service PowerShell
예를 들어 다음 스크립트는 인증서 전파 서비스가 실행될 때까지 애플리케이션을 시작하지 않습니다.
$logFile = "$Env:TEMP\AS2\Logging\$(Get-Date -Format "yyyy-MM-dd-HH-mm-ss")_applaunch.log" New-Item -path $logfile -ItemType File -Force | Out-Null Function Write-Log { Param ([string]$message) $stamp = Get-Date -Format "yyyy/MM/dd HH:mm:ss" $logoutput = "$stamp $message" Add-content $logfile -value $logoutput } if (Get-Service -Name "CertPropSvc" | Where-Object -Property Status -eq Running) { Write-Log "The Certificate Propagation Service is running. Launching Application..." try { Start-Process -FilePath "Path to Application" -WindowStyle Maximized -ErrorAction Stop } catch { Write-Log "There was an error launching the application: $_" } } else { do { $status = Get-Service "CertPropSvc" | select-object -ExpandProperty Status Write-Log "The Certificate Propagation service status is currently $status" Start-Sleep -Seconds 2 } until (Get-Service -Name "CertPropSvc" | Where-Object -Property Status -eq Running) write-log "The Certificate Propagation Service is running. Launching Application..." try { Start-Process -FilePath "Path to Application" -WindowStyle Maximized -ErrorAction Stop } catch { Write-Log "There was an error launching the application: $_" } }
스마트 카드를 지원하는 2.0 플릿에서는 인증 전파 서비스가 시작되지 않습니다. AppStream
인증서 전파
시작 유형이 Disabled로 설정되지 않았는데도 서비스가 AppStream 2.0 플릿에서 시작되지 않는 경우 플릿 인스턴스가 시작될 때 Start-Service PowerShell
예를 들어, 다음 PowerShell 스크립트는 서비스가 중지된 상태임을 감지하면 서비스를 시작합니다.
$logFile = "C:\AppStream\Logging\$(Get-Date -Format "yyyy-MM-dd-HH-mm-ss")_certpropcheck.log" New-Item -path $logfile -ItemType File -Force | Out-Null Function Write-Log { Param ([string]$message) $stamp = Get-Date -Format "yyyy/MM/dd HH:mm:ss" $logoutput = "$stamp $message" Add-content $logfile -value $logoutput } if (Get-Service -Name "CertPropSvc" | Where-Object -Property Status -eq Running) { Write-Log "The Certificate Propagation Service is running. Exiting..." Exit } else { do { if (Get-Service -Name "CertPropSvc" | Where-Object -Property Status -eq Stopped) { Write-Log "The Certificate Propagation Service is stopped, attepmting to start..." try { Start-Service -Name "CertPropSvc" -ErrorAction Stop } catch { Write-Log "There was a problem starting the service: $_" break } $status = Get-Service "CertPropSvc" | select-object -ExpandProperty Status Write-Log "The Certificate Propagation service status is currently $status" } else { $status = Get-Service "CertPropSvc" | select-object -ExpandProperty Status Write-Log "The Certificate Propagation service status is currently $status" break } } until (Get-Service -Name "CertPropSvc" | Where-Object -Property Status -eq Running) }