クラウド環境でのOrchestrator構築とアナリティクス

2020年1月8日(水)
井上 秀和

はじめに

前回は、クラウドのサーバレスのマネージドサービスとOrchestrator APIの連携、ロボットの自動化プロセスからクラウド上の機械学習APIを呼び出すといったクラウドサービスとRPAの連携という観点でユースケースを紹介しました。

今回は、クラウド環境へOrchestratorをホスティングすることに挑戦してみたいと思います。クラウド上にはIaaS、PaaSなど便利で手軽に利用できるサービスが多々ありますが、どのサービスをどのように使用すべきか、アーキテクチャはどのようになるのか、どのように実践すれば良いか等について、その一例を紹介していきます。

また、ロボットの運用台数が増えていくと、実行ログを分析したり、ジョブの稼働状況の統計情報を確認したり、それらのデータを可視化したくなります。そのようなケースへの備えとして、RPAにおけるアナリティクスについても併せて紹介します。

前回はAmazon Web Service(AWS)、Google Cloud Platform(GCP)の各種クラウドサービスを使用してクラウドとRPAを連携しましたが、今回はUiPath社が提供するMicrosoft Azure向けソリューション(UiPath Orchestrator (WebApp with SQL))を利用してOrchestratorを構築します。

UiPath OrchestratorではOrchestrator、ロボット、BI環境までをAzureのマネージドサービスで利用でき、スピーディな環境構築が可能となります。構築後のシステムの相関図は次のようになります。

ロボットとOrchestratorは全てAzureのクラウド環境で稼働し、ロボットの実行ログもクラウドのマネージドサービスであるAzure Cosmos DBに連携されます。そして、ロボットの稼働状況はOrchestratorの永続化レイヤーであるSQL ServerをPower BIで可視化し、ロボットのログもMongoDBのAPIを通して確認できるものとします。

なお、本ソリューション(UiPath Orchestrator (WebApp with SQL))での構築対象は、ロボットが稼働するVirtual MachinesとOrchestorが稼働するApp ServiceとSQL Databaseまでです。Azure Cosmos DBとPower BIは本ソリューションとは別に構築します。

UiPath Orchestratorには、UiPathのエコシステムで必要な要素が全て盛り込まれています。本番運用を見据えた際の検討ポイントは、各ノードを多重化するといった冗長化の考慮となります。

今回実施すること

それでは、Orchestratorの構築とアナリティクスにフォーカスして、クラウドを使用した環境を構築していきましょう。ここで実施する具体的な内容は次の通りです。

  • Azure Market Placeを利用してOrchestratorを立ち上げ
  • Azure Market Placeを利用してロボットを立ち上げ
  • ロボットの実行ログをAzure Cosmos DBへ連携
  • Power BI Desktopを利用してSQL Serverを可視化

ロボットの実行ログはSQL Serverへの出力がデフォルトですが、今回のように外部にあるドキュメント型のデータベースへ出力することも可能です。ロボットでは柔軟にログ項目を追加できるので、そのログをこちらで解析するところまでを紹介します。今回はAzure Cosmos DBを使用しますが、ElasticSearchへの出力も可能です(過去の実績としてはElasticSearchとの連携が多数です)。

また、SQL ServerのデータはPower BI以外にTableauやQlikViewでも可視化できます。今回は直接SQL Serverへアクセスしていますが、間に読み取り専用のレプリカやDWHを挟むことでSQL Serverへの負荷を避けるアーキテクチャも可能です。

UiPath Stack

現在、UiPathではAzure向け、AWS向けの2つのクラウド環境において、Orchestratorを構築するためのテンプレートを用意しています。簡単にそれぞれの特徴を表にまとめます。

項目 Azure向け AWS向け
名称 UiPath Orchestrator (WebApp with SQL) UiPath Stack on AWS
タイプ PaaS IaaS
概要 PaaSとしてApp Serive上で稼働。データベースはSQL Serverとの互換があるマネージドサービスのSQL Databaseを利用 IaaSとしてEC2のWindows Server上で稼働。データベースはRDSのSQL Serverを使用し、ロボットのログはElasticsearch Serviceへ格納
インストール作業 Azureのコンソール上からインストール可能 CloudFormationで使用するインスタンス、マネージドサービスを構築。その中のWindows ServerでUiPathのインストーラを使用してOrchestratorをインストール
コンフィグ Orchestratorに関してのみEditorでの設定変更が可能 Windows Server上、IISやOrchestratorの設定変更が可能
利用サービス AppService, SQL Database EC2, RDS, Elasticsearch Service

Azureについては、Azure Market Placeの中にUiPath Orchestrator (WebApp with SQL)が入っています。

上記のテンプレートではPassSやSQL Serverのマネージドサービスを利用していますが、Windows Serverの仮想インスタンスにOrchestratorやSQL Serverを構築するといったプリミティブな構成も可能です。

AzureでのOrchestratorの構築

それでは、実際に作業を進めていきましょう。まずは、OrchestratorをAzure上に構築します。

AzureのコンソールへログインしてMarketplaceのメニューへ遷移し、検索ボックスに「UiPath」と入力します。検索結果に、次のような「UiPath Orchestrator (WebApp with SQL)」が見つかると思います。

画面のとおりに選択し、次の画面で「作成」ボタンをクリックします。

基本設定について、必要事項を入力します。

項目 説明
Orchestrator Name Prefix Orchestrator名称の接頭語
Orchestrator passphrase App Serviceのパスフレーズ
Orchestrator Version Orchestratorバージョン
Size of Orchestrator based on no. of total roblts connected インスタンスサイズ
Number of Orchestrator instances インスタンス数

なお、必要に応じて、リソースグループを新規作成します。

次に、SQL Databaseを設定します。AzureのSQL Serverと互換性があるSQL Databaseを使用します。

概要を確認します。なお、検証には数分の時間を要します。

最後に「作成」ボタンをクリックして完了です。

Azure側での構築作業が全て終了すると、次のように通知されます。

リソースグループより作成されたApp Serviceへ遷移すると、右上に新規で構築したURLが表示されています。

それでは、このURLからOrchestratorのWebコンソールを起動してみましょう。

初期のユーザ名とパスワードを入力します。

Username: admin
Password: 890iop

初回ログイン時にはパスワードの更新を求められるので、指示に従ってパスワードを更新します。

次のようにOrchestartorのコンソールへログインできれば成功です。自身のOrchestratorライセンスをアップロードしてアクティベーションを実施しましょう。

UiPath株式会社
コーダーやプロジェクトマネージャーとして、金融、流通、飲食業界向けのシステム・ソフトウェア開発に従事し、2018年よりUiPath社に入社。RPAに関しては、過去にWeb画面、モバイル画面のUIテスト自動化、趣味では株式やFXのアービトラージにて活用していた経験あり。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています