前提とか色々
この記事の賞味期限は、最長でも2024年6月30日です(理由は後述)
このDocument is 何?
TL;DR的な部分を箇条書きします。
- Automation Anywhere Automation360というRPAツールがあります。
- Automation AnywhereはControl Roomという管理機能が必須です。
- Control RoomはLinux環境でも構築できます。
- というわけでやってみた。
Automation Anywhereの概要とか
Automation Anywhere Automation360というRPAソフトウェアがあります。
昔はAutomation Anywhere A2019という名前でした。Automation Anywhere
ここから先、面倒なのでA360と書きます。
Automation Anywhere Enterprise 11とかEnterprise 10は別の製品です。アーキテクチャは似てる部分もあるけど、この記事では触れません。
A360は、管理機能のControl Roomと、Botを実行するBot Runnerが最小の構成要素になります。アーキテクチャとかのControl Roomの概要はオフィシャルドキュメントを読むのが手っ取り早いです。
平たく言えば「Control Roomがサーバー、Bot Runnerがクライアント」と理解しておけばよいです。
さて、A360のControl Roomは、ちょっと面白い点があります。それは他のRPAソフトウェアの管理機能が、基盤となるOSとしてWindows Serverのみ対応していることが多い中、Linux環境でも構築できることです。
(参考) 他のRPAソフトウェアの管理機能のソフトウェア要件
2022年10月現在、A360のBot Runner、すなわちクライアント側はWindows Onlyです
さて、Linuxで構築できると、どんな良いことがあるかというと、サクッと試してみる検証環境を作るのに、ライセンス費用がかからないことです。他にも社内インフラがLinuxベースだったら、それに乗せやすい、とかもあるかもしれません。
その前に身も蓋もないことを書いておきます
最近ではRPAツールの管理機能は、クラウド上にサービスとして用意されているパターンも結構あります。というかA360もそうです。むしろクラウドが基本、ぐらいの勢いです。
他のツールでいえば、UiPathのAutomation Cloudとか、Blue Prism Cloudとかですね。
なので、業務で導入するなら特に、管理サーバーを自前、いわゆるオンプレミスに構築する必要があるかどうか、という点から、本来は検討すべきです。
でもまー、とりあえずその辺の一長一短とかは、それだけで別の記事になるレベルなので、ここでは触れません。
構築するよー
準備するもの
- Linuxが動くPC、または仮想環境を構築できる方法(Hyper-Vとか)
- CentOSのインストーラーのiso
- A360管理機能のLinux用インストーラー
さて、Cent OSはいろいろ政治的なアレやソレでサポート期間がちょっと変なことになってて、
Version | サポート終了日 |
---|---|
CentOS 7 | 2024年6月30日 |
CentOS 8 | 2021年12月31日 |
この記事を作成している2022年10月現在、CentOS 8はすでにサポートが切れてるため、CentOS 7を使うのが無難、ということになります。まあ、CentOS 7も、あと1年半ちょっとでサポート切れになるので、この記事の賞味期限もそれまで、ということになります。
それより前にA360のインストール方法とかが変わってると思いますが。
というわけで、CentOSのインストーラーは、公式サイトから、7シリーズの最新版を持ってきましょう。x86_64で!
A360のインストーラーは、ライセンスがあるなら代理店とかに確認、なければ30日の無料お試しなどで申し込むことで入手できる、と思います。
Linux (CentOS 7)のインストール
最近のLinuxはハイカラな感じで、インストーラーがわかりやすく色々やってくれちゃいます。
特に日本語でやることに抵抗がなければ、日本語を選んでおけばよいと思います。
英語でも何でも、別にいいのですが。
まず必要なのは「インストール先」のディスクを選ぶことと、「ネットワークとホスト名」を設定するぐらいです。
インストール先はディスクを選択すれば自動でパティーション作ってやってくれます。
「ネットワークとホスト名」では、Ehternetのスイッチをオンにすることと、ホスト名の設定を忘れないようにしましょう。特に後者、忘れると面倒な手間が増えます。
あとは「インストールの開始」を押して、rootのパスワードと、初期ユーザーを作成します。
ここまでやっておけば、インストーラーが自動で走って、良い感じに完了してくれる筈。です。
しばらく待ちましょう。
インストールが終わる右下に再起動ボタンが出るので、再起動します。
Linux上での準備
TeraTermで繋ぐ
コンソールでログインして、
ip a
あとはTeraTermとかでつないで作業したほうが楽なので、そんな感じで。
sudoできるようにする
さて、まずはユーザーでsudoできるようにします。
su root
して、
visudo
で、
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
の行まで↓キーで移動して、i
キーを押して挿入モードにします。
こんな感じで、
ユーザー名 ALL=(ALL) ALL
みたいに記載します。ユーザー名はインストール時に作ったユーザーです。
あとはEsc
キーで挿入モードを解除して、:wq!
+Enter で上書き保存できます。
Exit
で抜けて、
sudo ls
ソフトウェアの更新
sudo yum update
します。
「ダウンロードしてええか?」と聞かれたらy
しましょう。「上記の処理を行いますか?」みたいなこと聞かれることもありますが、これもy
で。
完了しました!
って言ってくれるの、わかりやすくていいですね!
SQL Serverのインストール
今回はSQL Server 2019でやってみました。
基本的にはMicrosoftの記事の通りにやればよいのですが、まずPython2のインストールから。
sudo alternatives --config python
sudo yum install python2
sudo yum install compat-openssl10
sudo alternatives --config python
をします。もうインストールされてるよとか言われても気にしなくて大丈夫です。
次にリポジトリ構成ファイルをインストールします。が、上にリンクを貼ったMicrosoftのドキュメントはRHEL 8(≒CentOS 8)相当なので、バージョン7に読み替える必要があります。
なので、必要なコマンドは、
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
になります。rhel/8/mssql-server-2019.repo の部分を修正するわけです。
その後、
sudo yum install -y mssql-server
します。また「インストールしますか?」とか色々聞かれるかもしれませんが、例によってy
でOKです。
インストールが終わったらセットアップです。
sudo /opt/mssql/bin/mssql-conf setup
本番環境の設置とかでライセンスがあるなら当該のを選ぶ必要がありますが、検証なら3 (Express)で良いかと思います。
ライセンス条項に同意しますか? [Yes/No]:
で、y
を押します。
言語の設定は、特にこだわりがなければ日本語の6
で良いでしょう。
あとはSQL Serverの管理者のパスワードを入力します。確認も含めて2回入力することになります。rootとかのパスワードじゃないですよ。
セットアップは正常に完了しました。SQL Server を起動しています。
と出たら完了。
Firewallの設定
外からHTTPやHTTPSでつながるようにします。
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
レポジトリの作成
A360のBotファイル等を保存する場所を作ります。
場所はA360のサービスが参照さえできれば、どこでもいいといえばどこでもいいのですが、とりあえず一般的なLinuxの流儀だと /var
配下とかだと思いますので、
sudo mkdir /var/A360repos
sudo chmod 777 /var/A360repos
で作っておきます。これ意外とハマるんですが、レポジトリはどうもPermissionで777必要なようです。(666とかだと後でエラー出ます)
A360のインストール
とりあえず、Automation360_el7_15436.bin
みたいなファイルを入手していることと思います。15436
の部分はBuild番号なので、最新版を入手した場合、別の数字になってるかと思います。ここから先の説明でも適宜、読み替えてください。
さて、インストーラーのファイルをLinux環境に転送します。
TeraTermだとファイル(F)
→ SSH SCP...
で簡単に転送できます。Fromのところにファイル名を選択してSend
を押すだけです。
ちょっと時間がかかりますが、転送してくれます。
転送先を指定しない場合、/home/ユーザー名/
に転送されるはずです。
ls /home/ユーザー名
でファイルの転送が確認できたら、
sudo chmod 777 /home/ユーザー名/Automation360_el7_15436.bin
します。これで「コピーしたファイル(インストーラー)を実行する許可」がファイルに付与されます。
あとは、
sudo /home/ユーザー名/Automation360_el7_15436.bin
でインストールが開始されます。
インストール中に聞かれるのは、
- ★継続するかどうか (1:継続 2:キャンセル)
- ★解説
- ライセンス同意
- ★HTTP Port (デフォルトは80)
- ★HTTPS Port (デフォルトは443)
- ★自己署名を使うか (1:使用 2:不使用 デフォルトは1)
- ★HTTPS接続を強制するか (1:しない 2:する デフォルトは1)
- ★クラスターセットアップするか (1:しない 2:する デフォルトは1)
- ★DBサーバー (無入力だとlocalhost)
- ★DBサーバーのPort (無入力だと1433)
- ★作成するDB名 (無入力だとAutomation360-Database)
- SQL ServerのログインID
- SQL Serverのパスワード
- ★DBのSecure Connection (1:無効 2:有効 デフォルトは1)
- ElasticSearchのパスワード
で、★がついてるのは何も入力せずEnterで問題ありません。
3のライセンス同意は0
を入力したあと、同意するかy/nで聞かれるのでy
を入力します。
12のSQL ServerのログインIDはsa
と入力します。
13のSQL Serverパスワードは、SQL Serverのセットアップ時に入力した管理者パスワードになります。
15のElasticSearchパスワードですが、A360のドキュメントを見る限り、
Elasticsearch 認証パスワードとして次のことを確認してください。
パスワードには、スペース、セミコロン (;)、パーセント (%)、バックスラッシュ () は使用できません。
最初の文字には、マイナス記号 (-) やフォワードスラッシュ (/) は使用できません。
アルファベットを 1 文字以上含めます。
と書かれてるので、こちらを遵守しておきましょう。
あとは確認が2回ぐらいあって、Enter
するとインストールが開始されます。お茶でも飲んで待ってましょう。
インストール環境にもよりますが、たぶん10分ぐらいで完了します。
インストールが完了したら、念のため、
sudo systemctl | grep controlroom
して、関連サービスがloaded active running
になっていることを確認しましょう。
Control Roomの初期設定
ここまで完了すると、
http://(IPアドレス)/
で、Control Roomの初期画面にアクセスできるようになっています。
リポジトリパスには、先ほど作成した/var/A360repos
を入力します。Windows版の設定値が例に書いてあるって不親切ですネ
Control RoomアクセスURLは、http://192.168.1.146
のようにIPアドレスベースのURLを入力しておきましょう。ホスト名は後で変更できます。
Credential Vault設定は、とりあえずエクスプレスモード
で良いです。本番環境とかでなければ。
Control Roomユーザーの認証タイプは、AD連携とか考えてるのでなければ、COntrol Roomデータベース
にします。
Control Room最初の管理者ですが、Adminとかにしておくのが無難です。というのも、Bot開発や実行をするユーザーは別に作ることになる(≒普段使いのユーザーは別)で、開発ユーザーにAdmin権限は付与できない仕様なので。
あとはセキュリティの質問を適当に入力してやれば、Control Roomが表示されます。
お疲れ様でした!
余談
Bot作って試すとかは、新規でユーザー作成することになりますが、
- ユーザーのパスワードは初回ログイン時にユーザー側が設定するので、管理者が設定するパスワードは使い捨てでOK
- とりあえずBot作成して試すユーザーには
AAE_Bot Developer
AAE_Locker Admin
AAE_Pool Admin
AAE_Queue Admin
あたりを付与しておけばOK (あくまで検証環境とかで厳密な運用をしない場合の話ですが) - メールアドレスは必須なので、ガチ運用するのでなければ、
なんちゃら@example.com
みたいな設定で逃げればOK
みたいな感じで開始すると、無駄がないと思います。