- 概要
- 要件
- デプロイ テンプレート
- 手動: インストールを準備する
- 手動: インストールを準備する
- 手順 2: オフライン インストール用に OCI 準拠レジストリを設定する
- 手順 3: 外部 ObjectStore を構成する
- 手順 4: High Availability Add-on を構成する
- 手順 5: SQL データベースを構成する
- 手順 6: ロード バランサーを構成する
- 手順 7: DNS を構成する
- 手順 8: ディスクを構成する
- 手順 9: カーネルと OS レベルの設定を構成する
- 手順 10: ノード ポートを構成する
- 手順 11: その他の設定を適用する
- 手順 12: 必要な RPM パッケージを検証してインストールする
- 手順 13: cluster_config.json を生成する
- 証明書の設定
- データベースの構成
- 外部 ObjectStore の構成
- 署名済み URL の構成
- Kerberos 認証の構成
- 外部の OCI 準拠レジストリの設定
- Disaster Recovery - アクティブ/パッシブおよびアクティブ/アクティブの構成
- High Availability Add-on の構成
- Orchestrator 固有の設定
- Insights 固有の構成
- Process Mining 固有の構成
- Document Understanding 固有の構成
- Automation Suite ロボット固有の構成
- 監視の構成
- 任意: プロキシ サーバーを構成する
- 任意: マルチノードの HA 対応の運用クラスターにおけるゾーン障害に対する復元設定を有効化する
- 任意: カスタムの Resolv.con を渡す
- 任意: フォールト トレランスを向上させる
- install-uipath.sh パラメーター
- GPU がサポートされた専用のエージェント ノードを追加する
- Task Mining 専用のエージェント ノードを追加する
- Task Mining アプリケーションを接続する
- Automation Suite ロボット専用のエージェント ノードを追加する
- 手順 15: オフライン インストール用に一時的な Docker レジストリを設定する
- 手順 16: インストールの前提条件を検証する
- 手動: インストールを実行する
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- Ceph の読み取り専用モードから移行する
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- TX チェックサム オフロードを無効化する方法
- Automation Suite 2022.10.10 および 2022.4.11 から 2023.10.2 にアップグレードする方法
- ArgoCD のログ レベルを手動で Info に設定する方法
- AI Center のストレージを拡張する方法
- 外部レジストリーのエンコードされたpull_secret_valueを生成する方法
- TLS 1.2 で弱い暗号に対処する方法
- 証明書の操作方法
- アプリケーション ログを Splunk に転送する方法
- レジストリ ポッドから未使用の Docker イメージをクリーンアップする方法
- クラスター内の ObjectStore (Ceph) を使用して DU の使用状況データを収集する方法
- エアギャップ環境に RKE2 SELinux をインストールする方法
- NFS サーバー上の古い差分バックアップをクリーンアップする方法
- RHEL 8.4 OS でオフライン インストールを実行できない
- バンドルのダウンロード中のエラー
- バイナリがないため、オフライン インストールが失敗する
- selinux iscsid モジュールの前提条件の確認が失敗する
- Azure ディスクが SSD としてマークされない
- 証明書の更新後のエラー
- ウイルス対策が原因でインストールの問題が発生する
- OS のアップグレード後に Automation Suite が動作しない
- Automation Suite で backlog_wait_time を 0 に設定する必要がある
- ワークロードの準備ができていないためボリュームをマウントできない
- サポート バンドルのログ収集の失敗
- Test Automation SQL の接続文字列は無視されます
- DNS 設定が CoreDNS によって受け入れられない
- Automation Suite のアップグレード後に Insights を再インストールまたはアップグレードするとデータが失われる
- シングルノードのアップグレードがファブリック ステージで失敗する
- Ceph の異常によりアップグレードが失敗する
- ボリュームがマウントできず、アタッチ/デタッチ ループ状態のまま
- Orchestrator データベース内のクラシック オブジェクトが原因でアップグレードが失敗する
- Ceph クラスターがサイドバイサイド アップグレード後に機能低下ステートで検出される
- 異常な Insights コンポーネントが原因で移行が失敗する
- Apps のサービス アップグレードの失敗
- インプレース アップグレードのタイムアウト
- Docker レジストリの移行が PVC の削除段階でスタックする
- v2023.10 以降へのアップグレード後に AI Center のプロビジョニングが失敗する
- オフライン環境でアップグレードが失敗する
- アップグレード中に SQL の検証が失敗する
- アップグレード後に snapshot-controller-crds ポッドが CrashLoopBackOff ステートになる
- Longhorn REST API エンドポイントのアップグレード/再インストール エラー
- Insights の PVC サイズが上書きされたためにアップグレードが失敗する
- サービス スクリプトの実行中にサービスのアップグレードが失敗する
- 管理ポータルのタイムアウト期間を設定する
- 移行後に認証が機能しない
- Kinit: Cannot find KDC for realm <AD Domain> while getting initial credentials
- kinit: Keytab contains no suitable keys for *** while getting initial credentials
- 無効なステータス コードが原因で GSSAPI 操作が失敗した
- Alarm received for failed kerberos-tgt-update job
- SSPI Provider: Server not found in Kerberos database
- アカウントが無効なため AD ユーザーのログインに失敗した
- ArgoCD へのログインに失敗した
- サンドボックス イメージを取得できない
- ポッドが ArgoCD UI に表示されない
- Redis プローブの障害
- RKE2 サーバーの起動に失敗する
- 初回インストール後に ArgoCD が進行中ステートになる
- 手動による ArgoCD ネットワーク ポリシーの軽減策 (GHSA-47m3-95c7-g2g8)
- クラスターの復元またはロールバック後にサービスが異常になる
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- プロキシ環境でポッドが FQDN と通信できない
- アップグレード後にメール アラートを設定できない
- アップストリームに正常な問題はありません
- オフライン環境でエージェント ノードを追加できない
- FQDN にアクセスすると RBAC: アクセス拒否エラーが返されます
- Process Mining で高可用性を実行する
- Kerberos を使用してログインすると、Process Mining を取り込むことができなかった
- 障害復旧後、Dapr が Process Mining に対して正しく機能しない
- クラスター モードで Redis を使用した Dapr を構成する
- pyodbc 形式の接続文字列を使用して AutomationSuite_ProcessMining_Warehouse データベースに接続できない
- Airflow のインストールが「sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string ''」で失敗する
- SQL Server ポート 1433 を使用する IP テーブル ルールを追加する方法
- CData Sync を実行しているサーバーの Automation Suite の証明書が信頼されない
- 診断ツールを実行する
- Automation Suite サポート バンドルを使用する
- ログを確認する
手順 1: Azure のデプロイを計画する
Automation Suite を Azure にデプロイする前に必要な前提条件と準備手順 (サブスクリプションと RBAC ロールの要件を含む)。
データが失われるのを防ぐため、使用するインフラストラクチャがクラスターの再起動時またはシャットダウン時にクラスター ディスクを自動的に削除しないようにしてください。この機能が有効化されている場合は、必ず無効化してください。
Azure サブスクリプションと権限
デプロイでは、Azure サブスクリプションと RBAC ロール所有者を含むリソース グループへのアクセス権が必要です。ユーザー割り当てマネージド ID を作成し、共同作成者ロールをリソース グループ スコープで割り当てるには、所有者ロールが必要です。仮想マシンの管理 (スケールイン操作とスケールアウト操作の実行、インスタンス保護の適用、OS の更新) には、マネージド ID が必要です。
ロールの割り当ては、以下の手順で確認できます。
[リソース グループ] → [アクセス制御 (IAM)] → [アクセスの確認] → [マイ アクセスの表示]
クォータ
デプロイでは、複数の Standard_D (汎用)、Standard_F、および/または Standard_NC (GPU あり) の仮想マシンをプロビジョニングします。Azure サブスクリプションには、VM ファミリ向けにプロビジョニングできるコアの数に対するクォータがあります。
デプロイされた仮想マシンの一部は、Premium SSD でプロビジョニングされる必要があり、構成によっては Ultra SSD でプロビジョニングされる必要があります。これらの SSD が利用可能であり、ポリシーによってブロックされていないことを確認してください。
UiPath では、SQL エラスティック プールを使用してデータベースをデプロイしています。SQL エラスティック プールがポリシーによってブロックされていないことを確認してください。
サブスクリプションのクォータを確認するには、Azure Portal で [Usage + quotas] に移動します。
Automation Suite のデプロイに十分なクォータがあることを確認してください。十分な値がないと、デプロイは失敗します。[ 増加の要求] を選択して、増加を要求します。
インスタンス保護
インストール プロセスの一環として、スケール セット操作からのインスタンス保護が、サーバー スケール セットのすべてのノードに追加されます。これらの操作は Azure からサーバー コンテキストなしで実行されるため、クラスターの誤動作が防止されます。UiPath では、クラスター管理操作用の Runbook を提供しています。スケール セットのインスタンス保護の詳細については、 Azure のドキュメントをご覧ください。
インスタンスの終了
サーバー仮想マシン インスタンスを終了すると、ほぼ確実にデータが失われ、クラスターがクラッシュします。サーバー仮想マシン インスタンスの終了を試みないでください。
UiPath では、エージェント仮想マシン インスタンスの終了をサポートしています。つまり、エージェント仮想マシン インスタンスが終了すると、そのノードを Automation Suite クラスターから遮断、ドレイン、削除します。
UiPath では、Instance Metadata Service をプールしているエージェント仮想マシン インスタンスそれぞれでスクリプトを実行して、終了イベントを生成します。イベントを受信するたびに、それぞれのノードで遮断コマンドとドレイン コマンドをトリガーし、サーバーはその特定のノードに対してノードの削除コマンドも実行します。
このプロセスでは、拡張ログが利用可能です。各ノード終了操作のログは、デプロイのメイン ストレージ アカウントの logs コンテナー内にあります。各ログ ファイルにはノードの名前が含まれていて、サフィックス -termination.log 付いています。
仮想マシン ファミリのリージョンの可用性
デプロイするリージョンで VM SKU が使用可能であることを確認します。
使用可能かどうかについては、「[リージョン別の Azure 製品](https://azure.microsoft.com/ja-jp/explore/global-infrastructure/products-by-region/?products=virtual-machines)」で確認できます。
クラスター証明書の設定
Azure テンプレートを使用すると、指定したカスタム ドメインに対してデプロイ中に証明書を提供できるため、デプロイ後に手動で証明書を提供する必要がありません。ただし、証明書を提供する前に、.crt 証明書が Base64 でエンコードされていることを確認する必要があります。
次のスクリプトは、Base64 でエンコードされた文字列を単一の .pfx 証明書 (サーバー証明書) から生成します。これらの文字列は、テンプレート パラメーターを入力する際に使用できます。この bash スクリプトは、Windows マシン上で Windows Subsystem for Linux を使用して実行できます。このスクリプトは、openssl を使用して証明書を変換します。サーバー証明書 (.pfx) は、いくつかの要件を満たす必要があることに注意してください。
次のコマンドは、.pfx 証明書のパスワードが必要なものがあるため、1 つずつ実行します。
pfxFile=<path of the pfx file>
# Key
openssl pkcs12 -in $pfxFile -nocerts -out serverCertKeyEncrypted.key
openssl rsa -in serverCertKeyEncrypted.key -out serverCertKeyDecrypted.key
# Server cert
openssl pkcs12 -in $pfxFile -clcerts -nokeys -out serverCert.crt
# CA Bundle:
openssl pkcs12 -in $pfxFile -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > caBundle.crt
# Converting to base64 and removing newlines
cat serverCertKeyDecrypted.key | base64 | tr -d '\n' > base64CertKey
cat serverCert.crt | base64 | tr -d '\n' > base64Cert
cat caBundle.crt | base64 | tr -d '\n' > base64CABundle
pfxFile=<path of the pfx file>
# Key
openssl pkcs12 -in $pfxFile -nocerts -out serverCertKeyEncrypted.key
openssl rsa -in serverCertKeyEncrypted.key -out serverCertKeyDecrypted.key
# Server cert
openssl pkcs12 -in $pfxFile -clcerts -nokeys -out serverCert.crt
# CA Bundle:
openssl pkcs12 -in $pfxFile -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > caBundle.crt
# Converting to base64 and removing newlines
cat serverCertKeyDecrypted.key | base64 | tr -d '\n' > base64CertKey
cat serverCert.crt | base64 | tr -d '\n' > base64Cert
cat caBundle.crt | base64 | tr -d '\n' > base64CABundle
外部 Orchestrator の証明書
AI Center を外部 Orchestrator に接続するには、 Connect AiCenter to an external Orchestrator を [ true ] に設定し、「 Automation Suite を Azure にデプロイする」に記載されているパラメーターに Orchestrator と Identity の証明書を指定する必要があります。証明書を取得する方法の詳細については、「 チェーン証明書」をご覧ください。
証明書を Base64 形式でエンコードするには、次のコマンドを実行します。
cat orchestrator.cer | base64 | tr -d '\n' > orchestratorCert
cat identity.cer | base64 | tr -d '\n' > identityCert
cat orchestrator.cer | base64 | tr -d '\n' > orchestratorCert
cat identity.cer | base64 | tr -d '\n' > identityCert
AI Center を外部 Orchestrator に登録するには、RegisterAiCenterExternalOrchestrator Runbook を実行する必要があります。
マルチノードの HA 対応の運用クラスターにおけるゾーン障害に対する復元設定
既定では、テンプレートによって可能な限り多くの Azure 可用性ゾーンにわたって仮想マシンがデプロイされ、マルチノードの HA 対応の運用クラスターでのゾーン障害から回復できるようにしています。
すべての Azure リージョンが可用性ゾーンをサポートしているわけではありません。詳しくは、「 Azure 地域 」をご覧ください。VM SKU には、CLI cmdlet を使用して確認できる追加のアベイラビリティー ゾーンの制限があります。詳しくは、「 Get-AzComputeResourceSku 」をご覧ください。
サーバーが 3 つの Azure 可用性ゾーンにわたっている場合、クラスターはゾーン障害に対する回復力があると見なされます。Azure リージョンが、サーバー用に選択されている仮想マシンのタイプに対して可用性ゾーンをサポートしていない場合、デプロイは、ゾーンの回復機能なしで続行されます。
DNS
テンプレートは、Azure Load Balancer を、それにアクセスするためのパブリック IP と DNS ラベルでプロビジョニングします。
DNS ラベルは Microsoft が所有し、<dnsName>.<regionName>.cloudapp.azure.com のような形式を持ちます。
また、クラスターの仮想マシンが複数のサブドメインを解決できるように、プライベート DNS ゾーンもデプロイします。これはインストール プロセスで必要です。プライベート DNS ゾーンのレコードを仮想ネットワークから解決するには、DNS サーバーを Azure-provided または 168.63.129.16 に設定するようにします。
インターネット経由でクラスターにアクセスする場合は、「手順 3: デプロイ後の手順」をご覧ください。
既存の仮想ネットワークにデプロイする
テンプレートを使用すると、既存の仮想ネットワークにノードをデプロイできます。ただし、仮想ネットワークには、以下の条件を満たすサブネットが必要です。
- すべてのノードと内部ロード バランサーを収容するのに十分な空きアドレス空間がある
- できれば Microsoft の推奨事項に従って NAT ゲートウェイ を経由するように構成された送信接続
- ポート
443で HTTPS トラフィックを許可します。 - 任意:
Microsoft.Storage用に構成されたサービス エンドポイントがあるこれは、デプロイ時にバックアップを有効化した場合に必要です。
既存の仮想ネットワークにデプロイする場合、共同作成者ロールの割り当てをそのスコープで作成するには、仮想ネットワークに対する所有者 RBAC ロールが必要です。これは、スケール アウト時のインスタンスの更新操作に必要です。
バックアップ
このテンプレートでは、デプロイ時にバックアップを有効化できます。つまり、可変のストレージ容量 (サーバー ノードの数によって異なる - # of server nodes x 512 GB) を持つ Microsoft ストレージ アカウントを作成して NFS 共有として使用し、クラスターのバックアップを構成します。
既定では、バックアップ間隔は 90 分に設定され、保持期間は 72 時間です。バックアップ間隔と保持期間はデプロイ後に変更できます。詳しくは、「 BackupCluster」をご覧ください。