トラブルシューティング - アプリケーションサーバー

アプリケーションサーバーの構成

Windowsサービスが開始できない

Windowsサービスが開始しない場合、または開始してすぐに停止してしまう場合は、サーバーの構成に問題があります。

サーバーサービスが開始するときには、次に示すような多数のチェックが発生します。

  • SQLデータベースへの適切なアクセス、および予期されたDBアップデートがインストール済みであること。
  • 暗号化方式キーがサーバーに保持され、データベースの記録が、キーをそこに保持すべきことを示していること。
  • サーバー接続モードがBlue Prism認証モードをサポートしていること。
  • ユーザーがデバイス上でリスナーを開始する適切な権利を持つ。
  • 有効なライセンスがインストールされている。

問題の原因を特定するには、以下の手順に従ってください。

  • BPServer.exeユーティリティ内に警告メッセージがあるかどうか、プロファイルをチェックする - これにより、このプロファイルのサーバーサービスが未構成である場合、または暗号化証明書が必要なのに見つからない場合、サービスログオンユーザーがリスナーを開始する適切な権利を持っていない場合などの問題が明確になります。
  • イベントビューアー内のメッセージを確認する - これにより、サーバーサービスプロファイルが見つからない場合、サーバーがデータベースを認証できない場合、暗号化証明書が必要なのに証明書に問題がある場合、予期される暗号化方式がサービスプロファイル内に見つからない場合、サーバーログオンアカウントがリスナーを開始する適切な権利を持っていない場合などの問題が明確になります。

  • BPServer.exeユーティリティを使用してサービスの開始を試みる - 現在ログインしているユーザーのコンテキストでサービス開始を試みるため、この方法でこのユーティリティを使用するのに適しているのは、トラブルシューティングが目的の場合のみです。ローカルでログオンしたユーザーにサービスログオンアカウントとは別の許可がある場合、ここで見られる動作は、サービスがサービス管理コンソールから始まるのと比べ異なる場合があります。たとえば、サービスがWindows認証を使ってSQLに接続するよう構成される場合、現在ログインしているユーザーは、ターゲットSQLサーバー上のBlue Prismデータベースに対する、適切な最小限の権利を持つ必要があります。

有効なライセンスを削除できなかった

Service cannot be started.(サービスが開始できません。) System.NotSupportedException: A valid license could not be detected.(有効なライセンスが見つかりませんでした。)

Blue Prismサーバーを開始できるようにするためには、環境用の有効なライセンスを構成する必要があります。

Blue Prismユーザーインターフェイス経由で、新しいライセンスキーをインストールできます。場合によっては、このアクションを実行するためにデータベースへの直接接続を持つクライアントを使用する必要があります。

暗号化キーが解決できない

Service cannot be started.(サービスが開始できません。) BluePrism.BPCoreLib.InvalidStateException: The following encryption keys could not be resolved:(次の暗号化キーを解決できませんでした。) 2018 Q2 Encryption Scheme, Default Encryption Scheme

このエラーは、サーバー上にあると予想されているが見つからない暗号化方式キーがあることを示しています。上のエラーは、Blue Prismサーバー上でローカルに定義される次の2つの方式が見つからないことを示しています。「2018 Q2 Encryption Scheme」および「Default Encryption Scheme」。

データベース内で構成された暗号化方式記録をチェックする必要があります。また、それぞれにサーバーのキーの場所が1つあること、Blue Prismサーバー上に作成された適切な暗号化方式記録があることを確認します。Blue Prismサーバー構成ユーティリティ内の設定に対するクライアント内の設定比較の一例です。

サービスを実行しているアカウントにサービスを作成する権利がない

以下のようなエラーは、サービスを実行中のアカウントが、構成済みの設定上で待ち受けるためのサービスを構成する適切な許可を持っていないことを示します。

BluePrism.BPCoreLib.InvalidStateException: サーバーを開始しようとしているときにエラーが発生しました。The account the service is running as (AD\bpserverservice001) does not have the right to create services that listen on the server's namespace.(サービスを実行しているアカウント(AD\bpserverservice001)は、サーバーの名前スペース上で待ち受けるサービスを構成する許可を持っていません。)

これは、Blue Prismサーバーがローカル管理者以外のユーザーとして開始されるとき、またはアクセス制御リスト(ACL)が適切に構成されていない場合のよくあるメッセージです。

この問題を解決するには、以下のいずれかを行います。

  • Blue Prismサーバー構成ユーティリティを使用して、構成済みユーザーがサービスを開始する許可をセットアップする。
  • イベントビューアーメッセージ内で提供されたコマンドを実行する。

重要なのは、ACL許可が、サービスを開始するユーザー専用に作成されること、およびサーバーバインドが指定されない場合にはジェネリックURLを使用するか、特定のサーバーバインドに直接合致するURLを使用して構成されるようにすることです。

サービスの確認エラー

Blue Prismサーバープロファイルを編集する際にこのエラーが表示される場合、それは現在のログインユーザーがローカル管理者かどうかを検証するときにエラーが発生したことを示します。

このエラーは、ローカルユーザーアカウントがActive Directoryドメインメンバーのデバイスにアクセスするために使用されていて、ドメインコントローラーに接続できない場合に発生することが知られています。ドメインコントローラーに接続できることを確認する必要があります。

暗号化証明書が見つからない

暗号化に使用される証明書にアクセスできない場合、または証明書を復元できない場合は、次のメッセージが表示されます。The certificate used for encryption of the server configuration cannot be found.(サーバー構成の暗号化に使用する証明書が見つかりません) Please add the certificate with the correct thumbprint to the certificate store.(正しいサムプリントを持つ証明書を証明書ストアに追加してください)

この場合、Blue Prismサーバーの設定を行っているユーザーは、サーバー構成プロファイルを再度作成する必要があります。これを行うには、Automate.configファイルを削除します。このファイルは、ProgramData\Blue Prism Limited\Automate V3にあります。BPServer.exeが起動し、新しいAutomate.configファイルが自動的に作成されます。その後、暗号化方式および新しい証明書を新しいサーバー構成ファイルに適用できます。

Kerberos認証のサービスプリンシパル名(SPN)の構成

DNS参照が機能していることを確認する

  1. Blue Prismインタラクティブクライアントの[接続構成]画面で、構成済みのBlue Prismサーバーのホスト名を確認します。
  2. 次のBlue Prismインタラクティブクライアントからnslookup <BP Server hostname>を使用して、DNSフォーワードルックアップ(正引き)を実行します

    これにより、SPN登録で使用するFQDNが返されます。

それでも問題が解決しない場合は、社内のITチームに連絡してトラブルシューティングを行ってください。

SPNが正しく登録されていることを確認する

  1. コマンドプロンプトを管理者として開き、setspn -L ACCOUNT_NAMEコマンドを実行します。

    これにより、SPN登録時に指定したアカウントに登録されたSPNが一覧表示されます。

  2. 返されたSPNが登録したものと同じであることを確認してください。SPNは次の形式である必要があります:<service class>/<host>: <port>/<service name>/

    ここでは、

    • サービスクラスはHTTPです。これはHTTPSに変更しないでください。
    • ホストはBlue PrismアプリケーションサーバーのFQDNです。例:appserver.bpdomain.local
    • ポートは、Blue Prismアプリケーションサーバーが実行中のポートです。デフォルトは8199です
    • サービス名はBPサーバーです

SPNが正しく機能するには、「SPNの構成」で説明されているとおりにSPNを構成することが重要です。SPNはActive Directoryフォレスト内で一意である必要がありますが、状況によっては重複して存在する場合があります。重複エントリを確認するには、setspn -F -Q */BPserverを使用できます。これにより、「BPserver」を含むフォレスト内のすべてのSPNエントリが一覧表示されます。エントリが複数ある場合は、setspn -D SPN_NAME ACCOUNT_NAMEコマンドを実行して削除できます。

Kerberosサービスチケットを確認する

SPNが正しいアカウントに登録されている場合、Kerberosサービスチケットが取得できることを確認するために、昇格していないコマンドラインからklistを使用できるようにする必要があります。

以下の方法で行います。

  • klist purgeを使用してKerberosチケットを消去する。
  • クライアントマシンでklist get SPN_NAME(例:klist get HTTP/appserver.bpdomain.local:8199/BPServer)を実行して、以下の出力を取得する。SPNがユーザーとは異なるレルムにある場合は、klist get SPN_NAME@KERBEROS_REALMを実行してテストできます。

Kerberosサービスチケットの例:

コピー
Client: testuser @ BPDOMAIN.LOCALServer: HTTP/appserver.bpdomain.local:8199/BPServer @ BPDOMAIN.LOCALKerbTicket Encryption Type: RSADSI RC4-HMAC(NT)Ticket Flags 0x40a10000 -> forwardable renewable pre_authent ok_as_delegatename_canonicalizeStart Time: 1/11/2022 12:00:00 (local)End Time:  1/12/2022 22:00:00 (local)Renew Time: 1/18/2022 12:00:00 (local)Session Key Type: RSADSI RC4-HMAC(NT)Cache Flags: 0x200 -> DISABLE-TGT-DELEGATIONKdc Called: dc1.bpdomain.local

Kerberosサービスチケットは、上記の例の「Server:」セクションをチェックして、確認できます。登録されたSPNのKerberosサービスチケットが返ってこない場合は、これまでの手順が正しく実行されていることを確認してください。

上記の手順に従っても登録したSPNのKerberosチケットを返すことができない場合は、WindowsのKerberos認証が正常に機能していないため、社内のITチームに連絡して詳細を調べる必要があります。

登録したSPNのKerberosサービスチケットを正常に返すことができたのに問題が解決しない場合は、以下のセクションを参照してください。

RC4暗号化

上記の例では、Kerberosサービスチケットの基本暗号タイプはRC4であり、これは脆弱な暗号とみなされ、使用は推奨されません。

一部の環境では、RC4チケットが生成されますが、クライアントがそのようなKerberosチケットを受け入れて使用することを防止するルールが有効になっている場合があります。

上記の例のようにRC4チケットが生成される場合は、社内ITチームに連絡して、サービスアカウントのKerberos認証メカニズムがRC4を使用できるか、またはAES暗号化が有効になっているかを確認してください。Kerberosの認証タイプは、上記の例の「KerbTicket暗号タイプ」のセクションで確認できます。

アプリケーションサーバーの接続

Blue Prismデバイスをアプリケーションサーバーに接続しているときのエラーは、さまざまな要因で発生する可能性があります。次を検証することを強く推奨します。

  • Blue Prismサーバーサービスが開始されている。
  • サーバーサービスに使用されているアドレスは解決可能(DNS経由など)であり、そのネットワーク接続は阻止されていない(ファイアウォールが適切に構成されていることを確認するなど)。
  • 接続デバイスが、以下のとおり正しい設定で構成されている:
    • サーバー接続モードとポートがサーバー上で定義されたものと一致している。
    • サーバーがアドレスバインドを使用して構成されている場合、デバイスがそのアドレスを使って接続されている。
  • サーバーが、転送の暗号化を使用するよう構成されている場合は、サーバー証明書を発行した証明機関を、デバイスを接続することによって信頼する必要があります。

データベースに接続する

一般的な接続に関するアドバイスについては、「データベースコネクティビティ」のトラブルシューティングセクションを参照してください。

トラブルシューティングを行うとき、SQL認証に使用されるアカウントは、以下のとおり、サーバーが使用する接続上に構成されたSQL認証モードによって決まることを考慮に入れてください。

  • SQL認証 - 接続上で指定されている認証情報を使用します。
  • Windows認証 - サーバーサービスのコンテキストを使用します。アカウントは、Windowsサービスコンソールからサービスを開始する場合はサービスログオンアカウントです。サービスをBPServer.exeから直接開始する場合には現在ログインしているユーザーです。

データベースが存在しない

Service cannot be started.(サービスが開始できません。) BluePrism.BPCoreLib.InvalidStateException: Connection not valid:(接続が無効:) Server is unavailable(サーバーが利用できません)

データベース 'BP_Prod_Native' は存在しません

このエラーは、データベースが見つからないことを示しています。

データベースサーバーおよびデータベース名が正しいことを検証します。Blue Prismデータベースがまだ作成されていない場合、適切なSQL許可を持つユーザーは、製品内の「データベースを作成」アクションを使用することによって、またはCreateScript.sqlを使用することによって、これを達成できます。

不正な許可

Service cannot be started.(サービスが開始できません。) BluePrism.BPCoreLib.InvalidStateException: Connection not valid:(接続が無効:) Server is unavailable(サーバーが利用できません)

ログインで要求されたデータベース"BP_Prod_Native"を開けません。The login failed.(ログインに失敗しました。)

このエラーは、データベースに対する認証を使用したユーザーがデータベースにアクセスする権利を持っていないことを示しています。

ユーザーは、少なくとも、ターゲットデータベース上で、最小限の許可を満たすか、上回るSQL許可を付与される必要があります。

不正な認証情報

Service cannot be started.(サービスが開始できません。) BluePrism.BPCoreLib.InvalidStateException: Connection not valid:(接続が無効:) Server is unavailable(サーバーが利用できません)

データベースが存在するかどうかを判断できません - ユーザーのログインに失敗しました

このエラーは、データベースアクセスに使用されたユーザー認証情報が間違っていることを示しています(例:無効なユーザー名やパスワード)。

使用しているユーザー認証情報と、ターゲットデータベース上のユーザーのSQL許可が最小限の許可を満たしているか、または上回っていることを検証してください。