見出し画像

Blue Prism をクラウドに展開(AWS編)

こんにちは!ルビーです。
最近暖かくなってきた気がしますが、まだまだ夜は寒いですね。

本日は最近お客様からも検討しています、とお話をよく聞くAWS利用についてのお話です。
ちなみに、Azure利用についての記事はこちら


はじめに

今回のお話は、「Blue Prism Reference Guide - AWS Reference Architecture」の内容をまとめたものになります。そのため、バージョン6に対応したものなりますが、基本的な内容は、他のバージョンでも参考となります。しかしながら、クラウドの内容についてはサービスなど変化することも多く、実際の構築の際には、経験豊富な AWS の専門家のアドバイスをもらいながら進めてください。

オンプレのおさらい

4つのコンポーネント

Blue Prismは、任意の数のインタラクティブ クライアント、ランタイムリソース、および Blue Prism アプリケーションサーバーとデータベースサーバーで構成されます。この4つのコンポーネントは、いずれも物理または仮想化環境上にインストールされます。

これは、クラウド上で展開する場合も変わりません。

ランタイムリソースの数が多い場合など仮想化環境にインストールすることが推奨されていますが、クラウド(リファレンスアーキテクチャの構成)ではインタラクティブ クライアントも含めて仮想マシンとなりますので、操作するためには、図の緑で記載されている開発・管理端末からリモート接続する必要があります。

AWS の基礎

AWSを使うメリットとは?

  • 幅広いサービス提供

AWSでは、ストレージ、データベース、ネットワーキング、セキュリティなど200以上のサービスを提供しています。

これらのサービスを組み合わせることで、ニーズに合わせたクラウド環境の構築が行えます。

Blue Prism でもデータベースや、環境に応じてロードバランサーなどのコンポーネントを利用することがあるため、サービスの選択肢があることはメリットですね。

押さえておきたい用語

1.仮想プライベートクラウド(VPC)
AWS内で構築できるプライベート仮想ネットワーク空間です。このネットワーク内にAWSのリソースを配置することができます。
1つのVPCを論理的なまとまりとして管理でき、インターネット公開用のパブリックなVPCや、VPNなどを使用して接続するプライベートなVPCなどの構築ができます。

2.リージョン
AWSにはリージョンという概念が存在し、データセンターが集まって置かれているエリアを示しています。
2024年3月時点で、33のリージョンがローンチ済みになっています。
日本では、東京と大阪に存在し、それぞれ独立して運用されているため、リージョンにトラブルがあった際も他のリージョンには影響がでないようになっています。

3.アベイラビリティゾーン
アベイラビリティゾーン(AZ)とは、1つのリージョン内でそれぞれ切り離され、冗長的な電力源、ネットワークなどを備えている1つ以上のデータセンターのことです。
1つのリージョンに必ず複数存在します。たとえば東京リージョンでは、現在4つのAZがあります。
(参考:AWSグローバルインフラストラクチャ

4.AWS Directory Service
AWS Directory ServiceはMicrosoft ADをAWSの他のマネージメントサービスと併用するための方法を提供しています。
可用性が高かったりディレクトリを共有できたりと、多くの特長とメリットを持っています。

5.セキュリティグループ
VPC上に配置したリソースに対して設定できる仮想ファイアウォール機能です。
紐づけられたリソースへのインバウンド・アウトバウンドトラフィックを制御できます。

Blue Prism AWS リファレンスアーキテクチャ

SQL PAAS を使用する、小規模で重要でない環境またはPoC環境

PoC構成

このパターンはAWS RDS SQL Server Database Platform as a Service(PAAS)を利用します。

AWS RDS SQL Server Database Platform as a Service(PAAS)とは?
クラウド上で利用できるデータベースのサービスです。
一般にデータベースというと、サーバにミドルウェアとしてインストールし、稼働させるケースが考えられますが、RDSはAWSのマネージドサービスとして提供されています。
そのため、AWS側でバックアップ、パッチ適用、モニタリングなどデータベースの管理を行っており、ユーザーはシンプルにデータベースを利用することができます。
SLAおよびサービスの詳細については「AWS RDS」を参照してください。

ちなみにSQL Expressエディションについては、オンプレミス同様にPoC用途での利用を推奨しています。
仕様上容量およびメモリの上限の問題があるため、パフォーマンス問題につながる恐れがありますので、本番利用時はStandard以上をご検討ください。

SQL PAAS とHADR を利用する小~中規模デプロイメント

小~中規模

HADRとは?
High Availability Disaster Recoveryの略で、データベースの高可用性を実現する機能の一つです。
データベースが2つ稼働した状態で、プライマリの役割を担うデータベース上のログをセカンダリのデータベースに転送することで、有事の際はセカンダリデータベースに切り替えてサービスを継続することができます。

こちらの環境ではマルチAZになっており、自然災害などで一つのAZが停止しても問題なく、可用性を高めることが可能です。
また、HADRの実装もされており、プライマリがダウンするとセカンダリに置き換える動きが可能です。
ただし、現在はStandardエディションでもAlways On可用性グループ(後述)が利用可能ですので、そちらの構成がメインになってくるのではと想像しています。

アプリケーションサーバも複数台用意してありますが、インタラクティブクライアントとランタイムリソースのいずれも、どちらかのアプリケーションサーバを指定して接続する必要があります。Blue Prism の製品としての仕様となります。

アプリケーションサーバーの片側が、停止をした場合には、接続先を切り替える必要があります。自動的に切り替えたい場合は、ロードバランサーを利用します。ロードバランサーについては、「v6 Reference Guide - Load Balancing」をご参照ください。(残念ながら、v5については日本語版がありますが、v6については英語のみとなります)

ちなみに、ロードバランサーについてはAWS Elastic Load Balancerでもソフトウェアロードバランサーでも構いませんが、Blue Prism はトランザクション中にクライアントサーバ間のセッション状態を維持する必要があるため、セッションアフィニティ設定(スティッキーセッション)があるロードバランサーが必要です。

SQLクラスタリングを使用する中~大規模デプロイメント

中~大規模

HADRのAlways On可用性グループを使用した構成です。

Always On可用性グループとは?
複数のSQL Serverのグループを仮想的に一台のSQL Serverに見せ、グループのいずれか一台が正常に機能していれば、接続先からは正常に動いているように見せるという技術です。

ミラーリングで対応していた従来と比べ、セカンダリの数を増やすことができ、監視サーバが不要になるなどメリットが多く、公式ドキュメントにも、ミラーリングは将来のリリースで機能廃止予定で、今後はAlwaysOn可用性グループを使用するようにと明記されています。
https://learn.microsoft.com/ja-jp/sql/database-engine/database-mirroring/database-mirroring-sql-server?view=sql-server-ver15

その他の考慮事項

AWS Workspacesはインタラクティブクライアントでの管理業務などでの活用は問題ございませんが、現状ランタイムリソースとしての利用はBlue Prism でサポートしていないため、ご注意ください。

参考情報

AWSに展開する上での参考リンクをご紹介します。

今回の記事の内容は以下の資料を元にしています。

ロードバランサーについては下記の資料があります。日本語版はv5までとなっていますので、英語版の方を確認してください。

オンプレのインフラについては以下のインフラガイドがあります。クラウドの展開の構成にも参考にしてください。