- 概要
- 要件
- インストール
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- 移行後にログインできない
- 管理ポータルのタイムアウト期間を設定する
- 基になるディレクトリ接続を更新する
- Kinit: Cannot Find KDC for Realm <AD Domain> While Getting Initial Credentials
- kinit: Keytab contains no suitable keys for *** while getting initial credentials
- GSSAPI operation failed with error: An invalid status code was supplied (Client's credentials have been revoked).
- Login Failed for User <ADDOMAIN><aduser>. Reason: The Account Is Disabled.
- Alarm received for failed kerberos-tgt-update job
- SSPI Provider: Server not found in Kerberos database
- Automation Suite 診断ツールを使用する
- Using the Automation Suite support bundle
- ログを確認する
移行前の手順
スタンドアロン プラットフォーム インストールを Automation Suite に確実に移行するために、以下のセクションに記載する手順を必ず実行してください。移行前の手順は必須です。
以下の Identity Server 構成データを保存してください。
.pfx
証明書を使用して OAuth トークンに署名します。スタンドアロン デプロイで独自のトークンを使用している場合は、.pfx
に変換し、Automation Suite クラスターの対応するシークレット内で更新する必要があります。
kubectl edit secret identity-token-signing-certificate -n uipath
kubectl edit secret identity-saml-certificates -n uipath
以下の Identity Server アプリケーション設定を保存します。
- スタンドアロン デプロイの
/identity
フォルダーにあるappsetting.production.json
のDatabaseProtectionSettings
DatabaseProtectionSettings.EncryptionKey2021
設定は、保存中の機密データを暗号化するために使用されます。移行後のフェーズの Automation Suite のデプロイにおいて、この値を複製する必要があります。kubectl edit secret identity-generated-secrets -n uipath
スタンドアロン デプロイからの各テナントに対して、Automation Suite 環境で組織とテナントのペアを作成します。
例: スタンドアロンの Orchestrator において Tenant1 という名前のテナントがある場合、Automation Suite では、Tenant1 という名前の組織を作成し、その組織内に同じ Tenant1 という名前を付けたテナントを作成する必要があります。テナントを作成したら、そのテナントに対して Orchestrator サービスが有効化されていることを確認します。
今後の使用のために、以下の情報を保存してください。
- スタンドアロン デプロイでの Orchestrator データベースへの接続文字列
- Automation Suite デプロイでの AutomationSuite_Platform データベースへの接続文字列
- スタンドアロン デプロイからのテナント名。Orchestrator UI か、Orchestrator のテナント テーブルにある
TenancyName
列を使用して検索できます。 - Insights の接続文字列
Orchestrator をスタンドアロンから Automation Suite に移行するには、スタンドアロンのインストールから設定と各種ファイルを収集し、Automation Suite のインストールに適用する必要があります。
インストール時には一部の設定しか構成できませんが、インストール後の構成ではすべての設定が利用可能になるはずです。
- インストール時に設定を構成するには、その設定を
cluster_config.json
ファイルに追加します。 - インストール完了後の設定の更新は、設定範囲に加え、ある機能が app-of-apps パラメーターからの構成で利用可能かどうかによって異なります。
uipath
または orchestrator/plugins/nlog
の下にある orchestrator/plugins/securestore
バケットに保存されます。
以下によって、カスタム構成を追加できます。
- ArgoCD でアプリケーション パラメーターを編集する (パラメーターの上書き)
- 名前空間
uipath
から Kubernetes ConfigMaporchestrator-customconfig
内のファイルを編集する
web.config
の設定には同等の設定がありません。あるいは、他のメカニズムを使用して Automation Suite に実装されます。
以下のオプションを構成する必要があります。
security.requestFiltering.requestLimits.maxAllowedContentLength
security.requestFiltering.requestLimits.maxAllowedContentLength
後で使用できるよう、この設定の値を書き留めておきます。Automation Suite で構成する必要があるかどうかを判断します。既定値は 300MiB です。
UiPath.Orchestrator.dll.config
構成ファイルの appSettings
または secureAppSettings
セクションで行ったカスタム変更を移行する必要があります。カスタムの appSettings
と secureAppSettings
を orchestrator-customconfig
構成マップに追加できます。
UiPath.Orchestrator.dll.config
構成ファイルの appSettings
セクションで、変更または追加した設定を特定します。これらの設定を .json
ファイルに保存し、後の手順で利用できるようにします。
保護されたアプリ構成セクションを Orchestrator CLI の保護された構成オプションで復号できます。必要なのは、変更または追加し、引き続き Automation Suite で関連している設定を使用することだけです。
appSettings.custom.json
ファイルを作成できます。
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
ストレージの移行に何が必要か、および現在のストレージ構成をそのままにするのか、あるいは Automation Suite でストレージを管理するのかを決定します。Automation Suite には、すべての Orchestrator ポッドで利用可能な BLOB を Ceph に保存するオプションがあります。移行の場合は、既存のファイルを現在の BLOB ストレージにコピーする必要があります。
s3cmd
などの S3 ユーティリティを使用して、データを Orchestrator にコピーできます。Ceph を使用する場合は、これが既定のオプションであるため、他の構成は必要ありません。
Storage.Location
キーから取得します。Automation Suite は Linux マシンで実行されるため、ネットワーク共有へのアクセスに統合認証を利用することはできません。したがって、ネットワーク共有にアクセス可能なアカウントの資格情報が必要です。
Storage.Location
および Storage.Type
の設定を appSettings.custom.json
に追加してください。
NLog に対して以下のカスタマイズを実行できます。
- 既存のターゲットの変更
- 新しいターゲットの追加
- NLog 拡張機能の追加
構成ファイルの NLog セクションを確認し、NLog のカスタム構成を構築します。Elasticsearch でロボット ログのストレージを有効化するために、Automation Suite のパラメーターとしてユーザー名、パスワード、および URI を指定できます。ターゲットは自動的に構成されます。ロボット ログのカスタム シナリオを有効化するには、ターゲットを手動で構成する必要があります。
NLog 拡張機能が必要な場合は、すべての拡張機能とその依存関係を含むフォルダーを作成します。
nlogextensions
のような名前のフォルダーが考えられます。既定では、以下の拡張機能が Orchestrator によって読み込まれるため、フォルダーまたは NLog の構成にこれらの拡張機能を含める必要はありません。
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
nlog.custom.config
ファイルを作成します。
assemblyFile
を使用して拡張機能アセンブリを指定する項目の配列と、nlogextensions
フォルダーを基準とするこのアセンブリのパスです。
/opt/app-root/app/nlog.config.json
の場所で定義されます。
nlog.custom.config
ファイルの例を以下に示します。
{ "NLog": {
"extensions": [
{ "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
],
"targets": {
"azureBlob": {
"type": "AzureBlobStorage",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
"container": "orchestratorlogs",
"blobName": "${date:format=yyyy-MM-dd hh.mm}",
"layout": {
"type": "JsonLayout",
"includeAllProperties": true,
"Attributes": [
{"name": "ts","layout": "${longdate}"},
{"name": "level","layout": "${level:upperCase=true}"},
{"name": "logger","layout": "${logger}"},
{"name": "message","layout": "${message}"},
{"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
]
}
}
},
"rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
}
}
{ "NLog": {
"extensions": [
{ "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
],
"targets": {
"azureBlob": {
"type": "AzureBlobStorage",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
"container": "orchestratorlogs",
"blobName": "${date:format=yyyy-MM-dd hh.mm}",
"layout": {
"type": "JsonLayout",
"includeAllProperties": true,
"Attributes": [
{"name": "ts","layout": "${longdate}"},
{"name": "level","layout": "${level:upperCase=true}"},
{"name": "logger","layout": "${logger}"},
{"name": "message","layout": "${message}"},
{"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
]
}
}
},
"rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
}
}
70_final
を 20_robot_primary
に置き換えます。
nlogextensions
は、既知のプラグインの場所にあるオブジェクト ストアにコピーされます。NLog 構成の更新中でも、Orchestrator 構成ツールによる自動実行が可能です。まだプレフィックスが付いていない場合は、スクリプトによって nlog.custom.config
が自動的に変更され、各 assemblyFile に /var/orchestrator/plugins/nlog/
の拡張機能配列からプレフィックスが付けられます。
資格情報ストアのカスタム プラグインを Automation Suite に移行できます。そのためには、構成マップ内の構成を更新し、対応するオブジェクト ストア バケットにプラグイン アセンブリをコピーします。
- プラグインは Linux で動作する必要があります。
- プラグインは、
/tmp
以外のストレージに書き込むことはできません。
以下の資格情報ストア プラグインが、Automation Suite の Orchestrator に自動的にデプロイされます。
UiPath.Orchestrator.AzureKeyVault.SecureStore.dll
-
UiPath.Orchestrator.SecureStore.CyberArkCCP.dll
securestoreplugins
などのフォルダーにプラグインをコピーします。
appSettings.custom.json
ファイルに資格情報ストアの設定を追加します。
-
既定のプラグインを無効化するため、
appSettings.custom.json
に構成Plugins.SecureStores.Default
を空の文字列値で追加します。 -
appSettings.custom.json
で、すべてのカスタム プラグインをPlugins.SecureStores
設定に追加し、;
で区切ります。 -
次のように、カスタム プラグインの設定を追加します。
Plugins.SecureStores.<<FriendlyName>>.<<SettingName>>
securestoreplugins
プラグイン フォルダーは、既知のプラグインの場所にあるオブジェクト ストア内にコピーされます。
Plugins.SecureStores
内のアセンブリが読み込まれます。
Plugins.SecureStore.Default
内のアセンブリが読み込まれます。
既定では、インストール時に、Orchestrator がデータベース内の機密情報に使用される暗号化キーを生成します。新しい Orchestrator デプロイでデータベースを再利用する場合は、この暗号化キーを移行する必要があります。
secureAppSettings
セクションから EncryptionKey
の値を取得し、これを後で使用するために安全に保存します。
暗号化キー証明書は、Windows 証明書ストアにインストールされます。証明書は、Orchestrator ポッドで使用できるようにするために、Automation Suite 環境に提供する必要があります。
CertificatesStoreLocation
と Azure.KeyVault.CertificateThumbprint
の設定は Automation Suite ではもう必要ありませんが、必要に応じて CertificatePassword
を使用することはできます。
次の手順を実行します。
- appSettings を確認し、
AzureKeyVault.*
の設定を取得します。 - 後で使用するために、
Azure.KeyVault.VaultAddress
、Azure.KeyVault.ClientId
、Azure.KeyVault.DirectoryId
を保存します。 - 証明書、および必要に応じて証明書のパスワードを取得します。