

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

# 一般的なトラブルシューティング
<a name="troubleshooting-general"></a>

以下は、Amazon WorkSpaces アプリケーションを使用する際に発生する可能性がある一般的な問題です。

**Topics**
+ [SAML フェデレーションが機能していません。ユーザーには WorkSpaces アプリケーションを表示する権限がありません。](#troubleshooting-13)
+ [ADFS ポータルからのフェデレーション後に、ストリーミングセッションが開始されません。「接続が切断されました」というエラーが表示されます。](#troubleshooting-adfs-upn)
+ [無効なリダイレクト URI エラーが発生します。](#troubleshooting-14)
+ [自分のイメージビルダーとフリートが [実行中] 状態になることはありません。自分の DNS サーバーは Simple AD ディレクトリにあります。](#fleets-image-builders-dont-run-simple-ad)
+ [ユーザーのためにアプリケーション設定の永続化を有効にしましたが、永続的なアプリケーション設定が保存またはロードされません。](#app-settings-save-load-failure)
+ [​ユーザーに対してアプリケーション設定の永続化を有効にしましたが、特定のストリーミングアプリケーションでは、ユーザーのパスワードがセッション間で永続化されません。](#app-settings-passwords-not-persisting)
+ [Google Chrome データが、ユーザーの永続的なアプリケーション設定を保持する VHD ファイルに保存されます。このため、ユーザーの設定が保持されません。Chrome プロファイルを管理する方法を教えてください。](#chrome-filling-up-app-settings-VHD)
+ [埋め込み WorkSpaces アプリケーションストリーミングセッション用にカスタムドメインをセットアップしましたが、WorkSpaces アプリケーションストリーミング URLsはカスタムドメインにリダイレクトされません。](#embedded-streaming-sessions-streaming-urls-not-redirected-to-custom-domain)
+ [スマートカード対応の WorkSpaces Applications フリートでアプリを起動しましたが、アプリが認証に使用できる証明書の数は限られています (またはなし）。](#no-or-limited-certificates-for-authentication-on-smartcard-fleet)
+ [認定伝達サービスは、スマートカード対応の WorkSpaces Applications フリートでは開始されません。](#certification-propogation-not-starting-on-smartcard-fleet)
+ [SAML 認証後に Active Directory のユーザー名またはパスワードでログインできません。](#troubleshooting-saml-auth)

## SAML フェデレーションが機能していません。ユーザーには WorkSpaces アプリケーションを表示する権限がありません。
<a name="troubleshooting-13"></a>

このエラーは、SAML 2.0 フェデレーションの IAM ロール用に埋め込まれているインラインポリシーに、スタック ARN へのアクセス許可が含まれていないことが原因で発生する可能性があります。IAM ロールは、WorkSpaces アプリケーションスタックにアクセスするフェデレーティッドユーザーが引き受けます。ロールのアクセス許可を編集して、スタック ARN を含めます。詳細については、*IAM ユーザーガイド*の「[Amazon WorkSpaces アプリケーションと SAML 2.0 の統合](external-identity-providers.md)」および「[AWSでの SAML 2.0 フェデレーションのトラブルシューティング](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_saml.html)」を参照してください。

## ADFS ポータルからのフェデレーション後に、ストリーミングセッションが開始されません。「接続が切断されました」というエラーが表示されます。
<a name="troubleshooting-adfs-upn"></a>

**NameID** SAML 属性で、クレームルールの [**Incoming Claim Type**] を [**UPN**] に設定し、接続をやり直してください。

## 無効なリダイレクト URI エラーが発生します。
<a name="troubleshooting-14"></a>

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

## 自分のイメージビルダーとフリートが [実行中] 状態になることはありません。自分の DNS サーバーは Simple AD ディレクトリにあります。
<a name="fleets-image-builders-dont-run-simple-ad"></a>

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

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

## ユーザーのためにアプリケーション設定の永続化を有効にしましたが、永続的なアプリケーション設定が保存またはロードされません。
<a name="app-settings-save-load-failure"></a>

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

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

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

1. このディレクトリにシンボリックリンクが含まれているかどうかを確認し、以下のいずれかの操作を行います。
   + シンボリックリンクがある場合は、それが D:\$1%username% を指していることを確認します。
   + シンボリックリンクがない場合は、C:\$1Users\$1%username% ディレクトリの削除を試行します。

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

     このディレクトリを削除できる場合は、この問題を解決するための詳細なガイダンス AWS サポート について にお問い合わせください。詳細については、[AWS サポート センター](https://console.aws.amazon.com/support/home#/)を参照してください。

## ​ユーザーに対してアプリケーション設定の永続化を有効にしましたが、特定のストリーミングアプリケーションでは、ユーザーのパスワードがセッション間で永続化されません。
<a name="app-settings-passwords-not-persisting"></a>

次の場合にこの問題が発生します。
+ ユーザーは、[Microsoft Data Protection API](https://docs.microsoft.com/en-us/windows/desktop/seccng/cng-dpapi) を使用する Microsoft Outlook などのストリーミングアプリケーションです。
+ アプリケーション設定の永続化は、Active Directory ドメインに参加していないストリーミングインスタンスに対して有効になります。

ストリーミングインスタンスが Active Directory ドメインに参加していない場合、Windows ユーザーの PhotonUser はフリートインスタンスごとに異なります。DPAPI セキュリティモデルの機能上の理由から、このシナリオで DPAPI を使用するアプリケーションではユーザーのパスワードは保持されません。​ ストリーミングインスタンスが Active Directory ドメインに参加していて、そのユーザーがドメインユーザーである場合、Windows ユーザー名はログインしているユーザーの名前であり、DPAPI を使用するアプリケーションではユーザーのパスワードは保持されます。

## Google Chrome データが、ユーザーの永続的なアプリケーション設定を保持する VHD ファイルに保存されます。このため、ユーザーの設定が保持されません。Chrome プロファイルを管理する方法を教えてください。
<a name="chrome-filling-up-app-settings-VHD"></a>

デフォルトでは、Google Chrome はユーザーデータとローカルディスクキャッシュの両方を Windows ユーザープロファイルに保存します。ユーザーの永続的なアプリケーション設定が保持されている VHD ファイルにローカルディスクキャッシュデータが保存されないようにするには、ユーザーデータのみを保存するように Chrome を設定します。これを行うには、フリートインスタンスで管理者としてコマンドラインを開き、以下のパラメータを指定して Chrome を開始し、ディスクキャッシュの場所を変更します。

`chrome.exe --disk-cache-dir C:\`*path-to-unsaved-location*`\`

これらのパラメータを使用して Chrome を実行すると、WorkSpaces アプリケーションセッション間でディスクキャッシュが保持されなくなります。

## 埋め込み WorkSpaces アプリケーションストリーミングセッション用にカスタムドメインをセットアップしましたが、WorkSpaces アプリケーションストリーミング URLsはカスタムドメインにリダイレクトされません。
<a name="embedded-streaming-sessions-streaming-urls-not-redirected-to-custom-domain"></a>

この問題を解決するには、WorkSpaces アプリケーションストリーミング URL を作成したときに、WorkSpaces アプリケーションエンドポイントをカスタムドメインに置き換えたことを確認します。デフォルトでは、WorkSpaces アプリケーションのストリーミング URLs次のようにフォーマットされます。

```
https://appstream2.region.aws.amazon.com/authenticate?parameters=authenticationcode
```

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

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

埋め込み WorkSpaces アプリケーションストリーミングセッションのカスタムドメインの設定の詳細については、「」を参照してください[カスタムドメインを使用するための設定要件](create-streaming-url-user-authentication.md#configuration-requirements-custom-domains)。

## スマートカード対応の WorkSpaces Applications フリートでアプリを起動しましたが、アプリが認証に使用できる証明書の数は限られています (またはなし）。
<a name="no-or-limited-certificates-for-authentication-on-smartcard-fleet"></a>

この状況は、[Certificate Propagation](https://docs.microsoft.com/en-us/windows/security/identity-protection/smart-cards/smart-card-certificate-propagation-service) サービスが実行状態になる前にアプリケーションが起動された場合に発生します。

この問題を解決するには、PowerShell モジュール [Get-Service](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-service?view=powershell-7.1) を使用して 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: $_"
        
    }
}
```

## 認定伝達サービスは、スマートカード対応の WorkSpaces Applications フリートでは開始されません。
<a name="certification-propogation-not-starting-on-smartcard-fleet"></a>

[Certificate Propagation](https://docs.microsoft.com/en-us/windows/security/identity-protection/smart-cards/smart-card-certificate-propagation-service) サービスが開始されない場合、サービスのスタートアップタイプを [**Disabled**] (無効) に設定する必要があります。これを解決するには、フリートのイメージの作成に使用した WorkSpaces Applications Image Builder で Windows Services Microsoft マネジメントコンソールを起動し、Certificate Propagation サービスのスタートアップタイプが無効に設定されていないことを確認します****。

スタートアップタイプが無効に設定されておらず****、サービスが WorkSpaces アプリケーションフリートでまだ起動していない場合は、PowerShell モジュール [Start-Service](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-service?view=powershell-7.1) を使用して、フリートインスタンスの起動時に 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)
}
```

## SAML 認証後に Active Directory のユーザー名またはパスワードでログインできません。
<a name="troubleshooting-saml-auth"></a>

SAML クレームの nameID は、Active Directory の username と一致する必要があります。IdP によっては、特定の属性を調整した後、更新、再読み込み、または再デプロイが必要になります。調整を行っても SAML キャプチャに反映されない場合は、変更を有効にするために必要な特定のステップについて、IdP のドキュメントまたはサポートプログラムを参照してください。