

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CloudFormation を使用して Amazon EC2 に UiPath RPA ボットを自動的にセットアップする
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation"></a>

*Dr. Rahul Sharad Gaikwad と Tamilselvan P、Amazon Web Services*

## 概要
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-summary"></a>

このパターンでは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにロボティックプロセスオートメーション (RPA) ボットをデプロイする方法を説明しています。ここでは、[EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html) パイプラインを使用して、カスタム Amazon マシンイメージ (AMI) を作成します。AMI は、EC2 インスタンスをデプロイするためのオペレーティングシステム (OS) とプリインストールされたソフトウェアを含む事前構成された仮想マシン (VM)イメージです。このパターンでは、AWS CloudFormation テンプレートを使用して [UiPath Studio コミュニティエディション](https://www.uipath.com/product/studio)をカスタム AMI にインストールします。UiPath は、ロボットをセットアップしてタスクを自動化するのに役立つ RPA ツールです。

このソリューションの一部として、EC2 Windows インスタンスはベース AMI を使用して起動され、UiPath Studio アプリケーションがインスタンスにインストールされます。このパターンは、Microsoft システム準備 (Sysprep) ツールを使用し、のカスタマイズされた Windows インストールを重複します。その後、ホスト情報を削除し、インスタンスから最終的な AMI を作成します。これにより、独自の命名規則とモニタリング設定で最終的な AMI を使用し、インスタンスをオンデマンドで起動できます。


| 
| 
| 注: このパターンでは RPA ボットの使用に関する情報は得られません。詳細については、[UiPath ドキュメント](https://docs.uipath.com/)を参照してください。このパターンを使用して、独自の要件に基づいてインストール手順をカスタマイズすることで、他の RPA ボットアプリケーションを設定することもできます。 | 
| --- |

このパターンには次のような自動化と利点があります。
+ アプリケーションのデプロイと共有: アプリケーションのデプロイ用に Amazon EC2 AMI を構築し、EC2 Image Builder パイプラインを通じて複数のアカウントで共有できます。このパイプラインでは、AWS CloudFormation テンプレートを Infrastructure as Code (IaC) スクリプトとして使用します。
+ Amazon EC2 のプロビジョニングとスケーリング: CloudFormation IaC テンプレートは、カスタムコンピュータ名シーケンスと Active Directory 参加の自動化を提供します。
+ オブザーバビリティとモニタリング: このパターンは Amazon EC2 メトリクス (CPU やディスク使用量など) のモニタリングに役立つ Amazon CloudWatch ダッシュボードを設定します。
+ RPA がビジネスにもたらすメリット: RPA は割り当てられたタスクをロボットが自動的かつ一貫して実行できるため、精度が向上します。また、RPA は付加価値のない業務を排除し、繰り返しの多い作業を処理するため、スピードと生産性も向上します。

## 前提条件と制限事項
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-prereqs"></a>

**前提条件**
+ アクティブな [AWS アカウント](https://aws.amazon.com/free/)
+ CloudFormation テンプレートをデプロイするための [ Identity and Access Management (IAM) 許可](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)
+ EC2 Image Builder でクロスアカウント AMI ディストリビューションをセットアップするための [IAM ポリシー](https://docs.aws.amazon.com/imagebuilder/latest/userguide/cross-account-dist.html)

## アーキテクチャ
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-architecture"></a>

![Amazon EC2 で RPA ボットをセットアップするためのターゲットアーキテクチャ](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/5555a62d-91d4-4e81-9961-ff89faedd6ad/images/1893d2d3-8912-4473-adf1-6633b5badcd9.png)


1. 管理者は `ec2-image-builder.yaml` ファイルにベースの Windows AMI を指定し、CloudFormation コンソールにスタックをデプロイします。

1. CloudFormation スタックは、以下のリソースを含む EC2 Image Builder パイプラインをデプロイします。
   + `Ec2ImageInfraConfiguration`
   + `Ec2ImageComponent`
   + `Ec2ImageRecipe`
   + `Ec2AMI`

1. EC2 Image Builder パイプラインは、ベース AMI を使用して一時的な Windows EC2 インスタンスを起動し、必要なコンポーネント (この場合は UiPath Studio) をインストールします。

1. EC2 Image Builder はすべてのホスト情報を削除し、Windows サーバーから AMI を作成します。

1. カスタム AMI で `ec2-provisioning yaml` ファイルを更新し、独自の要件に基づいて多数の EC2 インスタンスを起動します。

1. Count マクロは、CloudFormation テンプレートを使用してデプロイします。このマクロは CloudFormation リソースの **Count** プロパティを提供するので、同じタイプの複数のリソースを簡単に指定できます。

1. CloudFormation `ec2-provisioning.yaml` ファイル内のマクロの名前を更新し、スタックをデプロイします。

1. 管理者は要件に基づいて `ec2-provisioning.yaml` ファイルを更新し、スタックを起動します。

1. このテンプレートは UiPath Studio アプリケーションで EC2 インスタンスをデプロイします。

## ツール
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-tools"></a>

**AWS サービス**
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/) を使用すると、インフラストラクチャリソースを自動的かつ安全な方法でモデル化および管理できます。
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) は、AWS、オンプレミス、その他のクラウド上のリソースとアプリケーションを観察およびモニタリングするのに役立ちます。
+ [Amazon Elastic Compute Cloud (Amazon EC2](https://aws.amazon.com/ec2/)) は、AWS クラウド内で安心で再サイズを変更できるコンピューティング性能を提供するウェブサービスです。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
+ [EC2 Image Builder](https://aws.amazon.com/image-builder/) は、AWS またはオンプレミスで使用する仮想マシンとコンテナイメージの構築、テスト、デプロイを簡素化します。
+ [Amazon EventBridge](https://aws.amazon.com/eventbridge/) は、AWS、既存のシステム、または Software as a Service (SaaS) アプリケーション全体にわたって、イベント駆動型アプリケーションを大規模に構築できるよう支援します。
+ [ Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) は、AWS リソースへのアクセスを安全にコントロールするのに役立ちます。IAM を使用すると、ユーザーがアクセスできる AWS のリソースを制御するアクセス許可を集中管理できます。IAM を使用して、誰を認証 (サインイン) し、誰にリソースの使用を認可する (アクセス許可を付与する) かを制御します。
+ [AWS Lambda](https://aws.amazon.com/lambda/) は、サーバーレスのイベント駆動型のコンピューティングサービスで、サーバーのプロビジョニングや管理を行わなくても、実質あらゆるタイプのアプリケーションやバックエンドサービスのコードを実行できます。200 以上の AWS サービスや SaaS アプリケーションから Lambda 関数を呼び出すことができ、使用した分のみ料金が発生します。
+ [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
+ [AWS Systems Manager Agent (SSM Agent)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) は、Systems Manager が EC2 インスタンス、エッジデバイス、オンプレミスサーバー、仮想マシン (VM) を更新、管理、構成するのに役立ちます。

**コードリポジトリ**

このパターンのコードは、GitHub 内の「[CloudFormation を使用した UiPath RPA ボットのセットアップ](https://github.com/aws-samples/uipath-rpa-setup-ec2-windows-ami-cloudformation)」リポジトリで利用できます。このパターンでは、[AWS CloudFormation マクロリポジトリ](https://github.com/aws-cloudformation/aws-cloudformation-macros/tree/master/Count)から入手できるマクロも使用しています。

## ベストプラクティス
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-best-practices"></a>
+ AWS は毎月新しい [Windows AMI](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html) をリリースしています。これには最新の OS パッチ、ドライバー、起動エージェントが含まれます。新しいインスタンスを起動する際、または独自のカスタムイメージを作成する際は、最新の AMI を使用してください。
+ イメージのビルド時には、Windows または Linux で使用可能なすべてのセキュリティパッチを適用してください。

## エピック
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-epics"></a>

### ベースイメージ用のイメージパイプラインをデプロイする
<a name="deploy-an-image-pipeline-for-the-base-image"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| EC2 Image Builder パイプラインをセットアップします。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| EC2 Image Builder の設定を表示します。 | EC2 Image Builder の設定には、インフラストラクチャ構成、ディストリビューション設定、セキュリティスキャン設定が含まれます。設定を表示するには:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)ベストプラクティスとして、EC2 Image Builder の更新は CloudFormation テンプレートからのみ行ってください。 | AWS DevOps | 
| イメージパイプラインを表示します。 | デプロイされたイメージパイプラインを表示するには:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Image Builder のログを表示します。 | EC2 Image Builder のログは CloudWatch ロググループに集約されます。CloudWatch コンソールでのログを表示するには:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)<br />EC2 Image Builder のログも S3 バケットに保存されます。バケット内のログを表示するには:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| S3 バケットに UiPath ファイルをアップロードする。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 

### Count マクロのデプロイとテスト
<a name="deploy-and-test-the-count-macro"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Count マクロをデプロイします。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)コンソールを使用する場合は、前のエピックまたは [CloudFormation ドキュメント](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)の指示に従ってください。  | DevOps エンジニア | 
| Count マクロをテストします。 | マクロの機能をテストするには、マクロに付属しているサンプルテンプレートを起動してみてください。 <pre>aws cloudformation deploy \<br />    --stack-name Count-test \<br />    --template-file test.yaml \<br />    --capabilities CAPABILITY_IAM</pre> | DevOps エンジニア | 

### CloudFormation スタックをデプロイし、カスタムイメージでインスタンスをプロビジョニングする
<a name="deploy-the-cloudformation-stack-to-provision-instances-with-the-custom-image"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Amazon EC2 プロビジョニングテンプレートをデプロイする。 | CloudFormation を使用して EC2 イメージパイプラインをデプロイするには:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Amazon EC2 の設定を表示する。 | Amazon EC2 の構成には、セキュリティ、ネットワーク、ストレージ、ステータスチェック、モニタリング、タグの構成が含まれます。これらの構成を表示するには:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| CloudWatch ダッシュボードを表示する。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)スタックをプロビジョニングした後、ダッシュボードにメトリクスを入力するには時間がかかります。ダッシュボードには次のメトリクスが表示されます: `CPUUtilization`、`DiskUtilization`、`MemoryUtilization`、`NetworkIn`、`NetworkOut`、`StatusCheckFailed`。 | AWS DevOps | 
| メモリとディスクの使用状況に関するカスタムメトリックスを表示する。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| メモリとディスクの使用状況に関するアラームを表示する。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| スナップショットのライフサイクルルールを確認します。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 

### 環境を削除する (オプション)
<a name="delete-the-environment-optional"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
|  スタックを削除します。 | PoC またはパイロットプロジェクトが完了したら、作成したスタックを削除して、これらのリソースに対して課金されないようにすることをお勧めします。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)スタックの削除操作は、開始後に停止することはできません。スタックは `DELETE_IN_PROGRESS` 状態になります。<br />削除が失敗した場合、スタックは `DELETE_FAILED` 状態になります。解決策については、AWS CloudFormation トラブルシューティングドキュメントの「[スタックの削除失敗](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails)」を参照してください。<br />スタックが誤って削除されないように保護する方法については、AWS CloudFormation ドキュメントの「[スタックが削除されないように保護する](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)」を参照してください。 | AWS DevOps | 

## トラブルシューティング
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-troubleshooting"></a>


| 問題 | ソリューション | 
| --- | --- | 
| Amazon EC2 プロビジョニングテンプレートをデプロイすると、「*トランスフォーム 123xxxx:: Count から不正な形式の応答を受信しました*」というエラーが表示される。 | これは既知の問題です。([AWS CloudFormation マクロリポジトリ](https://github.com/aws-cloudformation/aws-cloudformation-macros/pull/20)のカスタムソリューションと PR を参照してください)。<br />この問題を解決するには、AWS Lambda コンソールを開き、[GitHub リポジトリ](https://raw.githubusercontent.com/aws-cloudformation/aws-cloudformation-macros/f1629c96477dcd87278814d4063c37877602c0c8/Count/src/index.py)のコンテンツで `index.py` を更新します。  | 

## 関連リソース
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-resources"></a>

**GitHub リポジトリ**
+ [CloudFormation を使用した UiPath RPA ボットのセットアップ](https://github.com/aws-samples/uipath-rpa-setup-ec2-windows-ami-cloudformation)
+ [Count CloudFormation Macro](https://github.com/aws-cloudformation/aws-cloudformation-macros/tree/master/Count)

**AWS リファレンス**
+ [AWS CloudFormation コンソールでのスタックの作成](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) (CloudFormation ドキュメント)
+ [CloudFormation のトラブルシューティング](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html) (CloudFormation ドキュメント)
+ [Amazon EC2 Linux インスタンスのメモリとディスクのメトリクスのモニタリング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) (Amazon EC2 ドキュメント)
+ [CloudWatch エージェントを使用して Windows サーバー上のパフォーマンスモニターのメトリクスを表示する方法を教えてください。](https://repost.aws/knowledge-center/cloudwatch-performance-monitor-windows)(AWS re: POST の記事)

**その他の参考資料**
+ [UiPathドキュメント](https://docs.uipath.com/)
+ [Syspreped AMI でホスト名を設定する](https://blog.brianbeach.com/2014/07/setting-hostname-in-syspreped-ami.html) (Brian Beachによるブログ記事)
+ [パラメータが変更されたときに Cloudformation にマクロを使用してテンプレートを再処理させるにはどうすればよいですか?](https://stackoverflow.com/questions/59828989/how-do-i-make-cloudformation-reprocess-a-template-using-a-macro-when-parameters) (スタックオーバーフロー)