Orchestrator
2020.10
バナーの背景画像
サポート対象外
Orchestrator インストール ガイド
最終更新日 2023年12月12日

クラウドでのデプロイ

アマゾン ウェブ サービス (AWS)、Microsoft Azure、Google Cloud Platform (GCP) など、Orchestrator をホストするために使用できる複数のエンタープライズ クラウド デプロイ オプションがあります。ここでは、Azure Infrastructure as a Service (IaaS) サービスを使用した大規模で拡張可能なデプロイについて詳しく説明します。次のサービスが必要です。

アーキテクチャ

注:

下記のアーキテクチャの例には、任意のコンポーネントや異なるコンポーネント (CyberArk、UiPath High Availability Add-on など) が含まれています。

ここに示した Jumpbox は必須ではありませんが、分離性と安全性を提供するため、運用環境に推奨されるベスト プラクティスです。

シングル ノード アーキテクチャ



マルチノード アーキテクチャ



ハードウェア要件

このセクションでは、以下の「デプロイのスケーリング」に記載されているパフォーマンス テストに使用されるハードウェア構成について説明します。

Orchestrator ノード

各 Orchestrator ノードは次のように構成する必要があります。

VCPUs

RAM (GB)

SSD (GB)

16

32

128

SQL Server

SQL Server 仮想マシンの仕様は、Orchestrator ノードの数に合わせて拡張する必要があります。

Orchestrator ノード

VCPUs

RAM (GB)

1 - 2

8

16

5

16

32

10

16

64

Elasticsearch 可用性セット

Elasticsearch 可用性セットは、3 つのマスターノードと 6 つのデータノード、合計 9 つのノードで構成され、それぞれ次の仕様を備えています。

VCPUs

RAM (GB)

OS SSD (GB)

Data SSD (TB)

8

16

128 (5000 IOPS 100 MB/s のスループット)

1 (5000 IOPS 200 MB/s のスループット)

ソフトウェア要件

ソフトウェア

バージョン

オペレーティング システム

Windows Server 2016

データベース

SQL Server 2017

ログ

Elasticsearch 6.4.0

上記のバージョンは、下記の負荷でデプロイおよびパフォーマンスのテストを行った際に使用したバージョンです。Orchestrator が動作するすべてのバージョンについては、こちらをご覧ください。

負荷分散

マルチノード デプロイの場合、2 つの Azure Standard ロード バランサーを使用することをお勧めします。

  • Orchestrator サーバー用に 1 つ。
  • Elasticsearch サーバー用に 1 つ。

Azure Redis Cache

重要:

Orchestrator のマルチノード デプロイは、通信に REdis Serialization Protocol (RESP) を使用するため、このプロトコルを実装するあらゆるソリューション (この例の Azure Redis Cache など) による設定が可能です。

UiPath では、Orchestrator の高可用性デプロイは、UiPath High Availability Add-on が使用されている場合にのみサポートされます。

マルチノードデプロイの場合、2 つの個別の Redis インスタンスを使用することをお勧めします。

  • 6GB キャッシュを備えた Azure Redis Cache Premium - セッション ステートとユーザー エンティティの関連付けに使用されるプライマリ ノード。
  • Azure Redis Cache Basic - SignalR サービスのスケーリングに使用されます。

構成

UiPath.Orchestrator.dll.config の設定

  1. 次のように serverdiagnostics インデックスの writeTo パラメーターを設定して、それぞれの Windows イベント ログではなく Elasticsearch にレポートするようにすべての Orchestrator ノードを設定します。
    <logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/><logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/>
  2. 次のように Quartz ジョブクラスタリングを有効化します。
    <add key="quartz.jobStore.clustered" value="true" /><add key="quartz.jobStore.clustered" value="true" />
  3. [デプロイ] セクションで、次のように NuGet リポジトリを構成します。
    <add key="NuGet.Repository.Type" value="Composite" />
    <add key="Deployment.Libraries.AllowTenantPublish" value="true" />
    <add key="Processes.AllowUpdateWithRunningJobs" value="true" /><add key="NuGet.Repository.Type" value="Composite" />
    <add key="Deployment.Libraries.AllowTenantPublish" value="true" />
    <add key="Processes.AllowUpdateWithRunningJobs" value="true" />
  4. [ロード バランサー] セクションで、Redis インスタンスを次のように構成します。接続文字列とパスワードをそれぞれの値に置き換えてください。
    <add key="LoadBalancer.UseSqlServer" value="false"/>
    <add key="LoadBalancer.UseRedis" value="true"/>
    <add key="LoadBalancer.Redis.ConnectionString" value="<your.redis.cache.windows.net>:6379,password=****"/>
    <add key="LoadBalancer.SignalR.UseRedisScaleout" value="true"/>
    <add key="LoadBalancer.SignalR.RedisScaleout.ConnectionString" value="<your.second.Redis.Server>:6379,password=********"/><add key="LoadBalancer.UseSqlServer" value="false"/>
    <add key="LoadBalancer.UseRedis" value="true"/>
    <add key="LoadBalancer.Redis.ConnectionString" value="<your.redis.cache.windows.net>:6379,password=****"/>
    <add key="LoadBalancer.SignalR.UseRedisScaleout" value="true"/>
    <add key="LoadBalancer.SignalR.RedisScaleout.ConnectionString" value="<your.second.Redis.Server>:6379,password=********"/>
  5. 次のようにデータベース接続文字列で Max Pool Size を設定します。
    <add connectionString="Data Source=172.16.100.12;Initial Catalog=UiPath;User ID=admin;Password=*******;Max Pool Size=700" name="Default" providerName="System.Data.SqlClient" /><add connectionString="Data Source=172.16.100.12;Initial Catalog=UiPath;User ID=admin;Password=*******;Max Pool Size=700" name="Default" providerName="System.Data.SqlClient" />
    注: Data SourceInitial CatalogUser ID、および Password パラメーターを Orchestrator Azure サービスのそれぞれの値に置き換えてください。詳細については、こちらをご覧ください。
  6. Elasticseach のバッファー サイズを次のように設定します。
    <target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000"><target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000">

デプロイのスケーリング

Orchestrator スケールセットに必要なノードの数は、デプロイされているロボットの数によって異なります。

Orchestrator スケール セット ノード数

ロボット数

1

4,000 まで

2

8,000 まで

5

24,000 まで

10

48,000 まで

これらのデプロイは、上記のハードウェアとソフトウェアの構成を使用してテストされ、以下の指定された負荷の下でパフォーマンスの低下を示しませんでした。

パフォーマンス テスト

静的データ

静的データは、Orchestrator の初期負荷があることを示します。

エンティティ

1 ノード

2 ノード

5 ノード

10 ノード

テナント

40

80

240

480

環境 (ロボット グループ)

2,000

4,000

12,000

24,000

ロボット

  • Attended
  • フローティング
  • Unattended

4,000

  • 1,600
  • 1,600
  • 800

8,000

  • 3,200
  • 3,200
  • 1,600

24,000

  • 9,600
  • 9,600
  • 4,800

48,000

  • 19,200
  • 19,200
  • 9,600

パッケージ

8,000

16,000

48,000

96,000

プロセス

4,000

8,000

24,000

48,000

キュー

200

420

1,200

2,400

キュー アイテム

1,120,000

1,500,000

3,000,000

5,000,000

アセット

40,000

80,000

240,000

480,000

スケジュール

400

800

2,400

4,800

動的データ

動的データは、プロセスの実行時に Orchestrator に追加または変更されるデータを指します。

エンティティ

1 ノード

2 ノード

5 ノード

10 ノード

キュー アイテム (1 日当たり)

112,000

175,000

672,000

1,250,000

ジョブ (1 分当たり)

2,000

4,000

12,000

24,000

ログ (1 分当たり)

20,000

20,000

20,000

25,000

NuGet のダウンロード (1 分当たりの最大値)

2,000

4,000

12,000

24,000

接続されたロボット (最大値)

4,000

8,000

24,000

48,000

ハートビート (1 分当たり)

10,000

20,000

60,000

120,000

SignalR 通知 (1 分当たり)

2,000

4,000

12,000

24,000

実行中のロボット

2,000

4,000

12,000

24,000

使用できるロボット

2,000

4,000

12,000

24,000

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.