Amazon WorkSpacesをUiPath Automation Cloudに接続してみる

# はじめに
本記事は、Amazon WorkSpacesにインストールしたUiPath Assistantを、UiPath Automation CloudのOrchestratorに接続する手順を記録したものです。
手軽な検証用マシンとしてWorkSpacesを利用するケースがあったため手順を記録します。網羅的な手順とはなっていないことをご了承ください。
また2023年4月時点(UiPath製品のバージョンは22.10)の内容となります。今後の仕様変更等で動作が変わっている場合がある点、ご了承ください。
# Amazon WorkSpacesとは
Amazon WorkSpacesは、AWS社が提供する仮想デスクトップサービスです。
# UiPath Automation Cloudとは
UiPath Automation Cloud(以下Automation Cloud)は、UiPath社が提供している、クラウドベースのSaaS（Software as a Service）ソリューションです。Automation Cloudを利用することで、運用管理者は個別のプロダクトをオンプレミス環境に構築・維持するための手間から解放され、ロボットを管理するUiPath Orchestratorをはじめとした各種製品を、利用したいときに利用開始できます。Automation Cloudはコミュニティプランのユーザー、エンタープライズのユーザーそれぞれに対応しています。
詳しくは[公式サイト](https://www.uipath.com/ja/product/automation-cloud)を確認してください。
# UiPath Orchestratorとは
UiPath Orchestrator(以下Orchestrator)は、UiPath社が提供する製品の一つで、UiPath RobotやStudioの監視やパッケージやライセンスの配布、スケジュール実行等の機能を有します。
こちらも詳しくは[公式サイト](https://www.uipath.com/ja/product/orchestrator)を確認してください。
# WorkSpacesの準備
まずは一般的なWorkSpacesの作成方法を紹介します。※世に溢れていますが参考まで...
AWSのマネジメントコンソールにログインし、WorkSpacesのページにアクセスします。
WorkSpacesには[高速セットアップ](https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/getting-started.html)というオプションがあります。
このオプションを利用する場合は土台となるVPC等のネットワーク関連のオブジェクトやディレクトリサービスを作成することなくWorkSpacesを環境を構築、利用できます。とにかく手っ取り早く検証したい場合はこのオプションを利用することを推奨します。
このオプションを利用せず[詳細設定オプション](https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/getting-started-advanced.html)で作成する場合、インターネット(Automation Cloud)への接続可能なようにVPCやディレクトリサービスを構成してください。
今回は簡単に高速セットアップのオプションを利用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/013b5398-8ee3-7c29-d6d9-9c1ca1fb59ee.png)
適当にユーザーを作成し、次へを選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/970aec5f-c633-03fe-2dc1-35ba0dc92851.png)
要件に応じてバンドルを選択します。Microsoft Officeが必要な場合、Office製品がついたバンドルを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/546688f7-1bb9-121e-be21-ace784e19e38.png)
確認ページが表示されるため、問題が無ければ作成をクリックします。
作成したWorkSpacesのステータスが使用可能になるのを待ちます（約30分程度）
待っている間に作成したWorkSpacesを選択し、ユーザーの招待を選択すると、登録コードとユーザー名を確認できます。
※登録したメールアドレスに招待メールを送信することができますが、迷惑メールに入ったり、セキュリティソフトにブロックされてしまう事象があるようです。その場合は登録コードとユーザー名をAWSコンソール上から確認し、必要に応じて利用者に個別で伝える必要があります。
#### 高速セットアップが利用できないケース
高速セットアップは1度利用した場合、オプションを利用できなくなるようです。
その場合は詳細設定オプションによる作成となります。インターネット(Automation Cloud)への接続ができるよう設定をした上でVPCやサブネット、ディレクトリサービスを準備する必要があります。
Robotが接続するサービスは[公式ドキュメント](https://docs.uipath.com/ja/robot/standalone/2023.4/user-guide/services-the-robot-connects-to)を参照してください
# WorkSpacesへの接続
招待内のURLをクリックし、パスワードを設定します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/9175140b-2bbf-b2e3-3c7b-9a60c044e7d2.png)
必要に応じてWorkSpacesクライアントをインストールします。
※インストールが難しい場合は[ブラウザから接続](https://docs.aws.amazon.com/ja_jp/workspaces/latest/userguide/amazon-workspaces-web-access.html)します。今回はクライアントを利用して操作を進めます。
WorkSpacesクライアントを開き、招待内の登録コードを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/b8051cdc-cbe3-e8ca-73bb-0391150276db.png)
ログイン情報を入力し、サインインを選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/92d4bfd4-c9d2-66d0-9010-d64af7450eb6.png)
WorkSpacesにログインできたことを確認します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/db9c77ab-c6c6-2d80-fa97-7f2d44fb67ad.png)
ここまででWorkSpacesの作成は完了です。
以降の章は最後の注意点を除いてWorkSpaces特有の操作は無く、オンプレミスのStudio/Robotと同様の操作となります。
# UiPath Assistantのインストール
WorkSpacesにてインストーラーを実行します。
インストーラーはAutomation Cloudのトップページからダウンロードできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/d2d6b691-86dc-2ee2-44e1-d122dcb19d3d.png)
クイックとカスタムが表示されますが、ここではカスタムを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/ad0188b2-3947-e6c3-6e07-ea15eb73aaab.png)
インストールモードの選択では、有人実行(Attended Robot)またはStudioを利用する場合は管理権限不要の「自分（現在のユーザー）にのみインストール」を推奨します。このオプションを選択するとユーザーモードでインストールされます。
無人実行(Unattended Robot)の場合は「このコンピューター上のすべてのユーザーにインストール」を選択します。このオプションを選択するとサービスモードでインストールされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/6b67b9f8-e376-b42e-56cd-cf7e65988592.png)
インストールパッケージを選択します。利用用途に応じて選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/d6306064-c7b0-2d31-c905-e67b126f1f8d.png)
# Automation Cloud側の準備
Automation Cloudにログインします。
初めに該当のテナントにライセンスが付与されていることを確認します。
付与されていない場合、Automation Cloudの管理画面からテナントを選択した上で、ライセンスを選択し、画面右上の[割り当てを編集]を選択して必要なライセンスを割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/d22e2678-1460-479b-0242-8122b8e2a8af.png)
次にUiPath Assistantを接続するための設定をします。
UiPath AssistantからOrchestratorへの接続は3パターンあります。接続方式によってAutomation Cloud側の設定が異なります。
1\.マシンキー接続：Orchestratorで作成したマシンテンプレートのキーを利用して接続します。従来のバージョンから利用できる方式ですが、現在は非推奨となっています。
2\.対話型サインイン：Orchestratorに登録したユーザー情報を利用して接続します。Attended Robot/Studio利用時に推奨されます。
3\.クライアント資格情報：Orchestratorで作成したマシンテンプレートのクライアントID/クライアントシークレットを利用して接続します。Unattended Robot利用時に推奨されます。
用途や環境によって各接続方式を選択します。
各方式の接続方法はUiPath社ドキュメントまたはUiPath社の[Orchestrator導入ステップバイステップガイド](https://www.uipath.com/ja/community-blog/knowledge-base/orchestrator-installation-guide)の[4.3 UiPath Studio / Robot 接続設定]を参照して接続してください。
ここでは[対話型サインイン](https://docs.uipath.com/ja/robot/standalone/2023.4/user-guide/setting-up-interactive-sign-in)でのStudio利用を前提とした接続方法を紹介します。
Automation Cloudの管理画面から[アカウントとグループ]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/e0cfd2c5-e994-27cb-08e0-577fd3282967.png)
Studio/Robotを使わせるユーザーのプロパティを選択し、グループを指定します。
今回はStudioとAssistantを使わせるためにAutomation Developersを指定します。
ユーザーがいない場合はユーザーの招待ページからメールアドレスと所属グループを入力し、ユーザーを招待します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/0ea60605-2bbb-6fef-820e-9154dc0ecdcc.png)
Orchestratorにアクセスし、[テナント]-[フォルダー]の順にクリックし、適当なフォルダーにユーザーを割り当てます。
フォルダーロールを割り当てます。ここではAutomation Userを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/3b587db1-1972-4d34-13c9-20d67813a0f1.png)
続いて[テナント]-[アクセス権を管理]から該当のユーザーの[編集]を選択し、[個人オートメーションの設定]から[ユーザーによるオートメーションの実行を有効化]を選択します。
ここでライセンスの種類が表示される場合は、Automation Developerを選択します。
大規模な環境ではグループにライセンスを割り当てた上で「ユーザー グループからの継承ライセンス」を選択してライセンスを付与することを推奨します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/cb8157d8-be9d-63b4-b4a8-91a526fa4e84.png)
ここでライセンスの種類が表示されない場合は、「[ユーザーライセンス機能](https://docs.uipath.com/ja/overview/other/latest/overview/license-management-options)」が有効化されています。
この機能が有効化されている場合はAutomation Cloudの管理画面からライセンスを付与する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/0192bc49-4021-749d-f27b-5029dd2af3fc.png)
この場合はAutomation Cloudの管理画面の[アカウントとグループ]の該当ユーザーの[ライセンスの割り当てを編集]から必要なライセンスを割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/047360ac-ca47-69e5-5371-d55e65fa7aec.png)
ユーザーライセンス機能を有効化/無効化するにはAutomation Cloudの管理画面より[設定]-[詳細設定]の[ユーザーライセンスの管理]から機能を有効化/無効化します。ユーザーライセンス機能を利用する場合、AttendedRobot/Studioでマシンキー接続がサポートされなくなりますので注意が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/bf8c78e6-8c99-2d0b-abe9-20b4af845789.png)
以上でAutomation Cloud側の準備は完了です。
※対話型サインインを利用する場合はマシンテンプレートの作成は不要です。
# Robotの接続
WorkSpaces側でAssistantを開きます。
右上の[設定]-[Orchestratorの設定]の順にクリックし、接続の種類を[サービス URL]を選択し、[サービス URL]欄にAutomation CloudのURLを入力した上で[サインイン]をクリックします。
URLは`https://cloud.uipath.com/[組織名]/[テナント名]` まで入力します。
※[テナント名]は必須ではありません。複数テナントに所属する場合は後で接続先テナント選択する画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/9a851bef-2e52-af77-e68f-6e485a60605c.png)
Automation Cloudへのログイン画面が表示されるため、ログインします。
Assistantのステータスが[接続済み、ライセンス済み]となっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/5c6ab404-47f2-29d4-e7d8-904ad49c6312.png)
これでWorkSpacesとAutomation Cloud上のOrchestratorへの接続が完了しました。
# Unattended Robotとして利用する際の注意点
#### 実行モードの考慮
WorkSpaces作成時に実行モードをAlwaysOnに設定する必要があります。そのため高速セットアップではなく詳細設定オプションによる作成が必要となります。
AlwaysOn→WorkSpacesが常に実行されているため、通常UnattendedRobotで利用します
AutoStop→時間数で選択した時間だけ起動し、使用していないと停止します。通常AttendedRobotやStudioで利用します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334381/3abc3f75-29c0-9407-a605-0bdf8c39f2eb.png)
#### 解像度
設定によってUnattended Robot実行時に解像度が変化することに注意が必要です。
Unattended RobotにWorkSpacesコンソールでログインした後は必ずサインアウトでセッションを終了し、OrchestratorのRobotの設定でLogin To Console=Noに設定し、Resolution Width=****, Resolution Height=****を明示的に設定することを推奨します。
Login To ConsoleをYesにしていたり、WorkSpacesコンソールをサインアウトではなく切断(右上の×ボタンでウィンドウを閉じる)した場合、前回のコンソールを開いていた際の解像度で実行されてしまい、Unattended Robotの動作が安定しません。
# 最後に
Automation CloudのOrchestratorに、WorkSpacesを接続する一連の流れを紹介しました。
少しでも皆様のお役に立てましたら幸いです。