Workflow Manager 構成ファイルのカスタマイズ

Workflow Manager のライセンスで利用可能。

管理者であれば、ArcGIS Workflow Manager Server と Web アプリのカスタム設定を構成するためのプロパティを workflowManager.conf ファイルに追加して管理できます。Workflow Manager のインストール後、構成ファイルは ~/.esri/WorkflowManager/<hostname>/workflowManager.conf に配置されます。

注意:

ArcGIS Enterprise システムに、Workflow Manager Server を使用する複数の ArcGIS Server コンピューターが含まれる場合、ArcGIS Server の各インスタンスで構成ファイルの変更を繰り返します。

管理パラメーター

次のパラメーターを変更してカスタム属性を定義できます。

注意:

Workflow Manager をアップグレードする場合は、一部のパラメーターが存在しないことがあるため、構成ファイルに手動で追加する必要があります。

パラメーター説明形式の例

LogRetentionPeriod

クリーンナップ タスクによって Web アプリ内のログメッセージが削除される頻度を制御します。 このプロパティはデフォルトで 7 日に設定されます。

このプロパティでは、Workflow Manager Server ログが削除される頻度は変更されません。

LogRetentionPeriod = 7 days

allowUnsecureWebhooks

受信用の Webhook にヘッダーのセキュリティが必要かどうかを制御します。 11.2 以降、このプロパティはデフォルトで false に設定されます。

注意:

このプロパティを true に設定すると、Webhook URL によって誰でも Web アプリにジョブを作成できます。

allowUnsecureWebhooks = false

webRequestAllowLocal

Web リクエストの送信ステップで localhost へのリクエストを許可するかどうかを制御します。

webRequestAllowlocal = false

webRequestAllowedProtocols

Web リクエストの送信ステップの実行中に許可されるプロトコルを制御します。

webRequestAllowedProtocols = ["https"]

webRequestBlockedHosts

Web リクエストの送信ステップの実行中にブロックされ、Web リクエストを受信できないホストを制御します。

webRequestBlockedHosts = ["169.254.169.254/32", "127.0.0.1/32", "1/128"]

webRequestBlockedPorts

Web リクエストの送信ステップの実行中にブロックされるポートを制御します。

webRequestBlockedPorts = ["80", "81"]

webRequestEnforceValidDomain

デフォルトで false 中にブロックされるリクエスト ヘッダーを制御します。

webRequestEnforceValidDomain = false

webRequestRestrictedHeaders

Web リクエストの送信ステップの実行中にブロックされるリクエスト ヘッダーを制御します。

webRequestRestrictedHeaders = ["Content-Length", "Content-Location", "Forwarded", "From", "Host", "Referer", "Referer-Policy", "User-Agent", "Via", "X-Forwarded-For", "X-Forwarded-Host", "X-Forwarded-Proto", "Strict-Transport-Security", "X-Frame-Options", "X-XSS-Protection", "X-Content-Type-Options", "Access-Control-Allow-Origin", "Content-Security-Policy", "Origin"]

Arcade 式と一致するジオプロセシング ツール名

ジオプロセシング ツールの名前が ArcGIS Arcade 式の名前と一致する場合 (「バッファー」や「クリップ」など)、allowedList のコメントを解除し、Arcade 式として評価されないツール名を追加します。 あるいは、ArcGIS Pro ジオプロセシング ツールの実行ステップの構成で、ツール名を単一引用符 (') または二重引用符 (") のいずれかで囲むことができます。

可用性の高いデプロイメントの構成

可用性の高い Workflow Manager デプロイメントのためには、各コンピューターを高可用性が実現する構成にする必要があります。

注意:

ArcGIS Server がインストールされている Workflow Manager Server コンピューターを ArcGIS Enterprise ポータルとフェデレートする場合、管理 URL を、サイト内のすべてのサーバーとの通信に使用できる URL に設定します。

  1. ~/.esri/WorkflowManager/<hostname>/workflowManager.conf ファイルをテキスト エディターで開きます。
  2. 次の行をコメント解除します。
    play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
    play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

    これらの行が workflowManager.conf ファイルに存在しない場合は、ファイルの一番下に追加します。

  3. 必要に応じて、次の行をコメント解除し、Workflow Manager Server の同時接続を割り当てます。
    concurrency.activeConnectionLimit = 85
    concurrency.queuedConnectionLimit = 6000

    デフォルトのアクティブな同時接続は、単一コンピューターのデプロイメントで 85 に制限されています。 可用性の高いデプロイメントは、各 Workflow Manager Server コンピューター間で均等に割り当てる必要があります。

  4. ファイルを保存します。
  5. ArcGIS Workflow Manager Server サービスを再起動します。
  6. Workflow Manager Server コンピューターごとに、この手順を繰り返します。

    これで、可用性の高い Workflow Manager Server が構成されました。

構成ファイルの例

以下に、システムで使用または参照できる Workflow Manager 構成ファイルの例を示します。

#########################################################
# Workflow Manager configuration settings
# Set any user-defined configuration options in this file
#########################################################

include "application.conf"

wmx {
  arcadeExpressionTimeout = 10 seconds

  featureBatchSize = 100

  webRequestTimeout = 1 minute

  webhookTokenExpiration = 30 minutes

  webhookMaxAttachmentSize = 10m

  logRetentionPeriod = 7 days

  jobAutoExecutionLimit = 25

  // Note: Using unsecured webhooks will allow anyone that can access the webhook URL to create jobs
  allowUnsecureWebhooks = false

//  webRequestAllowLocal = true
//  webRequestAllowedProtocols = ["http", "https"]
//  webRequestBlockedHosts = ["169.254.169.254/32"]
//  webRequestBlockedPorts = []
//  webRequestEnforceValidDomain = false
//  webRequestRestrictedHeaders = ["Content-Length", "Content-Location", "Forwarded", "From", "Host", "Referer", "Referer-Policy", "User-Agent", "Via", "X-Forwarded-For", "X-Forwarded-Host", "X-Forwarded-Proto", "Strict-Transport-Security", "X-Frame-Options", "X-XSS-Protection", "X-Content-Type-Options", "Access-Control-Allow-Origin", "Content-Security-Policy", "Origin"]
}

// Uncomment to modify the allowedList of GP Tool names that are also Arcade functions
// wmx.steps.proGP {
//   allowedList = []
// }

// The following settings can be used to modify security settings

// Uncomment this to modify the allowed cipher suites. Can use same options as ArcGIS Server
//pekko.ssl-config.enabledCipherSuites = [
//  "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
//  "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
//  ]

// Uncomment this to modify the allowed TLS protocols
//pekko.ssl-config.enabledProtocols = [
//  "TLSv1.2",
//  // "TLSv1.1", // Deprecated - only use if absolutely required
//  // "TLSv1" // Deprecated - only use if absolutely required
//]

// Uncomment this to enable CORS
//play.filters.enabled += "play.filters.cors.CORSFilter"
//play.filters.cors {
//  pathPrefixes = ["/workflow"]
//  allowedOrigins = ["https://www.example.com", ...]
//  allowedHttpMethods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"]
//  allowedHttpHeaders = ["Accept", "Accept-Language", "Content-Language", "Content-Type"]
//  preflightMaxAge = 1 day
//}

// Uncomment the following lines to configure site to support multi-machine deployments
// play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
// play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

// This can be used to change the maximum file size for attachments.
// If file sizes larger than 500MB are required, the hosted feature layer for the workflow item will also
// need to be updated in addition to this parameter. See the Workflow Manager documentation for more information.
// play.http.parser.maxDiskBuffer = 500m

// This can be used to change the max allowable POST body size
//play.http.parser.maxMemoryBuffer = 2m

// Note this line is added to modify the default value from 85 to 75 for active concurrent connection against the hosted feature server from Workflow Manager server.
concurrency.activeConnectionLimit = 75

// Note this line is added to modify the default value from 8000 to 6000 for queued concurrent connection against the hosted feature server from Workflow Manager server.
//concurrency.queuedConnectionLimit = 6000

関連トピック