Active Directory のトラブルシューティング
以下は、Amazon AppStream 2.0 で Active Directory を設定して使用するときに発生する可能性がある問題です。トラブルシューティングの通知コードのヘルプについては、「通知コードのトラブルシューティング」を参照してください。
問題
- Image Builder とフリートインスタンスが「PENDING」状態でスタックする
- ユーザーが SAML アプリケーションを使用してログインできない
- フリートインスタンスが 1 人のユーザーに対しては機能するが、正しくサイクルしない。
- ユーザーのグループポリシーオブジェクトが正常に適用されていない
- AppStream 2.0 ストリーミングインスタンスが Active Directory ドメインに参加していない。
- ドメイン結合されたストリーミングセッションでユーザーログインが完了するまでに時間がかかる。
- ユーザーは、ドメイン参加済みのストリーミングセッションではドメインリソースにアクセスできないが、ドメイン参加済みの Image Builder からはリソースにアクセスできる
- ユーザーに「証明書ベースの認証が利用できません」というエラーが表示され、ドメインパスワードの入力を求められる。または、証明書ベースの認証が有効になっているセッションを開始すると、「セッションから切断されました」というエラーが表示される
- Active Directory (AD) サービスアカウントを変更した後、ドメイン結合が失敗しています。
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
\usernameuser@domain.com
」形式のいずれかを使用できます。
形式を使用している場合、domain
\username
は NetBIOS 名または完全修飾ドメイン名を使用できます。「domain
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) を使用してアクセス可能であることが必要です。
ドメインにアクセスできることをテストするには
-
AppStream 2.0 で使用する同じ VPC、サブネット、セキュリティグループで Amazon EC2 インスタンスを起動します。
-
AppStream 2.0 で使用するサービスアカウントを使用して、EC2 インスタンスを FQDN (例:
yourdomain.example.com
) を使用して手動で Active Directory ドメインに結合します。次のコマンドを Windows PowerShell コンソールで実行します。netdom join
computer
/domain:FQDN
/OU:path
/ud:user
/pd:password
この手動による参加が失敗した場合は、次のステップに進みます。
-
手動でドメインに結合できない場合は、コマンドプロンプトを開いて、
nslookup
コマンドを使用して FQDN を解決できることを確認します。例:nslookup
yourdomain.exampleco.com
名前解決が成功すると、有効な IP アドレスが返されます。FQDN を解決できない場合は、必要に応じてドメインの DHCP オプションセットを使用して VPC DNS サーバーを更新します。その後、このステップに戻ります。詳細については、Amazon VPC ユーザーガイドのDHCP Options Setsを参照してください。
-
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): アカウントがログオンできませんでした
問題が解決しない場合は、AWS Support までお問い合わせください。詳細については、AWS Supportセンター
Active Directory (AD) サービスアカウントを変更した後、ドメイン結合が失敗しています。
2024 年 8 月の「Microsoft Windows Server オペレーティングシステムの更新
Microsoft は、ドメイン結合オペレーションの動作を変更するパッチ KB5020276
2024 年 8 月 13 日以降に Microsoft パッチが適用され、既存の AppStream 2.0 フリートの AD サービスアカウントを変更した場合、新しいサービスアカウントは AD 内の既存のコンピュータオブジェクトを再使用することはできません。これにより、AppStream 2.0 フリートでドメイン結合が失敗し、フリート通知に次のいずれかのエラーメッセージが表示されます。
-
DOMAIN_JOIN_INTERNAL_SERVICE_ERROR 「グループ名が見つかりませんでした。」
-
同じ名前のアカウントが Active Directory に存在します。アカウントの再利用がセキュリティポリシーによってブロックされました
既存のコンピュータオブジェクトを再利用できるアカウントを制御するために、Microsoft はドメインコントローラー: ドメイン結合中のコンピュータアカウントの再利用を許可するという新しいグループポリシー設定を実装しました。この設定では、ドメイン結合オペレーション中にチェックをバイパスする信頼されたサービスアカウントのリストを指定できます。セルフマネージド AD 設定では、ドメインコントローラーのグループポリシーを使用して、Microsoft が文書化した手順
Managed Active Directory (MAD) の場合、AppStream 2.0 ドメイン参加サービスアカウントを変更した後、AppStream 2.0 フリートを再起動する必要があります。
問題が解決しない場合は、AWS Support までお問い合わせください。詳細については、AWS Supportセンター