を使用して Amazon でボットを自動的にセットアップ UiPath RPAEC2する AWS CloudFormation - AWS 規範ガイダンス

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

を使用して Amazon でボットを自動的にセットアップ UiPath RPAEC2する AWS CloudFormation

作成者: Dr. Rahul Sharad Gaikwad (AWS) と Tamilselvan P (AWS)

環境:PoC またはパイロット

テクノロジー: インフラストラクチャ DevOps

ワークロード:その他すべてのワークロード

AWS サービス: Amazon CloudWatch、EC2Image Builder、AWSSystems Manager AWS CloudFormation

[概要]

このパターンでは、Amazon Elastic Compute Cloud (Amazon RPA) インスタンスにロボットプロセスオートメーション (EC2) ボットをデプロイする方法を説明します。EC2 Image Builder パイプラインを使用して、カスタム Amazon マシンイメージ () を作成しますAMI。AMI は、 EC2 インスタンスをデプロイするためのオペレーティングシステム (OS) とプリインストールされたソフトウェアを含む、事前設定された仮想マシン (VM) イメージです。このパターンでは、 AWS CloudFormation テンプレートを使用して UiPath Studio Community Edition をカスタム にインストールしますAMI。 UiPath は、タスクを自動化するロボットのセットアップに役立つRPAツールです。

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

注: このパターンでは、RPAボットの使用に関する情報は提供されません。詳細については、「」のUiPath ドキュメントを参照してください。このパターンを使用して、要件に基づいてインストールステップをカスタマイズすることで、他のRPAボットアプリケーションをセットアップすることもできます。

このパターンには次のような自動化と利点があります。

  • アプリケーションのデプロイと共有: アプリケーションデプロイEC2AMIs用の Amazon を構築し、AWS CloudFormation テンプレートをコードとしてのインフラストラクチャ (IaC) スクリプトとして使用する EC2 Image Builder パイプラインを通じて複数のアカウント間で共有できます。

  • Amazon EC2 プロビジョニングとスケーリング: CloudFormation IaC テンプレートは、カスタムコンピュータ名シーケンスと Active Directory 結合の自動化を提供します。

  • オブザーバビリティとモニタリング: このパターンは、Amazon EC2メトリクス ( CPUやディスクの使用状況など) のモニタリングに役立つ Amazon CloudWatch ダッシュボードを設定します。

  • RPA ビジネスにとってのメリット: ロボットは割り当てられたタスクを自動的かつ一貫して実行できるため、精度RPAが向上します。RPA は、価値を付加しないオペレーションを削除し、反復的なアクティビティを処理するため、速度と生産性も向上します。

前提条件と制限

前提条件

アーキテクチャ

Amazon でRPAボットを設定するためのターゲットアーキテクチャ EC2
  1. 管理者は、 AMI ec2-image-builder.yaml ファイルにベース Windows を提供し、 CloudFormation コンソールにスタックをデプロイします。

  2. CloudFormation スタックは、以下のリソースを含む EC2 Image Builder パイプラインをデプロイします。

    • Ec2ImageInfraConfiguration

    • Ec2ImageComponent

    • Ec2ImageRecipe

    • Ec2AMI

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

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

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

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

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

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

  9. テンプレートは Studio UiPath アプリケーションを使用してEC2インスタンスをデプロイします。

ツール

AWS サービス

  • AWS CloudFormation は、インフラストラクチャリソースを自動的かつ安全な方法でモデル化および管理するために役立ちます。

  • Amazon CloudWatch は、、オンプレミスAWS、その他のクラウド上のリソースとアプリケーションをモニタリングするのに役立ちます。

  • Amazon Elastic Compute Cloud (Amazon EC2) は、 AWS クラウドで安全でサイズ変更可能なコンピューティングキャパシティを提供します。必要な数の仮想サーバーを起動することができ、迅速にスケールアップまたはスケールダウンができます。

  • EC2 Image Builder は、仮想マシンとコンテナイメージの構築、テスト、デプロイを簡素化し、 AWSまたはオンプレミスで使用します。

  • Amazon EventBridge は、、既存のシステムAWS、または Software as a Service (SaaS) アプリケーション全体でイベント駆動型アプリケーションを大規模に構築するのに役立ちます。

  • AWS Identity and Access Management (IAM) は、 AWSリソースへのアクセスを安全に制御するのに役立ちます。を使用するとIAM、ユーザーがアクセスできるAWSリソースを制御するアクセス許可を一元管理できます。を使用してIAM、誰を認証 (サインイン) し、誰にリソースの使用を承認する (アクセス許可を付与する) かを制御します。

  • AWS Lambda は、サーバーレスのイベント駆動型コンピューティングサービスで、サーバーのプロビジョニングや管理を行わずに、ほぼあらゆるタイプのアプリケーションやバックエンドサービスのコードを実行できます。200 を超える AWSサービスおよび SaaS アプリケーションから Lambda 関数を呼び出すことができ、使用した分に対してのみ料金を支払うことができます。

  • Amazon Simple Storage Service (Amazon S3) は、量にかかわらず、データを保存、保護、取得するのに役立つクラウドベースのオブジェクトストレージサービスです。

  • AWS Systems Manager エージェント (SSM エージェント) は、Systems Manager がEC2インスタンス、エッジデバイス、オンプレミスサーバー、仮想マシン () を更新、管理、設定するのに役立ちますVMs。

コードリポジトリ

このパターンのコードは、 GitHub UiPath RPA リポジトリを使用したボットのセットアップ CloudFormationで使用できます。このパターンでは、マクロAWS CloudFormation リポジトリ から利用可能なマクロも使用します。

ベストプラクティス

  • AWS は毎月新しい Windows AMIs をリリースしています。これには最新の OS パッチ、ドライバー、起動エージェントが含まれます。新しいインスタンスを起動AMIするとき、または独自のカスタムイメージを構築するときに、最新の を使用することをお勧めします。

  • イメージのビルド時には、Windows または Linux で使用可能なすべてのセキュリティパッチを適用してください。

エピック

タスク説明必要なスキル

EC2 Image Builder パイプラインをセットアップします。

  1. リポジトリUiPath RPAを使用してボットのセットアップ CloudFormationをクローンするか、リポジトリからec2-image-builder.yamlテンプレートをダウンロードします。

  2. AWS マネジメントコンソールにサインインし、AWS CloudFormation コンソール を開きます。

  3. [スタックの作成] を選択します。

  4. [Specify template (テンプレートの指定)] セクションで、[Upload a template file (テンプレートファイルのアップロード)] を選択します。

  5. コンピュータにある ec2-image-builder.yaml テンプレートを見つけてアップロードし、[次へ] を選択します。

  6. スタックの入力パラメータを指定するか、デフォルト値をそのまま使用します。[Next (次へ)] を選択します。

    注: パラメータの数と値は、入力値によって異なる場合があります。

  7. オプションで、スタックオプションを構成し、[次へ] を選択します。

  8. スタックの詳細を確認します。

  9. 画面の最後で、機能を確認するチェックボックスを選択し、[送信] を選択します。

  10. スタックの進行状況をモニタリングします。ステータスが CREATE_COMPLETE になったら、デプロイは準備完了です。

AWS DevOps

EC2 Image Builder の設定を表示します。

EC2 Image Builder の設定には、インフラストラクチャ設定、ディストリビューション設定、セキュリティスキャン設定が含まれます。設定を表示するには:

  1. EC2 Image Builder コンソール を開きます。

  2. ナビゲーションペインで、Image Builder のさまざまな設定に移動します。

注: ベストプラクティスとして、EC2Image Builder の更新は CloudFormation テンプレートからのみ行う必要があります。

AWS DevOps

イメージパイプラインを表示します。

デプロイされたイメージパイプラインを表示するには:

  1. EC2 Image Builder コンソールで、ナビゲーションペインからイメージパイプラインを選択します。

  2. 作成したイメージパイプラインを選択します。

  3. 出力イメージ、イメージレシピ、インフラストラクチャ設定、ディストリビューション設定、Amazon EventBridge ルール、タグの設定の詳細を表示します。

AWS DevOps

Image Builder のログを表示します。

EC2 Image Builder ログは CloudWatch ロググループに集約されます。でログを表示するには CloudWatch:

  1. CloudWatch コンソール を開きます。

  2. ナビゲーションペインで、[ログ][ロググループ] の順に選択します。

  3. ロググループの名前を選択します。EC2 Image Builder ログはロググループ に集約されます/aws/imagebuilder/XXX

  4. イメージパイプラインの実行中にエラーが発生していないか、それぞれのログストリームの最新のログを確認してください。

EC2 Image Builder ログは S3 バケットにも保存されます。バケット内のログを表示するには:

  1. Amazon S3 コンソールを開きます。

  2. [バケット] リストで、バケット名を選択します。ログは S3 バケット <stack-name>-XXXXXX に集約されます。

AWS DevOps

UiPath ファイルを S3 バケットにアップロードします。

  1. UiPath Studio の .msi ファイルを https://download.uipath.com/UiPathStudioCommunity.msi の場所からダウンロードします。

  2. S3 バケットに ファイルをアップロードします。

  3. ec2-image-builder.yaml テンプレートのユーザーデータセクションの 310 行目にあるバケット名とファイルキーを更新します。

AWS DevOps
タスク説明必要なスキル

Count マクロをデプロイします。

  1. Count CloudFormation マクロ のクローンを作成するか、ダウンロードします。

  2. Count フォルダに移動します。

  3. CloudFormation アーティファクトを保存するには S3 バケットが必要です。S3 バケットがまだない場合は、aws s3 mb s3://<bucket name> の名前で作成します。

  4. Count マクロテンプレートをパッケージ化します。テンプレートはAWSサーバーレスアプリケーションモデル (SAM) を使用するため、デプロイする前に変換する必要があります。

    aws cloudformation package \ --template-file template.yaml \ --s3-bucket <your bucket name here> \ --output-template-file packaged.yaml

    例:

    aws cloudformation package \ --template-file template.yaml \ --s3-bucket count-macro-ec2 \ --output-template-file packaged.yaml
  5. パッケージ化されたテンプレートをデプロイして CloudFormation スタックを作成します。

    aws cloudformation deploy \ --stack-name Count-macro \ --template-file packaged.yaml \ --capabilities CAPABILITY_IAM

コンソールを使用する場合は、前のエピックまたはCloudFormation ドキュメントの手順に従ってください。 

DevOps エンジニア

Count マクロをテストします。

マクロの機能をテストするには、マクロに付属しているサンプルテンプレートを起動してみてください。 

aws cloudformation deploy \ --stack-name Count-test \ --template-file test.yaml \ --capabilities CAPABILITY_IAM
DevOps エンジニア
タスク説明必要なスキル

Amazon EC2プロビジョニングテンプレートをデプロイします。

を使用して EC2 Image Pipeline をデプロイするには CloudFormation:

  1. GitHub リポジトリ からec2-provisioning.yamlテンプレートをダウンロードするか、リポジトリのクローンを作成した場合はコンピュータでテンプレートを見つけます。

  2. CloudFormation コンソール を開きます。

  3. をデプロイするには、最初のエピックの手順を繰り返します (または、CloudFormation ドキュメント の指示に従います)ec2-provisioning.yaml

AWS DevOps

Amazon EC2の設定を表示します。

Amazon EC2の設定には、セキュリティ、ネットワーク、ストレージ、ステータスチェック、モニタリング、タグの設定が含まれます。これらの構成を表示するには:

  1. Amazon EC2コンソール を開きます。

  2. ナビゲーションペインで、インスタンス を選択し、Amazon EC2プロビジョニングテンプレートによって作成されたEC2インスタンスを選択します。

  3. インスタンスの概要で、対応する Amazon EC2設定を表示するタブを選択します。

AWS DevOps

CloudWatch ダッシュボードを表示します。

  1. CloudWatch コンソール を開きます。

  2. ナビゲーションペインで、ダッシュボードを選択します。

  3. スタック名のあるダッシュボードを選択します。

注: スタックをプロビジョニングした後、ダッシュボードにメトリクスを入力するには時間がかかります。

ダッシュボードには次のメトリクスが表示されます: CPUUtilizationDiskUtilizationMemoryUtilizationNetworkInNetworkOutStatusCheckFailed

AWS DevOps

メモリとディスクの使用状況に関するカスタムメトリックスを表示する。

  1. CloudWatch コンソール で、ダッシュボード を選択します。

  2. ナビゲーションペインで、[Metrics]、[All metrics] を選択します。

  3. カスタム名前空間 、 を選択しますCWAgent

AWS DevOps

メモリとディスクの使用状況に関するアラームを表示する。

  1. CloudWatch コンソール のナビゲーションペインで、ダッシュボード を選択します。

  2. [Add alarm] (アラームを追加) を選択します。

AWS DevOps

スナップショットのライフサイクルルールを確認します。

  1. Amazon EC2コンソール を開きます。

  2. ナビゲーションペインでLifecycle Managerを選択します。

  3. AMI ライフサイクルの設定を確認します。

AWS DevOps
タスク説明必要なスキル

スタックを削除します。

PoC またはパイロットプロジェクトが完了したら、作成したスタックを削除して、これらのリソースに対して課金されないようにすることをお勧めします。

  1. AWS CloudFormation コンソール を開きます。 

  2. ナビゲーションペインで [スタック] を選択し、前に作成したスタックのうち、削除するスタックのうちの1つまたは両方を選択します。スタックは現在実行中である必要があります。

  3. [スタックの詳細] ペインで、[削除] を選択します。

  4. プロンプトが表示されたら、[スタックの削除] を選択します。

重要: スタックの削除操作は、開始後に停止することはできません。スタックは DELETE_IN_PROGRESS 状態になります。

削除が失敗した場合、スタックは DELETE_FAILED 状態になります。解決策については、AWS CloudFormation トラブルシューティングドキュメントの「スタックの削除が失敗する」を参照してください。

スタックが誤って削除されないように保護する方法については、 AWS CloudFormation ドキュメントの「スタックが削除されないように保護する」を参照してください。

AWS DevOps

トラブルシューティング

問題ソリューション

Amazon EC2プロビジョニングテンプレートをデプロイすると、変換 123xxxx::Count から不正な形式のレスポンスを受信しました。

これは既知の問題です。(AWS CloudFormation マクロリポジトリ のカスタムソリューションと PR を参照してください)。

この問題を解決するには、AWSLambda コンソールを開き、GitHub リポジトリ のコンテンツindex.pyで を更新します。 

関連リソース

GitHub リポジトリ

AWS リファレンス

その他のリファレンス