一般的なトラブルシューティング - Amazon AppStream 2.0
SAML フェデレーションが機能していません。ユーザーには AppStream 2.0 アプリケーションを表示する権限がありません。ADFS ポータルからフェデレーションした後、ストリーミングセッションは開始されません。「接続が切断されました」というエラーが表示されます。無効なリダイレクトURIエラーが発生します。自分のイメージビルダーとフリートが [実行中] 状態になることはありません。DNS サーバーは Simple AD ディレクトリにあります。ユーザーのためにアプリケーション設定の永続化を有効にしましたが、永続的なアプリケーション設定が保存またはロードされません。​ユーザーに対してアプリケーション設定の永続化を有効にしましたが、特定のストリーミングアプリケーションでは、ユーザーのパスワードがセッション間で永続化されません。Google Chrome データは、ユーザーの永続的なアプリケーション設定を含むVHDファイルを埋めています。このため、ユーザーの設定が保持されません。Chrome プロファイルを管理する方法を教えてください。埋め込み AppStream 2.0 ストリーミングセッション用にカスタムドメインをセットアップしましたが、 AppStream 2.0 ストリーミングURLsはカスタムドメインにリダイレクトされません。スマートカード対応の AppStream 2.0 フリートでアプリケーションを起動しましたが、認証に使用できる証明書の数は限られています (またはなし)。認定伝達サービスは、スマートカード対応 AppStream 2.0 フリートでは開始されません。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

一般的なトラブルシューティング

Amazon AppStream 2.0 の使用時に発生する可能性がある一般的な問題は次のとおりです。

問題

SAML フェデレーションが機能していません。ユーザーには AppStream 2.0 アプリケーションを表示する権限がありません。

これは、2.0 SAML フェデレーションIAMロールに埋め込まれているインラインポリシーにスタック へのアクセス許可が含まれていないために発生する可能性がありますARN。IAM ロールは、 AppStream 2.0 スタックにアクセスするフェデレーティッドユーザーが引き受けます。ロールのアクセス許可を編集して、スタック を含めますARN。詳細については、「 IAMユーザーガイド」のAmazon AppStream 2.0 と 2.0 SAML の統合「」および「 を使用した 2.0 フェデレーションのトラブルシューティング」を参照してください。 SAML AWS

ADFS ポータルからフェデレーションした後、ストリーミングセッションは開始されません。「接続が切断されました」というエラーが表示されます。

NameID SAML 属性のクレームルールの受信クレームタイプを に設定UPNし、接続を再試行してください。

無効なリダイレクトURIエラーが発生します。

このエラーは、形式が正しくないか、無効な AppStream 2.0 スタックリレー状態 が原因で発生しますURL。フェデレーション設定で設定されたリレーステートが、 AppStream 2.0 コンソールを介してスタックの詳細に表示されるスタックリレーステートと同じであることを確認します。同じで問題が解決しない場合は、 にお問い合わせください AWS Support。詳細については、「Amazon AppStream 2.0 と 2.0 SAML の統合」を参照してください。

自分のイメージビルダーとフリートが [実行中] 状態になることはありません。DNS サーバーは Simple AD ディレクトリにあります。

AppStream 2.0 は、 内のDNSサーバーに依存しVPCて、存在しないローカルドメイン名に対して存在しないドメイン (NXDOMAIN) レスポンスを返します。これにより、 AppStream 2.0 マネージドネットワークインターフェイスが管理サーバーと通信できるようになります。

Simple AD でディレクトリを作成すると、 はユーザーに代わってDNSサーバーとしても機能する 2 つのドメインコントローラー AWS Directory Service を作成します。ドメインコントローラーはNXDOMAINレスポンスを提供しないため、 AppStream 2.0 では使用できません。

ユーザーのためにアプリケーション設定の永続化を有効にしましたが、永続的なアプリケーション設定が保存またはロードされません。

AppStream 2.0 は、Windows インスタンス上の特定の場所に作成されたアプリケーション設定を自動的に保存します。これらの設定が保存されるのは、アプリケーションによって以下のいずれかの場所に保存された場合に限ります。サポートされている場所のリストについては、「アプリケーション設定の永続化の仕組み」を参照してください。アプリケーションの保存先を C:\Users\%username% に設定していて、ユーザーのアプリケーション設定がセッション間で保持されないときは、マウントポイントが作成されていない場合があります。これにより、ユーザーの永続的なアプリケーション設定を含むVHDファイルに設定が保存されなくなります。

この問題を解決するには、以下の手順を実行します。

  1. フリートインスタンスで File Explorer を開き、ユーザープロファイルディレクトリ (C:\Users\%username%) を参照します。

  2. このディレクトリにシンボリックリンクが含まれているかどうかを確認し、以下のいずれかの操作を行います。

    • シンボリックリンクがある場合は、それが D:\%username% を指していることを確認します。

    • シンボリックリンクがない場合は、C:\Users\%username% ディレクトリの削除を試行します。

      このディレクトリを削除できない場合は、このディレクトリ内で削除を妨げているファイルを特定し、このファイルを作成したアプリケーションを特定します。次に、ファイルのアクセス許可を変更する方法またはファイルを移動する方法について、アプリケーションベンダーに問い合わせます。

      このディレクトリを削除できる場合は、この問題を解決するための詳細なガイダンス AWS Support について にお問い合わせください。詳細については、AWS Support センターを参照してください。

​ユーザーに対してアプリケーション設定の永続化を有効にしましたが、特定のストリーミングアプリケーションでは、ユーザーのパスワードがセッション間で永続化されません。

次の場合にこの問題が発生します。

  • ユーザーは、Microsoft Data Protection を使用する 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

ストリーミング のデフォルトの AppStream 2.0 エンドポイントを置き換えるにはURL、 https://appstream2.region カスタムドメインURLを持つ の 。例えば、カスタムドメインが の場合training.example.com、新しいストリーミングURLは次の形式に従う必要があります。

https://training.example.com/authenticate?parameters=authenticationcode

埋め込み AppStream 2.0 ストリーミングセッションのカスタムドメインの設定の詳細については、「」を参照してくださいカスタムドメインを使用するための設定要件

スマートカード対応の AppStream 2.0 フリートでアプリケーションを起動しましたが、認証に使用できる証明書の数は限られています (またはなし)。

この状況は、Certificate Propagation サービスが実行状態になる前にアプリケーションが起動された場合に発生します。

この問題を解決するには、 PowerShell モジュール Get-Service を使用して Certificate Propagation サービスのステータスをクエリし、アプリケーションを起動する前に実行中の状態であることを確認します。

例えば、次のスクリプトでは、Certificate Propagation サービスが実行されるまでアプリケーションは起動されません。

$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: $_" } }

認定伝達サービスは、スマートカード対応 AppStream 2.0 フリートでは開始されません。

Certificate Propagation サービスが開始されない場合、サービスのスタートアップタイプを [Disabled] (無効) に設定する必要があります。これを解決するには、フリートのイメージの作成に使用した AppStream 2.0 Image Builder で Windows Services Microsoft マネジメントコンソールを起動し、証明書の伝播サービスの起動タイプが Disabled に設定されていないことを確認します。

起動タイプが Disabled に設定されておらず、サービスがまだ AppStream 2.0 フリートで起動していない場合は、フリートインスタンスの起動時に PowerShell モジュール Start-Service を使用して Certificate Propagation サービスを開始します。

例えば、次の 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) }