以前、Amazon EC2を利用する以下のような記事を書きましたが、
今回はより低コストに、かつ、ほぼ定額で運用が出来るVPS(Virtual Private Server)サービスの、Amazon Lightsailを使って、Automation Anywhere Enterprise A2019のサーバー(Control Room)を立ててみました。
EC2と比較するとよりシンプルに運用できる分、出来ることも減ってきますので、検証環境や、割と割り切った小規模運用に向いているのではないかと思います。
ただ、定額のサービスなので基本的には立ち上げっぱなしの運用が可能です。
そのために今回はLightsailで立ち上げてみることにしてみました。
(以前書いた記事)
Automation Anywhere BYOLでAWS上にControl Roomを立ててみる - Qiita
免責事項
AWSの有料サービスを利用します。
インスタンスを複数作成したり、データ転送量が無料枠を超えたり、固定IPをどのインスタンスへも割り当てなかったりする等、想定している以上に料金がかかる事がありますので、
自身でもよく調べた上で臨んでください。
また、AWSの請求ダッシュボードをこまめにチェックされることもお勧めします。
思っていたよりも費用がかかった等、このエントリーの著者は一切責任を持ちませんので、予めご了承ください。
#Amazon Lightsailの概要
月並みですが、概要については下記ページを参照してください。
主としてはWebサイトのホスティングなどを意識していそうです。
特徴 - Amazon Lightsail | AWS
#用意したもの
- Windows PC
- Automation Anywhere Enterprise A2019 インストーラー (サーバーソフトウェア)
- 同ライセンス (ライセンス無しでも30日間の評価環境として動作します)
- Amazon AWSアカウント
#実際にやってみる
##Instanceの作成
AWSマネジメントコンソールから、Lightsailを開きます。
インスタンスの作成画面が開きますので、Platformは今回は「Windows」を選びます。
(A2019のControl Room自体はLinux上でも稼働しますが、今回はWindows Serverを使います。)
Select a blueprintということで、今回はSQL Server 2016 Expressがプリインストールされているものを使いますので、
左側の「Apps + OS」を選択します。
Instance planを選びます。料金/性能プランですね。
本来は以下ドキュメントにある通り、8コアXeon CPU、16GB Memoryが推奨スペックなので、240 USD/月のプランになるのですが、
Enterprise Control Room server requirements
今回は検証環境で、ユーザーは私一人、実際に動かすロボットも数台~10数台程度になる見込みなので、
70 USD/月のプランにしてみたいと思います。
(推奨スペックを満たさない環境での使用・運用はAutomation Anywheereの技術サポート対象外となる可能性がありますので、ご注意ください)
最後に、Instanceに名前を付けて、Create Instanceボタンを押したら、作成完了です!
##設定編
Instanceが無事作成されると、以下のようにLightsailのポータルページに表示されるようになります。
作成直後はモニタのアイコンが出ませんが、しばらくすると表示されるようになり、リモートデスクトップ接続できるようになります。
####Firewall設定
右端にある「・・・」をクリックして、「Manage」をクリック。
設定画面が開いたら、「Networking」をクリック。
下記ドキュメントを参照してポートを解放します。
(Lightsailの場合は、接続するPCをIPアドレスによって制限をかける等が出来ません。)
Ports, protocols, and firewall requirements
固定IPにしておく必要があれば、「IP addresses」の項で、Static IPを設定しておきます。
便利なので、私は設定しておきました。
####リモートデスクトップ接続
今度は「Connect」タブを開きます。
WebブラウザーベースのRDPツールも使えるのですが、今回はWindows標準のクライアントを使います。
最下部に以下の表示がありますので、デフォルトのユーザーネームを控えておきます。
Default user name:
ユーザーネームPassword:
Show default password
そして、「Show default password」を押すと、初期パスワードが表示されますので、こちらも控えておきます。
Windowsのリモートデスクトップクライアントを起動します。
(Win+Rを押してから、mstscと入力してEnter。が近道)
以下のように接続画面が開きますので、Computerの欄に先ほど作成したInstanceのグローバルIPアドレスを記入し、Connectボタンを押します。
既に通常使っている資格情報が選択されているケースがありますので、その場合は画像の「More choices」といったリンクをクリックし、「Use a different account」を選ぶと、ID、Passwordの入力画面が開きます。
(Windowsの言語によって表示がちょっと変わりますが)
そして、先ほどメモしたID、Passwordを入力して接続します。
##Windows Firewallの設定
デフォルトの設定だと今回使うPortが全てブロックされているため、Windows Firewallをオフにします。
(LightsailのFirewallがあるため。指定したIPアドレスからしか接続できないようにする等、より強固にガードする場合はWindows Firewallを利用します。)
##SQL Serverの設定確認
このInstanceではすでにSQL Server 2016がインストールされていますので、SQL Server Configuration Managerを起動します。
以下の通り、TCP/IPプロトコルが有効になっていることを確認します。
さらに、TCP/IPをダブルクリックして、「IP Addresses」のタブを開き、一番したにある「IPAll」のTCP Portに1433が設定されていることを確認します。
##Automation Anywhere Enterprise A2019 Control Roomのインストール
続いて、Automation Anywhere Enterprise A2019 インストーラーをローカルPCからコピーします。
Windows標準のリモートデスクトップで接続すると、コピー&ペーストでファイルを転送できますので、ローカルPC上のインストーラーをコピーし、
リモートデスクトップで接続しているInstanceの適当なフォルダーにペーストします。
しばらくするとファイル転送が終了しますので、インストーラーを起動します。
あとは案内に沿ってインストールし、Control Roomが起動したらユーザーを作成する等設定をし、完了です!!
##実際にアクセスしてみる
ローカルPCのGoogle Chromeから、先ほど設定したInstanceのIPアドレスへアクセスします。
ログイン画面が出て無事にログイン出来たら成功です。
セットアップ後のCPU使用率ですが、直後に多少スパイクはあるものの、以降はSutainable zoneの中に余裕で収まっています。
あとはいくつかBotを稼働させたり、稼働データが増えてきたり、ダッシュボードを作成したりした際にどれだけリソースを消費するか、今後試していきたいと思います。