(BluePrism)ポケモン図鑑を作る ~Part14 AWSの環境構築編~
お疲れ様です。おむおむです。
※2020/07/25追記
newgraduate19-rpa.hatenablog.com
なかなか梅雨明けないですねぇ。
洗濯物が乾かないからつらいです。
さて、前回まででGASを途中まで作ってました。
newgraduate19-rpa.hatenablog.com
で、完成させたいんですが、
その前にAWSのコンポーネントを
用意したほうが諸々都合がよいので、
先にこちら書かせていただきます。
読みづらくてスミマセン...
今回は、AWS上に
アプリケーションサーバとランタイムリソース、
そしてSQL Serverをデプロイしてみたいと思います。
- EC2でインスタンスを作成する
- セキュリティグループを設定する
- Elastic IPの関連付け
- SQL Serverのインスタンス作成
- APサーバとRRの構築
- DBのRESTORE
- Blue Prismの設定
- まとめ
EC2でインスタンスを作成する
概要はこちら↓
aws.amazon.com
私は所得税が引かれ始め、非常に貧乏な新卒2年目なので、
AWSはなるべく無料枠で済ませようと思います。
使用するAMIは、
Microsoft Windows Server 2019 Baseです。
インスタンスの作成自体は、
デフォルトのままでよいかと思います。
テキトーにポチポチしていったら
数分でWindows Serverが使えるようになります。
クラウド最高!
セキュリティグループを設定する
次に、セキュリティグループを設定します。
ざっくり言うと、設定内容を共有できる
ファイアウォールみたいなもんです。
基本的にはホワイトリスト形式で
通信を許可するポートとIPアドレスを追加していきます。
今回開いておく必要があるのは、以下の2つです。
・3389番(RDP):自分のIPアドレスのみ
・8181番(ランタイムリソース):Any
Elastic IPの関連付け
最後に、Elastic IPを設定します。
デフォルトの状態だと、作成したインスタンスは
VPCの中でDHCPを使用して
動的にプライベートIPアドレスが付与されている状態なので、
静的にグローバルIPを与えることで
外部ネットワークからもアクセスできるようにします。
唯一気を付けなければならないことは、
Elastic IPは、関連付けられたインスタンスが
停止中の場合のみ料金が発生することです。
「せっかく貴重なIPv4アドレスを割り振ったんだから、
有効に活用してくれよな!」
というAWS側からの念を感じ取ってください。
詳しくはこちらをチェック。
aws.amazon.com
SQL Serverのインスタンス作成
別にEC2内にSQL Serverを入れてもいいんですが、
せっかくなんでRDSを使用してみようと思います。
aws.amazon.com
こちらも、Auto Scalingとかは無効にして、
なるべくお金がかからないように気を付けます。
ちなみに、VPCが2つ以上のAZにないと
インスタンスを作成できないんで気を付けてください。
docs.aws.amazon.com
APサーバとRRの構築
ここからは実際にWindows Serverの中身をいじっていきます。
まず、(お好みで)日本語の言語パッケージをインストールします。
既に以下の記事でご丁寧に説明いただいているので
詳細はこちらをご覧ください。↓
capybara-engineer.hatenablog.com
次に、Blue Prismをインストールします。
これはまあ、ウィザードに従ってぽちぽちと。
加えて、データベース管理用に
SSMSとSQLCMDをインストールしておきます。
docs.microsoft.com
docs.microsoft.com
インストーラーを叩いて、
ウィザードの通りに進めればOKです。
ちなみに、SSMSからつなぐときの「サーバー名」、
およびSQLCMDの「-S」のあとのサーバー名は、
RDSのエンドポイントを設定すればOKです。
DBのRESTORE
自分の場合はローカルで
DBの作成等作業してたので、
一旦DBをRDS上に移行する必要があります。
何らかの方法で、ローカルのDBに以下のクエリを送ってください。
>BACKUP DATABASE (データベース名) TO DISK = '(任意のファイルパス).bak';
こうすることで、DBのバックアップファイルが作れます。
そして、作成した.bakファイルを
何らかの方法でEC2上に移行し、
RDSに対して以下のクエリを送信します。
>RESTORE DATABASE (データベース名) FROM DISK = '(バックアップファイルパス)';
ここでのデータベース名は、
.bak作成時のデータベース名と一致する必要があります。
加えて、.bakファイルは
ユーザープロファイル以外の場所に格納しましょう。
stackoverrun.com
Blue Prismの設定
ゴールが見えてきた・・・!
既に折り返しは過ぎてます、頑張りましょう。
諸々インストールが完了したら、
Blue Prismを起動し、接続構成を設定します。
設定内容は以下の通り。
接続名:任意 接続タイプ:SQL Server(SQL Server認証) データベースサーバー:RDSのエンドポイント データベース名:任意 ユーザー名:SQL Serverインスタンス作成時に設定した管理者名 パスワード:SQL Serverインスタンス作成時に設定した管理者のパスワード
恐らく、一般的なアプリケーションサーバと
同様の設定内容ではないでしょうか。
違いとしては、追加オプションの設定が面倒だったので
Windows認証を無効にしたため、
SQL Server認証を使用しているというぐらいですかね。
あとはadminユーザのパスワードを変更して、
ライセンスを食わせてやればOKです。
今回はランタイムリソースさえ公開できていれば、
アプリケーションサーバは不要ですので、
ここまで終わったら以下のコマンドでRRを起動しておきます。
>Automate.exe /resourcepc /public /invisible
そして、Windows側のファイアウォールも
8181番ポートの接続をAnyで許可しておきます。
EC2側でnetstatしてみるとこんな感じ。
C:\>netstat -nao | findstr 8181 TCP 0.0.0.0:8181 0.0.0.0:0 LISTENING 2724 TCP [::]:8181 [::]:0 LISTENING 2724 TCP [::1]:50331 [::1]:8181 TIME_WAIT 0
うん、ちゃんと8181番ポートをリッスンしてますね。
そして、ホスト側からPsPingを叩くとこんな感じ。
C:\>psping (EC2のIPアドレス):8181 PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility Copyright (C) 2012-2016 Mark Russinovich Sysinternals - www.sysinternals.com TCP connect to (EC2のIPアドレス):8181: 5 iterations (warmup 1) ping test: Connecting to (EC2のIPアドレス):8181 (warmup): from 192.168.43.143:56545: 46.49ms Connecting to (EC2のIPアドレス):8181: from 192.168.43.143:56546: 45.15ms Connecting to (EC2のIPアドレス):8181: from 192.168.43.143:56547: 47.75ms Connecting to (EC2のIPアドレス):8181: from 192.168.43.143:56548: 47.87ms Connecting to (EC2のIPアドレス):8181: from 192.168.43.143:56549: 46.10ms TCP connect statistics for (EC2のIPアドレス):8181: Sent = 4, Received = 4, Lost = 0 (0% loss), Minimum = 45.15ms, Maximum = 47.87ms, Average = 46.71ms
ちゃんと通りますね。
ちなみにPsPingは
Blue Prism Portalにもドキュメントがあるぐらい
いい感じのツールです。
MS公式だし。
ドキュメント
https://portal.blueprism.com/system/files/documents/How%20to%20use%20PsPing%20to%20test%20ping%2C%20latency%20%26%20bandwidth%20between%20Blue%20Prism%20Components.pdfportal.blueprism.com
本体のダウンロード
docs.microsoft.com
ここまで出来たら、あとはOK!
次回の記事でGASを完成させます!
まとめ
・ナウでシャレオツでダンモなAWS、楽しい☆
・Blue Prism WorldのBlue Prism Cloudの講演、楽しみ☆
カナブンにアースジェットめちゃくちゃ効んですね。
網戸越しに洗濯物についてたカナブンに3秒ほど噴射したら
お亡くなりになりました。