Amazon LightsailでRPAの管理サーバー検証環境を作ってみた （Automation Anywhere Enterprise A2019編）

以前、Amazon EC2を利用する以下のような記事を書きましたが、
今回はより低コストに、かつ、ほぼ定額で運用が出来るVPS（Virtual Private Server）サービスの、Amazon Lightsailを使って、Automation Anywhere Enterprise A2019のサーバー（Control Room)を立ててみました。
EC2と比較するとよりシンプルに運用できる分、出来ることも減ってきますので、検証環境や、割と割り切った小規模運用に向いているのではないかと思います。
ただ、定額のサービスなので基本的には立ち上げっぱなしの運用が可能です。
そのために今回はLightsailで立ち上げてみることにしてみました。

（以前書いた記事）
[Automation Anywhere BYOLでAWS上にControl Roomを立ててみる - Qiita](https://qiita.com/zamaezaaa/items/6eac6669dedaa3ab7420)

### 免責事項
AWSの有料サービスを利用します。
インスタンスを複数作成したり、データ転送量が無料枠を超えたり、固定IPをどのインスタンスへも割り当てなかったりする等、想定している以上に料金がかかる事がありますので、
自身でもよく調べた上で臨んでください。
また、AWSの請求ダッシュボードをこまめにチェックされることもお勧めします。
思っていたよりも費用がかかった等、このエントリーの著者は一切責任を持ちませんので、予めご了承ください。

#Amazon Lightsailの概要
月並みですが、概要については下記ページを参照してください。
主としてはWebサイトのホスティングなどを意識していそうです。
[特徴 - Amazon Lightsail | AWS](https://aws.amazon.com/jp/lightsail/features/)

#用意したもの
- Windows PC 
- Automation Anywhere Enterprise A2019 インストーラー （サーバーソフトウェア）
- 同ライセンス （ライセンス無しでも30日間の評価環境として動作します）
- Amazon AWSアカウント

#実際にやってみる

##Instanceの作成
AWSマネジメントコンソールから、Lightsailを開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/1ea3f35d-3282-de43-3dd1-c0acf80a7a92.png)

Create instanceボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/2fc0f406-40ab-76d3-aa1b-c845dd8c3058.png)


インスタンスの作成画面が開きますので、Platformは今回は「Windows」を選びます。
（A2019のControl Room自体はLinux上でも稼働しますが、今回はWindows Serverを使います。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/291655fb-e1a7-4ac3-fd21-98a478c836cd.png)

Select a blueprintということで、今回はSQL Server 2016 Expressがプリインストールされているものを使いますので、
左側の「Apps + OS」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/2bf6aec5-4e11-68a4-5e14-37bb9254f1fc.png)

Instance planを選びます。料金/性能プランですね。
本来は以下ドキュメントにある通り、8コアXeon CPU、16GB Memoryが推奨スペックなので、240 USD/月のプランになるのですが、
[Enterprise Control Room server requirements](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/deployment-planning/on-prem-install/cloud-requirements-server-hardware.html)
今回は検証環境で、ユーザーは私一人、実際に動かすロボットも数台～10数台程度になる見込みなので、
70 USD/月のプランにしてみたいと思います。
（推奨スペックを満たさない環境での使用・運用はAutomation Anywheereの技術サポート対象外となる可能性がありますので、ご注意ください）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/37bd9026-beee-57b4-07df-910e977f4beb.png)

最後に、Instanceに名前を付けて、Create Instanceボタンを押したら、作成完了です！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/e2822aee-4ad1-6f8d-4553-73e892c3ee3e.png)

##設定編
Instanceが無事作成されると、以下のようにLightsailのポータルページに表示されるようになります。
作成直後はモニタのアイコンが出ませんが、しばらくすると表示されるようになり、リモートデスクトップ接続できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/9e002f3c-9b3c-0f85-3545-eb2f21059c8d.png)

####Firewall設定
右端にある「・・・」をクリックして、「Manage」をクリック。
設定画面が開いたら、「Networking」をクリック。
下記ドキュメントを参照してポートを解放します。
（Lightsailの場合は、接続するPCをIPアドレスによって制限をかける等が出来ません。）
[Ports, protocols, and firewall requirements](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/deployment-planning/on-prem-install/cloud-firewall-rules.html?_LANG=jpjp)

設定例：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/652d583b-0719-cbc3-bb7c-8cd39f7f8bf5.png)


固定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ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/3fe37f4f-8b78-b03c-bd63-50ec2331d4ad.png)

既に通常使っている資格情報が選択されているケースがありますので、その場合は画像の「More choices」といったリンクをクリックし、「Use a different account」を選ぶと、ID、Passwordの入力画面が開きます。
（Windowsの言語によって表示がちょっと変わりますが）
そして、先ほどメモしたID、Passwordを入力して接続します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/5b822d0e-f2f0-54f7-b152-3ef20b8c3964.png)

##Windows Firewallの設定
デフォルトの設定だと今回使うPortが全てブロックされているため、Windows Firewallをオフにします。
（LightsailのFirewallがあるため。指定したIPアドレスからしか接続できないようにする等、より強固にガードする場合はWindows Firewallを利用します。）

##SQL Serverの設定確認
このInstanceではすでにSQL Server 2016がインストールされていますので、SQL Server Configuration Managerを起動します。

以下の通り、TCP/IPプロトコルが有効になっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/f223624f-530e-caac-a9a1-61a11cdb22d3.png)

さらに、TCP/IPをダブルクリックして、「IP Addresses」のタブを開き、一番したにある「IPAll」のTCP Portに1433が設定されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/6d22bddf-d0df-187e-d1eb-1ea0256ce8d2.png)

##Automation Anywhere Enterprise A2019 Control Roomのインストール
続いて、Automation Anywhere Enterprise A2019 インストーラーをローカルPCからコピーします。
Windows標準のリモートデスクトップで接続すると、コピー&ペーストでファイルを転送できますので、ローカルPC上のインストーラーをコピーし、
リモートデスクトップで接続しているInstanceの適当なフォルダーにペーストします。
しばらくするとファイル転送が終了しますので、インストーラーを起動します。

あとは案内に沿ってインストールし、Control Roomが起動したらユーザーを作成する等設定をし、完了です！！


##実際にアクセスしてみる
ローカルPCのGoogle Chromeから、先ほど設定したInstanceのIPアドレスへアクセスします。
ログイン画面が出て無事にログイン出来たら成功です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/8e059cb6-95b2-7325-d121-4f4c4d519592.png)

セットアップ後のCPU使用率ですが、直後に多少スパイクはあるものの、以降はSutainable zoneの中に余裕で収まっています。
あとはいくつかBotを稼働させたり、稼働データが増えてきたり、ダッシュボードを作成したりした際にどれだけリソースを消費するか、今後試していきたいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490870/fae303ce-02e8-4b57-a5b3-004524ec849f.png)