![見出し画像](https://assets.st-note.com/production/uploads/images/71377935/rectangle_large_type_2_4d7b70ef5aa4759cd88e90dd461c13e9.jpeg?width=1200)
Blue Prism をクラウドに展開(Azure編)
みなさん、はじめましてバディです。
今回は、クラウドへ展開する際の情報をお届けします。
「メガクラウド」とも呼ばれる「3大クラウド」のうち、今回は Microsoft の Azure 上への展開についてのお話しです。
「3大クラウド」には、他にも Amazon の「AWS(Amazon Web Services)」や Google の「GCP(Google Cloud Platform)」がありますが、いずれにも展開するためのリファレンスアーキテクチャのドキュメントを提供していますので、ご心配なく。
はじめに
今回のお話は、「Blue Prism Reference Guide - Azure Reference Architecture」の内容をまとめたものになります。そのため、バージョン6に対応したものなりますが、基本的な内容は、他のバージョンでも参考となります。しかしながら、クラウドの内容についてはサービスなど変化することも多く、実際の構築の際には、経験豊富な Azure の専門家のアドバイスをもらいながら進めてください。
オンプレのおさらい
![](https://assets.st-note.com/img/1643880667583-m6plkIcXO2.png?width=1200)
Blue Prismは、任意の数のインタラクティブ クライアント、ランタイムリソース、および Blue Prism アプリケーションサーバーとデータベースサーバーで構成されます。この4つのコンポーネントは、いずれも物理または仮想化環境上にインストールされます。
これは、クラウド上で展開する場合も変わりません。
ランタイムリソースの数が多い場合など仮想化環境にインストールすることが推奨されていますが、クラウド(リファレンスアーキテクチャの構成)ではインタラクティブ クライアントも含めて仮想マシンとなりますので、操作するためには、図の緑で記載されている開発・管理端末からリモート接続する必要があります。
Azure の基礎
Azureを使うメリットとは?
Azure には、他のクラウドに比べて下記のようなメリットがあります。(さまざまあるかと思いますが、ここでは良くお聞きする2つをあげています)
クライアントOS(Windows 10)利用時の制約が少ない
Office 365 の環境へ高速な Microsoft バックボーンネットワークで接続
これまで人がデスクトップ上で行っていた操作も求められるため、クライアントOS(Windows 10など)上でサポートされているアプリケーションを動作させることが多いのではないでしょうか。
その場合に、Azure は他のクラウドにくらべて、クライアントOSを利用する制約が少なく、コストを抑えて展開することが可能です。Microsoft のクラウドならではのメリットになるかもしれません。
これは、Office 365 を利用する際にも同様のことが言えます。
さらに Microsoft バックボーンネットワークを利用できるため、Office 365 の環境からのファイルのダウンロードなどの操作をオンプレや他のクラウドに比べて高速にできます。
押さえておきたい用語
Blue Prism の展開の前に、「Blue Prism Reference Guide - Azure Reference Architecture」で出てくる Azure の用語の中でも、知っていて欲しい5つの用語を簡単に説明したいと思います。
![](https://assets.st-note.com/img/1643880766888-RRdeQGe4QD.png?width=1200)
1. 仮想ネットワーク(VNet)
Azure 仮想ネットワーク サービスは、Azure リソースが仮想ネットワーク(VNet)を使用する他のリソースと安全に相互接続できるようにするものです。VNet は、クラウド内のユーザー独自のネットワークを表すものです。ユーザーのサブスクリプション専用の Azure Cloud が論理的に分離されています。オンプレミス ネットワークに VNet を接続することもできます(IPsec/IKE VPN または ExpressRoute)。
2. ネットワーク セキュリティ グループ(NSG)
ネットワーク セキュリティ グループ(NSG)には、仮想ネットワークの VM インスタンスへのネットワーク トラフィックを許可・拒否するアクセス制御リスト(ACL)規則が登録されています。
NSG は、サブネットまたはサブネット内の個々の VM インスタンスに関連付けることができます。NSG をサブネットに関連付ける場合は、ACL 規則が、そのサブネットのすべての VM インスタンスに適用されます。加えて、その VM に NSG を直接関連付けることによって、個々の VM へのトラフィックをさらに制限することができます。Blue Prism リファレンス アーキテクチャでは、NSG 内のコンポーネントの分離についていくつか推奨事項があります。
3. 可用性セット
Azure では、仮想マシン(VM)は、可用性セットと呼ばれる論理的グループに分類できます。可用性セット内に VM を作成すると、Azure プラットフォームが基礎インフラストラクチャ全体に VM の配置を分散 させます(あくまでも、同一センター内の別ラック)。Azure プラットフォームや基礎ハードウェア/インフラストラクチャの障害に対する保守イベントの予定 がある場合、可用性セットを使用することによって、少なくとも 1 台の VM が稼働し続けます。Blue Prism のリファレンスガイドでは、可用性セットを利用して、環境全体の単一障害点を回避しています。
4. Azure Active Directory
Azure AD(Azure Active Directory)は、Microsoft のマルチテナント クラウド ベース ディレクトリであり、アイデンティティ管理サービスです。そのため、Azure AD が標準 Windows Active Directory ドメイン コントローラと同じように動作せず、 Blue Prism を直接統合できません。Azure AD を使用する場合は、Azure AD Domain Services をデプロイして、Blue Prism と統合できるようにする必要があります。
5. Azure Active Directory Domain Services
Azure Active Directory Domain Services は、Windows Server Active Directory と完全に互換性のあるマネージド ドメイン サービス(ドメイン参加、グループ ポリシー、LDAP、 Kerberos/NTLM 認証など)を提供します。Kerberos や NTLM などの標準ドメインサービスに依存するアプリ ケーション(Blue Prism など)の統合を有効化するためには、Azure AD への拡張としてデプロイする必要があります。
Blue Prism Azure リファレンス アーキテクチャ
SQL PAASを利用する小規模デプロイメント
このパターンは、Azure SQL Database Platform as a Service(PaaS)を利用します。
Azure SQL Database(SQL PAAS)とは?
クラウド上で利用できるデータベースのサービスです。SQL Server のレイヤーまで Microsoft が管理してくれます。そのため、修正プログラムの適用とバージョンのアップグレードは自動的に行われます。バックアップについても自動的に取得する仕組みが備わっています。仕組みについては、「自動バックアップ」を参照してください。
複数のレプリカで構成され、データセンターの全体の障害の場合を除き、標準でデータベースの稼働および実行の時間が 99.99% 以上になるように保証されています。詳細については、「Azure SQL Database の SLA」を参照してください。
設計のポイント
Azureで仮想マシンを作成する際には、オプションの可用性セットを設定します。用語の説明の通り、電源やネットワークなどラック単位の予期しない停止の影響を受けないようにするためです。
アプリケーションサーバーも2台ある構成となっており、可用性セットがされています。環境によってはアプリケーションサーバーが1台の場合もあるかと思いますが、可用性セットは後から設定できないものになりますので、1台の場合も将来のためにセットしておくと良いかもしれません。
アプリケーションサーバーが2台ある場合は、インタラクティブ クライアントとランタイムリソースのいずれも、どちらかのアプリケーションサーバーを指定して接続する必要があります。Blue Prism の製品としての仕様となります。
アプリケーションサーバーの片側が、停止をした場合には、接続先を切り替える必要があります。自動的に切り替えたい場合は、ロードバランサーを利用します。ロードバランサーについては、「v6 Reference Guide - Load Balancing」をご参照ください。(残念ながら、v5については日本語版がありますが、v6については英語のみとなります)
SQLクラスタリングを使用する中~大規模デプロイメント
SQL PaaS には容量の制限があります。サービスレベルによりますが、Standardレベルで1TB、Premiumレベルで4TBになります。よりカスタマイズしたSQLのサービスが必要であれば、SQL Serverでの提供が必要となります。
![](https://assets.st-note.com/img/1643881001810-QGR6JUW5F8.png)
設計のポイント
インタラクティブ クライアントとランタイムリソースの数に応じてアプリケーションサーバーの数を増やす必要があります。アプリケーションサーバー1台当たりランタイムリソースを最大100台管理できます(v6の場合)。しかしながら、アプリケーションサーバーが一台停止することを想定するとすべて切り替わった場合の数を想定しながら設計しなくてはなりません。
数が多くなった場合には、ラック単位だけでなく、データセンター単位の影響も考える必要が出てくるかもしれません。その場合、SQL Serverの地域横断的なシナリオ展開も検討しなくてはなりません。その場合、「Azure Virtual Machines 上の SQL Server のビジネス継続性と HADR」も参照しながら計画をしてください。
参考情報
Azureに展開する上での参考リンクを紹介します。
今回の記事の内容は以下の資料を元にしています。Window統合認証についても記載がありますので、ぜひ一度読んでみてください。
ロードバランサーについては下記の資料があります。日本語版はv5までとなっていますので、英語版の方を確認してください。
オンプレのインフラについては以下のインフラガイドがあります。クラウドの展開の構成にも参考にしてください。