Active Directory のトラブルシューティング - Amazon AppStream 2.0

Active Directory のトラブルシューティング

以下は、Amazon AppStream 2.0 で Active Directory を設定して使用するときに発生する可能性がある問題です。トラブルシューティングの通知コードのヘルプについては、「通知コードのトラブルシューティング」を参照してください。

Image Builder とフリートインスタンスが「PENDING」状態でスタックする

Image Builder およびフリートインスタンスは、準備完了状態に移行して使用できるようになるまで、最長で 25 分かかることがあります。インスタンスが使用できるようになるまでに 25 分以上かかっている場合は、Active Directory において、新しいコンピュータオブジェクトが適切な組織単位 (OU) で作成されているかどうかを確認します。新しいオブジェクトがある場合は、ストリーミングインスタンスは間もなく利用可能になります。オブジェクトがない場合は、AppStream 2.0 Directory Config でディレクトリ設定の詳細 (ディレクトリ名 (ディレクトリの完全修飾ドメイン名)、サービスアカウントのサインイン認証情報、OU 識別名)を確認します。

Image Builder とフリートのエラーは、フリートまたは Image Builder の [Notifications (通知)] タブの AppStream 2.0 コンソールに表示されます。フリートエラーは、DescribeFleets オペレーションまたは CLI コマンドの describe-fleets 経由で AppStream 2.0 API を使って利用することもできます。

ユーザーが SAML アプリケーションを使用してログインできない

AppStream 2.0 は ID プロバイダから提供される SAML_Subject の「NameID」属性に依存し、ユーザー名フィールドに入力してユーザーをログインさせます。ユーザー名は「domain\username」、または「user@domain.com」形式のいずれかを使用できます。domain\username 形式を使用している場合、domain は NetBIOS 名または完全修飾ドメイン名を使用できます。「user@domain.com」形式を使用する場合、UserPrincipalName 属性を使用できます。SAML_Subject 属性が正しく設定されていることを確認しても問題が解決しない場合は、AWS Support にお問い合わせください。詳細については、AWS Supportセンターを参照してください。

フリートインスタンスが 1 人のユーザーに対しては機能するが、正しくサイクルしない。

フリートインスタンスは、ユーザーがセッションを完了するとサイクルし、各ユーザーが新しいインスタンスを使用するようにします。サイクルされたフリートインスタンスは、オンラインになると、以前のインスタンスのコンピュータ名を使用してドメインに参加します。このオペレーションが正常に発生するには、コンピュータオブジェクトが参加する組織単位 (OU) に対する Change Password アクセス許可と Reset Password アクセス許可がサービスアカウントに必要です。サービスアカウントのアクセス権限を確認して、もう一度試してください。問題が解決しない場合は、AWS Support までお問い合わせください。詳細については、AWS Supportセンターを参照してください。

ユーザーのグループポリシーオブジェクトが正常に適用されていない

デフォルトでは、コンピュータオブジェクトは、そのコンピュータオブジェクトが存在する OU に基づいてコンピュータレベルポリシーを適用します。一方、ユーザーレベルポリシーはそのユーザーが存在する OU に基づいて適用されます。ユーザーレベルポリシーが適用されていない場合、以下のいずれかの処理を行うことができます。

  • ユーザーレベルのポリシーを、ユーザーの Active Directory オブジェクトが存在する OU に移動する

  • コンピュータレベルのループバック処理を有効にします。これにより、ユーザーレベルのポリシーがコンピュータオブジェクトの OU に適用されます。

詳細については、Microsoft サポートの グループ ポリシーのループバック処理を参照してください。

AppStream 2.0 ストリーミングインスタンスが Active Directory ドメインに参加していない。

AppStream 2.0 で使用する Active Directory ドメインは、ストリーミングインスタンスを起動した VPC を通じて完全修飾ドメイン名 (FQDN) を使用してアクセス可能であることが必要です。

ドメインにアクセスできることをテストするには
  1. AppStream 2.0 で使用する同じ VPC、サブネット、セキュリティグループで Amazon EC2 インスタンスを起動します。

  2. AppStream 2.0 で使用するサービスアカウントを使用して、EC2 インスタンスを FQDN (例: yourdomain.example.com) を使用して手動で Active Directory ドメインに結合します。次のコマンドを Windows PowerShell コンソールで実行します。

    netdom join computer /domain:FQDN /OU:path /ud:user /pd:password

    この手動による参加が失敗した場合は、次のステップに進みます。

  3. 手動でドメインに結合できない場合は、コマンドプロンプトを開いて、nslookup コマンドを使用して FQDN を解決できることを確認します。例:

    nslookup yourdomain.exampleco.com

    名前解決が成功すると、有効な IP アドレスが返されます。FQDN を解決できない場合は、必要に応じてドメインの DHCP オプションセットを使用して VPC DNS サーバーを更新します。その後、このステップに戻ります。詳細については、Amazon VPC ユーザーガイドDHCP Options Setsを参照してください。

  4. FQDN が解決した場合は、telnet コマンドを使用して接続を検証します。

    telnet yourdomain.exampleco.com 389

    接続が成功した場合は、接続エラーがない空のコマンドプロンプトウィンドウが表示されます。必要に応じて EC2 インスタンスに Telnet クライアント機能をインストールします。詳細については、Microsoft ドキュメントの「Install Telnet Client」を参照してください。

EC2 インスタンスを手動でドメインに参加させることに失敗したが、FQDN の解決と Telnet クライアントとの接続テストに成功した場合は、VPC セキュリティグループがアクセスをブロックしている可能性があります。Active Directory では特定のネットワークポート設定が必要です。詳細については、Microsoft ドキュメントの Active Directory and Active Directory Domain Services Port Requirements を参照してください。

ドメイン結合されたストリーミングセッションでユーザーログインが完了するまでに時間がかかる。

AppStream 2.0 は、ユーザーがドメインパスワードを入力した後に Windows ログインアクションを実行します。認証に成功したら、AppStream 2.0 はアプリケーションを起動します。ログインと起動時間は、ドメインコントローラーへのネットワークの競合やグループポリシー設定をストリーミングインスタンスに適用するためにかかる時間など、多くの変動要素の影響を受けます。ドメイン認証の完了に時間がかかり過ぎる場合、次のアクションを実行してください。

  • 正しいドメインコントローラーを選択して、AppStream 2.0 リージョンからドメインコントローラーへのネットワークのレイテンシーを最小限に抑えます。たとえば、フリートが us-east-1 にある場合は、[Active Directory サイトとサービス] ゾーンマッピングを使用して us-east-1 への帯域幅が広くレイテンシーが低いドメインコントローラーを使用します。詳細については、Microsoft ドキュメントの「Active Directory サイトとサービス」を参照してください。

  • グループポリシー設定とユーザーログインスクリプトの適用や実行に著しく時間がかかっていないことを確認します。

ドメインユーザーによる AppStream 2.0 へのログインが失敗し、「不明なエラーが発生しました」というメッセージが表示された場合は、必要に応じて Amazon AppStream 2.0 でアクティブディレクトリの使用を開始する前に の説明に従ってグループポリシー設定を更新します。更新しないと、AppStream 2.0 によるドメインユーザーの認証とログインがブロックされる場合があります。

ユーザーは、ドメイン参加済みのストリーミングセッションではドメインリソースにアクセスできないが、ドメイン参加済みの Image Builder からはリソースにアクセスできる

Image Builder と同じ VPC、サブネット、およびセキュリティグループでフリートが作成されていること、およびドメインリソースにアクセスして使用するためのアクセス許可をユーザーに付与していることを確認します。

ユーザーに「証明書ベースの認証が利用できません」というエラーが表示され、ドメインパスワードの入力を求められる。または、証明書ベースの認証が有効になっているセッションを開始すると、「セッションから切断されました」というエラーが表示される

これらのエラーは、証明書ベースの認証がセッションで失敗した場合に発生します。証明書ベースの認証を有効にしてパスワードによるログオンにフォールバックできるようにすると、「証明書ベースの認証は利用できません」というエラーが表示されます。証明書ベースの認証がフォールバックなしで有効になっている場合、「セッションから切断されました」というエラーが表示さます。

ユーザーは、ウェブクライアントでページを更新するか、Windows 用クライアントから再接続できます。これは、証明書ベースの認証では断続的に発生する問題である可能性があるためです。問題が続く場合は、以下のいずれかの問題が原因で証明書ベースの認証が失敗する可能性があります。

  • AppStream 2.0 が AWS プライベート CA と通信できなかったか、AWS プライベート CA が証明書を発行しなかった。CloudTrail をチェックして、証明書が発行されたかどうかを確認します。詳細については、「AWS CloudTrail とは」および「証明書ベースの認証の管理」を参照してください。

  • ドメインコントローラには、スマートカードログオン用のドメインコントローラー証明書がないか、有効期限が切れている。詳細については、「前提条件」のステップ 7。a を参照してください。

  • 証明書が信頼されていない。詳細については、「前提条件」のステップ 7。c を参照してください。

  • SAML_Subject NameID の userPrincipalName 形式が正しくフォーマットされていないか、ユーザーの実際のドメインに解決しない。詳細については、「前提条件」のステップ 1 を参照してください。

  • SAML アサーションの (オプションの) ObjectSid 属性が、SAML_Subject NameID で指定されたユーザーの Active Directory セキュリティ識別子 (SID) と一致しない。SAML フェデレーションの属性マッピングが正しいこと、および SAML ID プロバイダーが Active Directory ユーザーの SID 属性を同期していることを確認します。

  • AppStream 2.0 エージェントが証明書ベースの認証をサポートしていない。AppStream 2.0 エージェントのバージョン 10-13-2022 以降を使用します。

  • スマートカードログオンのデフォルトの Active Directory 設定を変更したり、スマートカードがスマートカードリーダーから取り出された場合にアクションを実行したりするグループポリシー設定があります。これらの設定により、上記のエラー以外にも予期しない動作が発生する可能性があります。証明書ベースの認証では、インスタンスのオペレーティングシステムに仮想スマートカードが提示され、ログオンが完了すると削除されます。詳細については、「スマートカードのプライマリグループポリシー設定」および「その他のスマートカードのグループポリシー設定とレジストリキー」を参照してください。証明書ベースの認証を使用する場合は、スタック内で Active Directory のスマートカードサインインを有効にしないでください。詳細については、「スマートカード」を参照してください。

  • プライベート CA の CRL ディストリビューションポイントがオンラインになっていないか、AppStream 2.0 フリートインスタンスまたはドメインコントローラーからアクセスできない。詳細については、「前提条件」のステップ 5 を参照してください。

その他のトラブルシューティング手順には、AppStream 2.0 インスタンスの Windows イベントログの確認が含まれます。ログオンに失敗したかどうかを確認する一般的なイベントとして、「4625(F): アカウントがログオンできませんでした」があります。ログ情報の取得の詳細については、「アプリケーションログと Windows イベントログの永続化」を参照してください。または、管理者としてアクティブな AppStream 2.0 セッションをトラブルシューティングするには、別のコンピューターでイベントビューアーを使用してログに接続できます。詳細については、「イベントビューアーでコンピューターを選択する方法」 を参照してください。または、リモートデスクトップを使用して、AppStream 2.0 仮想プライベートクラウド (VPC) のリモートデスクトップサービスに接続できる別のコンピューターからインスタンスのプライベート IP アドレスに接続することもできます。AWS CLI を使用して、AWS リージョン、AppStream 2.0 スタック名、フリート名、ユーザー ID、認証タイプに基づいてセッションの IP アドレスを決定します。詳細については、「AWS Command Line Interface」を参照してください。

問題が解決しない場合は、AWS Support までお問い合わせください。詳細については、AWS Supportセンターを参照してください。

Active Directory (AD) サービスアカウントを変更した後、ドメイン結合が失敗しています。

2024 年 8 月の「Microsoft Windows Server オペレーティングシステムの更新」に基づくイメージを持つ既存のフリートがあり、そのフリートの Active Directory (AD) サービスアカウントを変更すると、フリートインスタンスがプロビジョニング中にドメイン結合に失敗する可能性があります。

Microsoft は、ドメイン結合オペレーションの動作を変更するパッチ KB5020276 をリリースしました。AppStream 2.0 は、ストリーミングインスタンスを AD ドメインに結合するときに、既存のコンピュータオブジェクトを再利用します。このコンピュータオブジェクトは、AppStream 2.0 でフリートまたは Directory Config を作成するときに指定した AD サービスアカウントを使用して生成されます。この Microsoft パッチ以前は、新しい AD サービスアカウントは、組織単位 (OU) で「コンピュータオブジェクトの作成」アクセス許可が設定されている限り、AppStream 2.0 によって作成された既存のコンピュータオブジェクトを再利用できます。

2024 年 8 月 13 日以降に Microsoft パッチが適用され、既存の AppStream 2.0 フリートの AD サービスアカウントを変更した場合、新しいサービスアカウントは AD 内の既存のコンピュータオブジェクトを再使用することはできません。これにより、AppStream 2.0 フリートでドメイン結合が失敗し、フリート通知に次のいずれかのエラーメッセージが表示されます。

  • DOMAIN_JOIN_INTERNAL_SERVICE_ERROR 「グループ名が見つかりませんでした。」

  • 同じ名前のアカウントが Active Directory に存在します。アカウントの再利用がセキュリティポリシーによってブロックされました

既存のコンピュータオブジェクトを再利用できるアカウントを制御するために、Microsoft はドメインコントローラー: ドメイン結合中のコンピュータアカウントの再利用を許可するという新しいグループポリシー設定を実装しました。この設定では、ドメイン結合オペレーション中にチェックをバイパスする信頼されたサービスアカウントのリストを指定できます。セルフマネージド AD 設定では、ドメインコントローラーのグループポリシーを使用して、Microsoft が文書化した手順に従って、AD サービスアカウントを新しい許可リストポリシーに追加することをお勧めします。

Managed Active Directory (MAD) の場合、AppStream 2.0 ドメイン参加サービスアカウントを変更した後、AppStream 2.0 フリートを再起動する必要があります。

問題が解決しない場合は、AWS Support までお問い合わせください。詳細については、AWS Supportセンターを参照してください。