はじめに
UiPath Orchestratorを使っていて、複数のテナント間でロボットを共有できないかと悩んでいました。
先に結果を書いてしまうと、「複数のテナント間」では不可能なのですが、「モダンフォルダーによるフォルダー間」であればロボットを共有できることがわかりました。
モダンフォルダーについて
Orchestratorのリソースはフォルダー単位で管理されるものがありますが、フォルダーの種類として「クラシックフォルダー」と「モダンフォルダー」があります。
それぞれの違いについては、以下のUiPath Orchestratorのリファレンスを参照してください。
https://docs.uipath.com/orchestrator/lang-ja/docs/key-features-and-behavior
なお、クラシックフォルダーは将来的に廃止されることが決まっているようです。
つい最近リリースされたバージョン20.10LTSでもモダンフォルダーがデフォルトになっているようなので、今後はモダンフォルダーを使うことになるのでしょう。
詳しい違いなど、改めて記事としてまとめてみたいと思います。
やりたかったこと
・UiPath Robotサービスが実行されている端末を、複数のテナントで共有する。
・2つの端末がどちらもRPA実行中の状態で他の実行指示が来た場合は、終わるまで待っていてくれれば良い。
ということを考えました。
1つのテナントでシナリオを実行している時間が少ない(UiPath Robot端末の専有時間が少ない)のであれば、複数のテナント間で共有できれば、ロボットを効率的に使えるなぁと思ったからです。
テナント間では共有できない
Orchestratorにロボットを作るには、まずマシンを作る必要があります。
作成したマシンの「マシンキー」をRobotに設定しますが、そもそもマシンはテナント毎に作らなければなりません。
つまり、RobotにはひとつのテナントURLおよびマシンキーしか登録できないため、テナント間で共有することはできません。
モダンフォルダーを使ってやってみる
そこでモダンフォルダーの登場です。
モダンフォルダーであれば、ロボットは複数のフォルダーに所属することができます。
マシンテンプレートの作成
モダンフォルダーの場合、マシンは「マシンテンプレート」として作成する必要があります。
こんな感じで作ります。
今回はロボットを2つ用意する想定なので、同様に2つ目も作成します。
あとは、各Robot端末に、それぞれのマシンキーを設定します。
ここはクラシックフォルダーの時のマシンと同じです。
フォルダーを作る
今回はこのような構成にしてみました。
ユーザー(ロボット)を作る
クラシックフォルダーとモダンフォルダーの大きな違いの1つなのですが、クラシックフォルダーでは「ロボット」を作成していましたよね。
モダンフォルダーでは「ロボット」を作成しません。
というか、そもそもモダンフォルダーには「ロボット」を作成できません。
ではどうするのかというと、「ユーザー」を作ります。
ユーザーを作ると、自動的にロボットが作成されます。
まずは作ってみましょう。
「ユーザー名」はOrchestrator上のユーザー名です。ここでは、「robot1」としています。
「ロール」には「Allow to be Automation User」を忘れずに指定します。
次に、「③ Unattendedロボット」に移ります。
「このユーザーに対してUnattendedロボットを自動的に作成する」をONにします。
「ドメイン\ユーザー名」と「パスワード」には、自動操作を行うOSアカウントのユーザー名とパスワードを指定します。
今回はロボットを2つ用意するので、同様に2つ目のロボットユーザーも作成します。
フォルダーにユーザーを割り当てる
モダンフォルダーでは、フォルダーにロボットユーザーを割り当てる必要があります。
A事業部フォルダーを選択し、「ユーザーを割り当て」ボタンを押します。
割り当てるロボットユーザー、ここではrobot1を選択します。
ロールには、「Automation User」を指定します。
同様に2つ目のロボットユーザーも割り当て、さらにB事業部フォルダーにも同様に割り当てます。
フォルダーにマシンを割り当てる
ユーザーと同様に、フォルダーにマシンテンプレートも割り当てる必要があります。
A事業部フォルダーを選択し、「マシンテンプレートを管理」ボタンを押します。
2つのマシンテンプレートを割り当てます。
B事業部フォルダーも同様に割り当て、以下のようになります。
これで準備OKです!
動かしてみる
以下はプロセスの実行画面です。
このまま「開始」を押すと、空いているマシンでシナリオが実行されます。
おわりに
「テナント間の共有」という目的は達成できていませんが、モダンフォルダーを使えば似たような構成ができますね。
そもそもクラシックフォルダーでは「サブフォルダー」という概念がありませんでした。
重要なのは「フォルダーの構成をどうするか?」なのかもしれません。
ちなみに、モダンフォルダーがリリースされたのが最近だからなのか、モダンフォルダーに関する技術的な情報があまりないんですよね。
このあと、もう少しモダンフォルダーに関する情報を記事にしたいと思います。
















