- 基本情報
- 要件
- ベスト プラクティス
- インストール
- 更新
- Identity Server
- 起動エラーのトラブルシューティング
One single Orchestrator instance can simultaneously run up to 1,000 Unattended robots or up to 10,000 Attended ones. For the recommended deployment for 10K Robots, please check the information presented here.
また、Orchestrator はマルチテナントの概念もサポートしています。このアプローチは「共有スキーマ」と呼ばれ、複数のテナントが同じデータベースおよび同じデータベース スキーマを共有できることを意味しています。テナントが関連するデータは、すべてが各テーブル内で TenantId により明確に定義されます。
論理階層
UiPath Server Platform は、以下の論理コンポーネントで構成されており、それらのコンポーネントは 3 つの階層に分類されます。
- プレゼンテーション階層
- Web アプリケーション
- OData REST API エンドポイント
- 通知 API
- Web サービス階層
- REST API の実装
- 永続階層
-
SQL Server
-
Elasticsearch
図 1. UiPath サーバー プラットフォームのダイアグラム
-
Web アプリケーションはサーバー プラットフォームのビジュアル レイヤーです。ユーザーは、ロボット グループの作成、それらへのパッケージの割り当て、ロボットごと、もしくはプロセスごとのログ分析、ロボットの起動と停止など、さまざまなアクションを実行するためにその Web ページをインタラクティブに操作します。
この Web ページの他に、Orchestrator には主に OData エンドポイントで構成される REST API を公開するサービス階層が含まれています。REST API は Web アプリケーションと Agent の両方によって消費されます。Agent は、クライアント コンピューター上にある 1 台以上のロボットのスーパーバイザーです。
REST API がカバーする Orchestrator 機能:
- 構成 - アプリケーション ユーザー、権限、ロボット、アセット、リリース、ロボット グループを定義し、構成するために使用する REST エンドポイントです。
- モニタリングと通知 - エージェントの登録、エージェントへの設定の提供、サーバーとエージェントからの通知の送信/受信を行うために使用する REST エンドポイントです。通知 API も WebSocket コミュニケーションを使用します。
- ログ - エラー、ロボットが送信する明示的メッセージ、その他環境固有の情報といったさまざまな情報を記録するために使用する REST エンドポイントです。
- デプロイ - Orchestrator で [ジョブを開始] コマンドを使用する場合に実行しなければならないパッケージ バージョンをクエリするために、ロボットが使用する REST エンドポイントです。
- キュー - キューへのデータ追加、キューからのトランザクションの取得、トランザクションのステータスの設定など、キュー アイテムとキュー自体の管理を担う REST エンドポイントです。
永続階層のコンポーネント:
-
SQL Server
- ロボット、ロボット グループ、関連するプロセス、ユーザー、ロール、スケジュールなど、Web アプリケーション コンポーネントが管理する情報の構成を保存します。
- キューとキュー アイテムを管理します。
- 任意で、ロボットが記録するメッセージを保存します (Elasticsearch の代わり、または Elasticsearch に加えて)。
-
ロボットが記録する情報を格納し、インデックスを作成する役割を担うインデクサー サーバー (Elasticsearch)。構成設定から無効化できます。
注:ロボットが記録するメッセージは、SQL Server とインデクサーサーバーの両方に格納できます。もしくは、どちらにも格納しないこともできます。
インデクサー サーバーは、Elasticsearch (オープン ソース プロジェクト) の全文検索エンジンを使用します。( [メッセージをログ] または [ 1 行を書き込み] のようなアクティビティを使用して) ロボットが記録するメッセージはすべてログ REST エンドポイントを介してインデクサー サーバーへ送信され、今後の使用に備えてインデックス化されます。
リソースの分散を改善するため、SQL Server がインストールされているマシンとは別のマシンにインデクサーサーバーをインストールすることを推奨します。
上記の図表では、クライアント コンピューターの実行プロセスが Executor として表されています。同時に実行されているビジネス プロジェクトは複数あり、それぞれが対応する Executor を持っています。UiPath Agent (Windows サービス) はすべての Executor の単一コンタクト ポイントで、そこを介してすべてのメッセージは Orchestrator サービスに記録され、さらに処理されます (インデクサー サーバーまたは SQL Server データベース、もしくは両方)。
ロボットは、マシン名とユーザー名の関連性を表しています。ロボットは同時に複数の Executor を管理できます。同時に実行される複数の対話型セッションをサポートするシステム (例: Windows Server 2012) では、一意のユーザー名を使用して、独立した Windows セッションでそれぞれのロボットを同時に実行できます。この機能を「高密度ロボット」と呼んでいます。
UiPath Agent は、ロボットのステータスの送信 (例: SubmitHeartBeat エンドポイント) と実行されるパッケージの必須バージョンのダウンロードも担当します。
Agent と Orchestrator の通信は、必ず Agent によって開始されます。通知シナリオでは、Agent が WebSocket チャネルを開き、Orchestrator が後にそれを使用してコマンドをロボットに送信します (起動、停止など)。
負荷分散の推奨事項
UiPath では、Orchestrator の高可用性および障害復旧のデプロイを、BIG-IP F5、Citrix NetScaler ADC、HAProxy などの複数のネットワーク ロード バランサーでテスト済みです。ネットワーク ロード バランサーの詳しい構成はベンダーによって大きく異なりますが、UiPath では以下のような推奨事項を定めています。
| 推奨 | |
|---|---|
|
|
ラウンドロビンや、予測可能なラウンドロビンの派生型などの負荷分散アルゴリズムを使用してください。 |
|
|
永続セッション (固定セッション) は使用しないでください。 |
|
|
Use your preferred network load balancer in Layer 7 mode as it can interact with the Orchestrator API health checking endpoint. This API endpoint is available at ネットワーク ロード バランサーは、各 Orchestrator サーバーの API 正常性チェック エンドポイントに対して 3-5 秒ごとに問い合わせを行う必要があります。 |