- 基本情報
- 要件
- ベスト プラクティス
- インストール
- 更新
- Identity Server
- 起動エラーのトラブルシューティング
インストールの前提条件
- Windows Server Operating System - 最低限必要なバージョン: 2012 R2。その他のサポートされるバージョンについては、「ソフトウェア要件」をご覧ください。
- PowerShell - 必要となる最低バージョンは 5.1 です。Windows PowerShell バージョン 5.1 をダウンロードするには、こちらのリンクから Windows Management Framework 5.1 をインストールしてください。その他のヘルプについては、 Windows PowerShell 5.1 のインストール ドキュメントをご覧ください。
- .NET Framework - 最低限必要なバージョン: 4.7.2。コンピューターにインストールされている .NET のバージョンを確認するには、「インストールされている .NET バージョンを確認する」をご覧ください。
- IIS - 最低限必要なバージョン: 8。Web Server (IIS) の役割の一部であり、提供される
InstallRolesAndFeatures.ps1
スクリプトにより自動的に有効化されます (こちらを参照)。 - ASP.NET Core IIS モジュール - 最小バージョン 3.1.x はこちらから、5.0.x はこちらから、6.0.x はこちらから入手できます。これはホスティング バンドルの一部として利用できます。ダウンロードするには、Hosting Bundle をクリックしてください。以下の画像を参考にしてください。
注: コア モジュールのみが必要です。コマンド ラインから
OPT_NO_RUNTIME=1
パラメーターを使用すると、ランタイムなしでインストールできます。 - URL Rewrite - 最低限必要なバージョン:
2.1
。Web サイトで http (http://servername
) ではなく、https (https://servername
) に呼び出しをリダイレクトできるようにします。URL Rewrite は、このリンクからダウンロードしてインストールしてください。 - サーバーの役割と機能。アプリケーション サーバーに必要な役割や機能を自動的に追加する PowerShell スクリプトを利用できます。役割と機能のリストは、「サーバーの役割と機能」に掲載されています。このページは、情報提供のみを目的として提供されています。
- Web Deploy 拡張機能 - 最低限必要なバージョン: 3.6、64 ビット バージョン。Azure one などの PowerShell スクリプトのインストールでのみ必要です。Web サイトをデプロイできるようになります。Web Deploy 拡張機能 3.6 は、こちらのリンクからダウンロードしてください。
- Web.Config -
web.config
内の<system.webServer>
要素にロックされたセクションを含めることはできません。ロックされたセクションが存在する場合は、IIS で手動でロック解除する必要があります。 - アプリケーション プール ユーザーには、ローカル コンピューター ポリシーで次の権限が割り当てられている必要があります。
- バッチ ジョブとしてログオンする権限
- 匿名認証を有効化する必要があります。
重要: インストールを実行するユーザーはドメイン ユーザーで、
WindowsAuth.Domain
の設定で構成された Active Directory ドメイン アクセスを持っている必要があります。
ユーザーが Web アプリケーションにアクセスするすべてのブラウザーにおける Robot と Orchestrator 間の通信には、すべて HTTPS プロトコルが必須です。
次の 3 種類の Web 証明書を使用できます。
- GoDaddy、VeriSign などの信頼された証明機関が発行した Web 証明書。Web 証明書は、IIS のサーバー証明書へインポートする必要があります。Windows インストーラーに入力を求められる際に「Issued To」エンティティの名前を提供する必要があるため、これを把握しておく必要があります。
- 自身が、Windowsドメインで信頼された証明書を発行できる認証機関である場合。詳しくは、「証明書を使用して HTTPS プロトコルを有効化する」をご覧ください。
- 自己署名証明書 (運用環境には推奨されません)。この証明書は、ドメイン内では信頼されません。そのため、公開キーをエクスポートし、すべてのロボット端末にインポートする必要があります。詳しくは、「証明書を使用して HTTPS プロトコルを有効化する」をご覧ください。
-sslCertificate
を使用するコマンド ラインに記載する情報は、IIS のサーバー証明書の Issued To 列に表示されます。
セキュリティ上の理由から、Identity Server で使用する証明書は次の要件を満たしている必要があります。
- 2048 ビット以上の公開キーがあること
- 署名可能
-
AppPool ユーザーがアクセスできる秘密キーがあること
- 有効期間内である (失効していない)
appsettings.Production.json
の署名資格情報セクションに設定します。
自己署名証明書を使用する場合、(通常の個人用ストアに加え) 信頼されたルート証明機関の証明書ストアにも配置しておく必要があります。
- SQL Server 製品は、アプリケーション サーバー (本番環境では推奨されていません) と同じ端末にインストールするか、または別の端末として使用することができます。SQL Server 端末は、他のアプリケーションと共有することができ、Orchestrator 専用にする必要はありません。Always On 可用性グループのデプロイ方法に関する前提条件、制限、推奨についてはこちら、フィジカル デプロイ オプションについての詳細についてはこちらをご覧ください。
- SQL Server ユーザーを使用して Orchestrator をデータベースに接続する場合は、Windows および SQL サーバー認証モードを有効化します。または、「Windows 認証モード」でも可能です。SQL Server が既にインストールされている場合は、以下の画像に示されるようにこのオプションを選択してください。
注: SQL Server ユーザーはサーバー レベルのアクセス権を持つ必要があります。インストールを成功させるためにはデータベース レベルのアクセス権では不十分です。
- 照合シーケンスは既定の
Latin1_General_CI_AS
である必要があります。 - SQL Server Management Studio は、SQL Server にアクセスするドメイン ユーザーのログイン構成を行うために必要となります。アプリケーション プールは、アプリケーション サーバー上においてドメイン ユーザー名で実行されます。
- Insights のインストールを検討している場合は、データベースで列ストア インデックスと JSON 関数の両方がサポートされていることを確認してください。
Orchestrator のインストール前に、使用する SQL Server インスタンスを設定する必要があります。
要件:
- SQL Server 端末の名前
- 既定のインスタンスではない場合は、インスタンスの名前
- 既定のポートではない場合は、TCP ポートの値 - 1433
- SQL Server 端末のファイアウォールで SQL Server ポートがオープンとなっています
- SQL Server Configuration Manager の TCP プロトコルが有効であること
- SQL Server サービスを、動的に割り当てられたポートではなく、固定ポートでリッスンするようにします。
-
Orchestrator を実行するサービス アカウントには、SQL マスター データベースへのパブリック アクセスが必要です。これは、インストールと今後のアップグレードの両方で必要です。
重要:パフォーマンスを向上させ、デッドロックを回避し、SQL のダーティー リードを防ぐため、READ_COMMITTED_SNAPSHOT
オプションがON
に設定されていることを確認してください。次のクエリを使用して、READ_COMMITTED_SNAPSHOT
が有効か無効かを確認します。SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= 'UiPath'
SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= 'UiPath'有効化されている場合、戻り値は1
になります。無効化されている場合、戻り値は0
になります。有効化するには、以下のクエリを使用します。ALTER DATABASE UiPath SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE UiPath SET READ_COMMITTED_SNAPSHOT ON
-
Test Automation や更新サーバーで異なるデータベースを使用する場合は、それらのデータベースでも
READ_COMMITTED_SNAPSHOT
を有効化する必要があります。Orchestrator が SQL Server データベースに接続するためのオプションを、次の中から選択します。
このオプションを使用するには、SQL Server にサービス アカウントとして新しくログインする必要があります。サービス アカウントは、パスワードが無期限のドメイン ユーザーである必要があります。
SQL Server Management Studio で新しいログインを作成するには:
- [オブジェクト エクスプローラ] パネルで [セキュリティ] > [ログイン] に移動します。
- [ログイン] フォルダーを右クリックして [新しいログイン] を選択します。[ログイン - 新規作成] ウィンドウが表示されます。
- [Windows 認証] オプションを選択します。ウィンドウが適切に更新されます。
- [ログイン名] フィールドに、サービス アカウントとして使用するユーザー ドメインを入力します。
- [既定の言語] リストから [English] を選択します。
重要: [既定の言語] が [English] に設定されていることを確認してください。英語でない場合 Web サイトは起動できず、Orchestrator がインストールされているコンピューター上のイベント ビューアーに、データ型が変換できなかったことを示す次のエラー メッセージが表示されます。「The conversion of a varchar data type to a datetime data type resulted in an out of range value」
- [OK] をクリックします。設定が保存されます。
サービス アカウントが既に作成され、SQL Server の [セキュリティ] > [ログイン] セクションに追加されている場合、SQL アカウントの [既定の言語] が [英語] に設定されていることを確認してください。英語に設定されていない場合は、適切に変更します。
sa
アカウントを使用しないでください。
SQL Server Management Studio で新しい SQL ユーザーを作成するには:
a. [オブジェクト エクスプローラー] パネルで [セキュリティ] > [ログイン] の順に選択します。
b. [ログイン] フォルダーを右クリックして [新しいログイン] を選択します。[ログイン - 新規作成] ウィンドウが表示されます。
c. [SQL Server 認証] オプションを選択します。ウィンドウが適切に更新されます。
d. [ログイン名]、[パスワード]、[確認パスワード] フィールドに適切な値を入力します。
e. [パスワードの期限を適用する] と [ユーザーは次回ログイン時にパスワードを変更する] の 2 つのオプションが選択されていないことを確認します。
SQL Server アカウントが既に作成され、SQL Server の [Security] > [Logins] セクションに追加されている場合、Default Language が英語に設定されていることを確認してください。英語に設定されていない場合は、適切に変更します。
SQL Server に接続するユーザーの種類 (ドメインまたは SQL) に関係なく、Orchestrator をインストールする前にユーザーに dbcreator
サーバー役割を割り当てる必要があります。データベースがこのインストール処理中に作成されるためです。
セキュリティの規制としてサービス アカウントで dbcreator
サーバーの役割の使用を許可していない場合、SQL Server で空のデータベースを作成します。
Windows インストーラーが SQL Server に接続され、データベースの存在が確認されます。
db_owner
ユーザーマッピングの役割で SQL データベースに接続するユーザーを入力します。
db_owner
ユーザーマッピングの役割が使用できない場合、次の許可を設定します。
db_datareader
db_datawriter
db_ddladmin
dbo
スキーマに対するEXECUTE
権限[block:image] { "images": [ { "image": [] } ] } [/block]
EXECUTE
権限は、GRANT EXECUTE
SQLコマンドを用いて次のように許可を設定する必要があります。
- Windows 統合認証を使用している場合:
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [domain\user] GO
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [domain\user] GO - SQL サーバー認証を使用している場合:
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [sql_user] GO
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [sql_user] GO
SQL Server で Azure AD 認証を使用するには、Orchestrator を Azure App Service または Azure VM にインストールする必要があります。
Azure App Service で実行される Orchestrator
-
リソース グループに新しいユーザー 管理 ID を作成し、後で使用するために クライアント ID をコピーします。
-
先ほどの ID を、Orchestrator の App Service の割り当て済みユーザー ID リストに追加します。
-
Orchestrator データベースがホストされている SQL Server に対して、Azure Active Directory 管理者を有効化します。
-
手順 1 で作成した ID に対する SQL ログインを、Orchestrator データベースとマスター データベースに対して作成します。手順 3 で設定した管理者アカウントでデータベースにログインし、次のコマンドを実行します。
CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER
CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER -
Orchestrator データベースにユーザー ロールを追加します (この操作はマスター データベースでは不要です)。
db_owner
ロールが制限されていない場合は、ロールALTER ROLE db_owner ADD MEMBER [SQLReadWrite]
を追加します。-
db_owner
ロールが利用できない場合は、以下のロールを追加します。以下のコマンドのSQLReadWrite
には、手順 3 で作成した ID 名が入ります。ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]
ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]
-
次のコマンドを実行して、Orchestrator の接続文字列を更新します。
<add name="Default" providerName="Microsoft.Data.SqlClient" connectionString="Data Source=aad-paas-sql.database.windows.net;Initial Catalog=UiPath;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;Authentication=Active Directory Managed Identity;" />
<add name="Default" providerName="Microsoft.Data.SqlClient" connectionString="Data Source=aad-paas-sql.database.windows.net;Initial Catalog=UiPath;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;Authentication=Active Directory Managed Identity;" />注:USER ID
は、手順 1 で作成したクライアント ID の値を使用してください。- 必ず
Authentication=Active Directory Managed Identity
を使用してください。 - パスワードやトークンは不要です。
Azure VM で実行される Orchestrator
-
リソース グループに新しいユーザー 管理 ID を作成し、後で使用するために クライアント ID をコピーします。
-
先ほどの ID を、Orchestrator を実行している仮想マシンの割り当て済みユーザー ID リストに追加します。
-
Orchestrator データベースがホストされている SQL Server に対して、Azure Active Directory 管理者を有効化します。
-
手順 1 で作成した ID に対する SQL ログインを、Orchestrator データベースとマスター データベースに対して作成します。手順 3 で設定した管理者アカウントでデータベースにログインし、次のコマンドを実行します。
CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER
CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER -
Orchestrator データベースにユーザー ロールを追加します (この操作はマスター データベースでは不要です)。
db_owner
ロールが制限されていない場合は、ロールALTER ROLE db_owner ADD MEMBER [SQLReadWrite]
を追加します。-
db_owner
ロールが利用できない場合は、以下のロールを追加します。以下のコマンドの 1SQLReadWrite1 には、手順 3 で作成した ID 名が入ります。ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]
ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]
-
次のコマンドを実行して、Orchestrator の接続文字列を更新します。
<add name="Default" providerName="Microsoft.Data.SqlClient" connectionString="Data Source=aad-paas-sql.database.windows.net;Initial Catalog=UiPath;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;Authentication=Active Directory Managed Identity;" />
<add name="Default" providerName="Microsoft.Data.SqlClient" connectionString="Data Source=aad-paas-sql.database.windows.net;Initial Catalog=UiPath;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;Authentication=Active Directory Managed Identity;" />注:USER ID
には、手順 1 で作成したクライアント ID の値を設定してください。- 必ず
Authentication=Active Directory Managed Identity
を使用してください。 - パスワードやトークンは不要です。
Orchestrator の High Availability Add-on (HAA) は、Orchestrator ノード間でのキャッシュと共有に使用するインメモリ データベースです。ほぼ即座の同期を提供します。
HAA は、クラスター環境で必須です。
Orchestrator のマルチノード デプロイは、通信に REdis Serialization Protocol (RESP) を使用するため、このプロトコルを使用するあらゆるソリューションによる設定が可能です。UiPath がサポートしているソリューションは HAA のみです。
次の情報が HAA に格納されます。
- セッション ステート - 複数のノードに Orchestrator をインストールした場合に自動的に設定されます。
- ブラウザーからのユーザー セッション
- ロボットのハートビートのキャッシュ
- ユーザーとロールの関連付け
- ユーザーと組織単位の関連付け
- ライセンス情報
- 設定
Orchestrator では、HAA をすべてのノードの共有キャッシュとして使用します。次の例では、キャッシュを使用して Orchestrator ノード間の調整を行う方法について説明します。
- 例: Orchestrator ノード上で、ユーザーが手動でロボットのジョブを開始します。この特定のノードでは、どの Orchestrator ノードにロボットが接続しているかがわかっていない可能性があります。ジョブを開始したノードがこの要求を HAA に転送すると、HAA がこの情報を同期します。該当のロボットとの接続を確立していた Orchestrator ノードは、この開始コマンドをロボットに送信します。該当のロボットに接続していないその他の Orchestrator ノードは、このコマンドを無視します。
UiPath.Orchestrator.dll.config
内の LoadBalancer.Redis.ConnectionString
パラメーターを通じて、Orchestrator ノードと HAA サービスの間で SSL 暗号化接続を有効化することもできます。詳細については、こちらのページをご覧ください。
ネットワーク ロード バランサーでは、マルチノード間に負荷を分散し、Orchestrator インスタンスの全体的なパフォーマンスを向上させることができます。さらに、1 つのノードで障害が発生した場合、残りのノードが負荷を引き受けて、ダウンタイムが生じないようにします。
ノード間に負荷を分散してノードのパフォーマンスを向上させ、Orchestrator の全体的なパフォーマンスを高めることから、予測アルゴリズムによる F5 ロード バランサーが推奨されます。アルゴリズムの詳細については、こちらをご覧ください。
UiPath.Orchestrator.dll.config
ファイル (C:\Program Files (x86)\UiPath\Orchestrator
) から変更できます。詳細については、「ログの構成」をご覧ください。
ElasticSearch の使用を選択した場合、ElasticSearch が、Windows、Linux、または Unixで動くクロスプラットフォーム製品であり、Java を必要とすることにご注意ください。OpenJDK または Oracle JRE を使用できます。相互運用性マトリクスは Elasticsearch によってこちらで提供されています。
http://computername.domain.name
または http://computername
を http://localhost
の代わりに使用します。
不可能な場合は、コンピューター名または IP アドレスをインストール プロセスの間に使用します。
- Elasticsearch をダウンロードします。
-
エラスティック検索 Windows インストーラーをダブルクリックします。[場所] の手順で、Elastisearch ウィザードが表示されます。
-
インストール、データ、構成およびログについて、既定のディレクトリを用いるか、それぞれ独自の場所を選択します。
注: Elasticsearch のインストール先に別のディスクがある場合、Elasticserarch に対し、自由に使用できるスペースがより多いディスク上にデータを格納するよう設定することができます。 -
[Next] をクリックします。[Service] の手順が表示されます。
-
次のオプションが選択されていることを確認してください。
- サービスとしてインストール
- インストール完了後にサービスを開始
- Windows の起動時にサービスを開始 (自動)
- [Next] をクリックします。Configuration の手順が表示されます。
-
必要に応じて、次のオプションの設定が必要です。
- Cluster name - Elasticsearch のインストール目的を反映する値に変更します。お使いのイントラネット内に Elasticsearch を使用する複数のサーバーがある場合、オートディスカバリー機能が働くのを避けるためにも重要です。
- Node name - お使いのノードに関する適切な名前。
- Roles - 既定のオプションが推奨されます。
- Memory - 既定のオプションが推奨されます。
- Network host - コンピューターのホスト名/IP アドレス (コマンド プロンプトで hostname コマンドを実行してマシン名を取得できます)。
- HTTP Port - Elasticsearch の既定のポートは 9200 です
-
Discovery - クラスターの最初のノードに対して [This is the first master in a new cluster] チェックボックスをオンにします。
重要: Orchestrator が別の端末にインストールされている場合、Elasticsearch がインストールされている端末のファイアウォールでポート 9200 を開放してください。
- [Next] をクリックします。[Plugins] 手順が表示されます。
-
(任意) セキュリティ用の X-Pack など、Elasticsearch の追加のプラグインを選択します。
-
[Install] をクリックすると、Elasticsearch がインストールされます。
インデックス シャーディングの数を減らす
既定では、新しく作成された Elasticsearch インデックスには 5 つのシャードが作成されます。ただし、パフォーマンスを向上させるために、作成数を 2 つに減らすことをお勧めします。詳細については、Elasticsearch の公式ドキュメントをご覧ください。
elasticUrl/_template/uipath_logs
というフォーマットで行います。
{
"template": "*",
"order": 1,
"settings": {
"number_of_shards": 2
}
}
{
"template": "*",
"order": 1,
"settings": {
"number_of_shards": 2
}
}
http://computername:9200/
) を開きます。Computername
は、Elasticsearch のインストール先のコンピューター名を表します。下の画像のように、ブラウザーによって、.json
ファイルをダウンロードするか、またはこのファイルを開いて表示するか確認されます。
Kibana を Elasticsearch と組み合わせて使用すると、Elasticsearch に送信したログ (この場合はロボットが送信したログ) に基づくカスタム表示を作成できます。
- Kibana をダウンロードします。
- Kibana パッケージを解凍します。
注: C:\ または D:\ に解凍します。アーカイブ内のファイルは既に同じ名前でフォルダ内に置かれているため、
kibana-x.y.z-windows
の名前で新規ファイルを作成する必要はありません。 - 次のように、Kibana 構成ファイル (
C:\kibana-x.y.z-windows-x86\config\kibana.yml
) を編集します。注: 最初にワードパッドでファイルを開き、内容を保存して LF (Line Feed) 文字を CRLF (Carriage Return Line Feed) 文字に変換します。その後、ノートパッドでそのファイルを開きます。server.port
を含む行のコメントを解除します。既定値は 5601 です。既定値は5601です。別のポートで Kibana を動作させたい場合を除き、変更は不要です。server.host
を含む行のコメントを解除します。値をコンピューター名に変更します。elasticsearch.url
を含む行のコメントを解除します。Elasticsearchのインストール先のコンピューター名を用いて、値をElasticsearch URLに変更します。例:http://computername:9200
注: Kibana 6.6.0 以降の場合、この行はelasticsearch.hosts
で置き換えられました。下のスクリーンショットでは、Kibana および Elasticsearch 両方のコンピューター名が JLTSQL である Kibana 構成ファイルの例を表示しています。
- ファイルを保存します。
- setup-kibana-service.zip アーカイブをダウンロードします。
setup-kibana-service.zip
アーカイブからC:\kibana-x.y.z-windows-x86\bin
に、nssm.exe
およびsetup_kibana.bat
をコピーします。setup_kibana.bat
ファイルを開き、BATファイルのKIBANA_HOME
変数に設定されている場所に従って Kibana がインストールされているか確認します。Kibana を異なる場所に抽出した場合は、必要に応じて変更します。- 管理者としてコマンド プロンプトを開き、フォルダーを
C:\kibana-x.y.z-windows-x86\bin
に変更します。 setup_kibana.bat
を実行して Kibana をインストールします。- 任意のブラウザーに
http://computername:5601
を入力して Kibana が応答するかテストします。computername
は、Kibana のインストール先のコンピューターの名前を表します。重要: Kibana のインストール先の端末のファイアウォールで、ポート 5601 を開きます。 - 次のように Kibana を使用して Elasticsearch データベースにテスト メッセージを追加します。
- Kibana で [Dev Tools] タブに移動します。
- 以下に示す形式で POST 要求を送信します。何もエラーが返されない場合、
default-yyyy.mm
という名前の Elasticsearch インデックスが作成され、メッセージが追加されます。
yyyy
はメッセージが追加された年を意味し、mm
はメッセージが追加された月を意味しています。「Elasticsearch に接続するためのインデックス パターンを作成する」を読み、Kibana のインデックス パターンの作成方法を確認してください。