Skip to main content

Controller (コントローラー )

コントローラーはサービス設定を管理し、作業をワーカーに委任します。コントローラーとして有効化できるのは、デプロイ内でマシン 1 台だけです。

System Settings (システム設定) の Controller (コントローラー) 画面で、コントローラーコンポーネントを設定します。Environment (環境) > Setup Type (セットアップタイプ) 画面で次のいずれかのオプションを選択した場合、System Settings (システム設定) で Controller (コントローラー) 画面が使用できます。

  • Designer and Scheduler Only (Designer およびスケジューラーのみ)

  • Complete Alteryx Server (Alteryx Server 全体)

  • Custom (カスタム) > Enable Controller (コントローラーの有効化)

コントローラの設定

Controller Configuration (コントローラー設定) 画面には、一時ファイルとログファイルの保存場所、ログにどの情報を記録するかなどの設定オプションがあります。

The Controller General Configuration screen includes the following settings: Controller Token, Workspace, Logging, Scheduler, Insights

Token (トークン)

コントローラーのToken (トークン) は、コントローラーが Designer を使用するワーカーやマシンと通信するために使用する、自動生成されたシークレットキーです。

Designer を使用するマシンがコントローラーマシンではない場合に、このマシンでワークフローを将来の日付にスケジュール設定するには、 ワークフローのスケジュール設定 画面でコントローラートークンを追加してワークフローのスケジュールを設定する必要があります。

また、あるマシンをコントローラーとして動作させ、別のマシンをワーカーとして動作させる場合にも、コントローラートークンが必要になります。コントローラーマシンをセットアップして、コントローラートークンを取得します。次に、ワーカーマシンをセットアップする際に、System Settings (システム設定) > Controller (コントローラー) > Remote (リモート) でコンローラートークンを追加します。

トークンのセキュリティ強度が落ちた場合など、必要に応じてトークンを再生成できます。トークンを再生成する場合は、デプロイ内の Server UI ノードとワーカーノードを更新する必要があります。トークンを再生成する場合は Regenerate (再生成) を選択します。

Communication (通信)

Enable Controller SSL/TLS(コントローラーの SSL/TLS を有効化): [Enable Controller SSL/TLS] (コントローラーの SSL/TLS を有効化) チェックボックスをオンにすると、コントローラーで SSL/TLS が有効になります。

  • この設定は、FIPS 環境では既定で有効で、FIPS 以外の環境では無効に設定されています。

  • この設定を選択する前に、有効な署名付き証明書と秘密鍵がインストールされていることを確認してください。証明書のインストールと設定の詳細については、「 SSL/TLS の設定」を参照してください。

  • [Environment Configuration] (環境設定) ページで、環境に対して [Globally Enable SSL/TLS] (SSL/TLS をグローバルに有効化) 設定がすでに有効になっている場合、この設定は自動的に有効になり、ここではロックされることに注意してください。

Port(ポート): チェックを入れない場合、ポートは既定で 80 に設定されます。チェックを入れると、ポートは既定で 443 に設定されます。ただし、ポートは手動で変更できます。

ワークスペース

コントローラーの Workspace (ワークスペース) は、コントローラーが一時ファイルまたはキャッシュファイルを保存する場所です。既定では、このフォルダーは System Settings (システム設定) の Environment (環境) 画面で定義されているグローバルワークスペースのフォルダー内にあります。大量のファイルを確実に保存できる場所を使用するようにしてください。

Logging (ロギング)

コントローラーは、サービスの開始とシャットダウン、実行要求などのイベントログを生成します。これらのログはトラブルシューティングに役立ちます。詳細については、「 Server ログの設定と使用 」を参照してください。

  • Level(レベル): ロギングのレベルを設定できます。ロギングがほとんど必要ない運用環境では、レベルが [None] (なし) または [Low] (低) で十分な場合があります。レベルが [High] (高) をにすると、より多くのメッセージがログに記録され、トラブルシューティングに役立ちます。

  • File size (MB)(ファイルサイズ MB 単位): このオプションを使用して、ログがローテーションされるまでのログファイルの最大サイズを指定できます。ローテーションされるとログには新しいアクティブなログファイルが書き込まれ、以前のログはアーカイブファイルに保存されます。これにより、標準のログリーダーでは取り扱いにくい大きなログファイルの作成を防ぐことができます。

  • [Enable log file rotation](ログファイルのローテーションを有効にする):これを選択すると、最大サイズを超えるログファイルはアーカイブファイルに入れられます。新しいイベントは新しいファイルに書き込まれます。これにより、サイズが大きくて標準のログリーダーでは扱いにくいようなログファイルは作成されなくなります。

スケジューラー (Scheduler)

Enable Scheduler auto-connect (スケジューラーの自動接続を有効にする) を選択して、マシン上のユーザーがスケジューラーに自動接続できるようにします。スケジューラーに接続するのが難しい場合は、これを有効にしてください。

重要

Server-FIPS では、[Enable Scheduler auto-connect] (スケジューラーの自動接続を有効にする) 設定は無効になっており、有効にすることはできません。

Engine (エンジン)

Enable AMP Engine (AMP Engine を有効にする) にチェックを付けると、この環境で Alteryx Multithreaded Processing (AMP) Engine を使用するワークフローを実行できるようになります。これは、Server 環境のオン/オフ設定です。コントローラーの AMP Engine を有効にする場合は System Settings (システム設定) > Engine 画面で、AMP Engine を実行するワーカーを少なくとも 1 つ設定することも必要になります。詳細については、EngineAMP Engine のベストプラクティス のヘルプページを参照してください。

AMP Engine 設定について

System Settings (システム設定) > Controller (コントローラー) 画面の Enable AMP Engine (AMP Engine の有効化) 設定は、Server 環境のオン/オフ設定です。この設定では、環境レベルで AMP が有効になります。System Settings (システム設定) > Engine の設定により、どの Engine を使用できるか、つまりどのワークフローを実行できるかをワーカーに認識させます。詳細については、EngineAMP Engine のベストプラクティス のヘルプページを参照してください。

たとえば、ノードが 3 つの環境を考えてみましょう。ノード 1 はコントローラーと Server UI 用に設定され、AMP が有効になっています。ノード 2 は Engine を Original Engine Only(オリジナルの Engine のみ) に設定したワーカーの専用ノードです。ノード 3 は Engine を Both Engines(両方の Engine) に設定したワーカーの専用ノードです。このシナリオでは、Server で AMP ワークフローを実行できるようになっており、これらのワークフローはノード 3 でのみ実行されます。オリジナルの Engine ワークフローは、ノード 2 またはノード 3 のいずれかで実行されます。ノード 3 がオフラインの場合、オリジナルの Engine ワークフローはノード 2 で実行されますが、ノード 3 がオンラインに戻るまで AMP ワークフローはキューに入れられます。

AMP Engine を本番環境に導入する前に、開発環境で AMP Engine をテストすることをお勧めします。メモリ要件を含む AMP Engine の詳細については、「 AMP Engine ドキュメンテーション」と「AMP Engine のベストプラクティス」を参照してください。

永続性 (Persistence)

ワークフローの実行やその他さまざまな操作の統合役として、コントローラーには使用可能なワークフロー、実行要求のキュー、およびその他の情報を保持できる場所が必要です。サービスの機能のための重要な情報の保存場所を Persistence (持続性) 画面で定義します。

Controller_persistence03.png

Database Type (データベースタイプ)

コントローラーは、SQLite (Designerでの使用のみ)、MongoDB、SQL DBのいずれかに情報を保持します。Serverには、MongoDB、およびUser-managed MongoDB (ユーザー管理MongoDB)またはUser-managed SQL DB (ユーザー管理SQL DB)のオプションが組み込まれています。Server UI用にマシンを設定する場合は、MongoDBUser-Managed Mongo DBUser-managed SQL DBのいずれかを使用する必要があります。

重要

MongoDB Community は FIPS に準拠していないため、Server-FIPS に組み込まれていません。ユーザー管理MSSQL、ユーザー管理Mongo DB Atlas、またはMongoDB Enterprise Advancedが必要になります。

  • SQLite: SQLite データベースのインスタンスを作成します。スケジューラーを使用する軽量でローカルなデプロイに推奨されます。

  • MongoDB: MongoDB データベースのインスタンスを作成します。より大規模な使用に推奨されます。

  • User-Managed MongoDB(ユーザー管理 Mongo DB): ユーザーの MongoDB 実装環境に接続できます。

  • ユーザー管理SQL DB: SQL DBに接続できます。現在、SQL Server DBは「Advanced」(詳細)オプションのみを受け付けます。

重要

  • User-Managed MongoDB (ユーザー管理 Mongo DB) の場合、 SCRAM 認証を使用した MongoDB のみをサポートします。Kerberos 認証を使用する MongoDB はサポートされていません。

  • 持続性データベースの自動バックアップシステムを使用することを強くお勧めします。MongoDB のバックアップについては、「MongoDB バックアップ」を参照してください。SQLite をバックアップするには、\ProgramData\Alteryx\Service\にある永続性フォルダーを圧縮またはコピーすることができます。

  • データベースタイプを SQLite と MongoDB の間で切り替える場合、スケジュール設定されたジョブは移行されません。これらのジョブは手動で再スケジュールする必要があります。

Data Folder (データフォルダー)

Data Folder (データフォルダー) は、SQLite または組み込みの MongoDB データベースファイルの保存場所です。User-managed MongoDB(ユーザー管理 MongoDB) を選択している場合、 Data Folder(データフォルダー) は MongoDB インスタンスで設定されるため、無効になります。

Advanced Database Connection (高度なデータベース接続)

高度なユーザー管理MongoDB

次をサポートする必要がある場合は、Advanced User-Managed Mongo DB (高度なユーザー管理 Mongo DB) を選択します。

  • TLS/SSL

  • Replica Sets(レプリカセット)

  • Sharding(分散化)

  • MongoDB Atlas

重要

接続文字列オプションが使用可能になる前のバージョン (2020.1 リリース以前) でレプリカセットを使用していた場合は、接続文字列に変更する必要があります。

このオプションを選択すると、Database (データベース) セクションには MongoDB Connection (MongoDB 接続) フィールドが表示され、ここで MongoDB 接続文字列を指定できます。接続文字列の指定に関するヒントと例については、「高度な接続文字列」のヘルプページを参照してください。

Screenshot of Advanced User-Managed MongoDB selected and the corresponding MongoDB Connection field that appears in the Database section

高度なユーザー管理SQL

[Database Type]に[User-Managed SQL DB]を選択した場合は、[Advanced Database Connection] (高度なデータベース接続)セクションに[Advanced User-Managed SQL]オプションが自動的に表示されます。

user_managed_SQL_DB.png

データベース

User-Managed MongoDBを選択し、かつAdvanced Database Connectionを使用していない場合は、MongoDBインスタンスの[Host] (ホスト)の場所と[Database Name] (データベース名)を[Database] (データベース)セクションで指定します。MongoDB インスタンスに認証が必要な場合は Username (ユーザー名) および Admin Password (管理パスワード) フィールドに入力します。

Screenshot of Database settings when User-managed MongoDB option is selected

組み込みの MongoDB の場合、Host (ホスト)、Username (ユーザー名)、Admin Password (管理パスワード)、Password (パスワード) の各フィールドには自動的に値が入力されます。Admin Password (管理パスワード) は、MongoDB 管理者がバックアップとレプリカセットを設定するためのパスワードです。Password (パスワード) は、MongoDB と通信するためにすべてのコンポーネントで使用されます。Password (パスワード) を使用して、データベース接続の使用状況レポートを作成することもできます。

Screenshot of Database settings when MongoDB option is selected

Special characters in usernames, passwords, or parameter values have to be URL encoded.

[User-Managed SQL DB]を選択した場合は、[データベース] > [SQL接続]でSQLサーバーインスタンスへの接続文字列を指定する必要があります。

[Persistence]セクションには、SQL DB接続文字列を指定するための[SQL Connection]フィールドが表示されます。接続文字列の指定に関するヒントと例については、SQL DBの高度な接続文字列を参照してください。

SQL接続文字列を確認すると、システム設定によって文字列がマスクされます。SQL接続文字列を再度選択すると、ポップアップウィンドウが表示されます。値をクリアするか保持するかを確認します。SQL接続文字列の詳細については、「SQL DBの高度な接続文字列」を参照してください。

持続性オプション

データベースには、ワークフロー実行結果、スケジュール、アップロードされたファイルの履歴が保持されます。各種アイテムおよびファイルには、指定した日数が経過した後に削除されるようフラグを付けることができます。これらの設定により、Server が使用するハードドライブの容量を減らすことができます。

重要

  • 持続性オプションは過去にさかのぼって適用されます。すべての持続性オプションを 10 日後に削除するように設定した場合、ワークフロー実行結果、スケジュール、ファイルの履歴には過去 10 日間しか表示されなくなります。

  • これらの設定は、Server 使用状況レポートで利用可能な履歴にも適用されます。

  • すべての持続性オプションで、エラー状態のレコードは削除されません。

  • Delete queue and results after (days)(キューと結果を (日) 後に削除): 指定された日数が経過した後に、完了したジョブをデータベースから削除し、ワークフローの結果を削除します。

  • Delete completed schedules after (days)(完了したスケジュールを (日) 後に削除): 指定された日数が経過した後に、 完了状態になっているスケジュールを削除します。

  • Delete uploaded files after (days)(アップロードされたファイルを (日) 後に削除): 指定された日数が経過した後に、分析アプリ経由で Server UI にアップロードされたファイルを削除します。

    If the uploaded file is referenced by a schedule, it is retained until the schedule is deleted. Once the schedule is deleted, the number of days defined in Persistence Options applies.

重要

定期的なバックアップ周期を導入し、キューと結果、完了したスケジュール、アップロードされたファイルを 180 日後 (またはゼロ以外の適切な値) に削除するように設定することをお勧めします。値を 0 にすると、アイテムは無期限で保持されます。

利点: これにより、ハードドライブの使用容量を抑えることができます。

Mapping Configuration (マップ設定)

Mapping Configuration (マッピング設定) 画面で、マシンがマップコントローラーとして動作するように設定し、タイルおよびレイヤーのキャッシングのしきい値を定義します。マップタイルとそれらのレンダリングに必要な参照マップをキャッシュすると、パフォーマンスが良くなります。キャッシュサイズを大きく、存続可能時間を長くすると、以前に要求されたタイルの応答が高速化されますが、メモリとディスクの使用量が増えます。キャッシュを小さくすると、効果が逆になります。

  • Enable map tile controller(マップタイルコントローラーを有効にする): これを選択すると、ワーカーがレンダリングしたマップタイルをマシンで処理できます。マップ質問およびマップ入力ツールは、これらのタイルを使用してマップをレンダリングします。

    • Memory cache (no.of tiles)(メモリキャッシュ (タイルの数)): これは、メモリに保存されるマップタイルの最大数です。タイル 1,000 枚には約 450 MB のメモリが必要です。メモリキャッシュが大きいほどタイルの保存量が増えてパフォーマンスが向上しますが、必要なシステムリソースは増えます。

    • Disk cache (MB)(ディスクキャッシュ (MB)): これは、ハードドライブ上でマップタイルイメージをキャッシュするために割り当てる最大容量です。ディスクキャッシュが大きいほどドライブ領域の消費量は増大しますが、マップタイル要求のパフォーマンスが向上する可能性があります。

    • Reference layer time to live (seconds)(参照レイヤーの存続可能時間 (秒)): マップ質問およびマップ入力ツールは参照レイヤーを作成し、また YXDB ファイルによって駆動されます。コントローラーは、この YXDB ファイルへの参照を保持してレンダリングの高速化に利用することができます。この設定では、参照レイヤー情報を保持する時間を定義します。この数値を増やすと、要求頻度の高いレイヤーのパフォーマンスを最適化できる場合があります。期限切れの参照レイヤーは、次回に要求された時点で再生成されます。

Remote Controller (リモートコントローラー)

ワーカーとして動作するようにマシンを設定している場合、Controller (コントローラー) の下の画面は Remote Controller (リモートコントローラー) 画面のみになります。ここで、マシンをコントローラーマシンに接続します。コントローラーマシンに接続するために、ホストの場所とコントローラートークンを入力します。

  • Host(ホスト): コントローラーマシンのホストの場所を入力します。

  • Use SSL/TLS(SSL/TLS を使用): このボックスにチェックを入れると、リモートコントローラーで SSL/TLS が有効になります。この設定は、FIPS 環境では既定で有効で、FIPS 以外の環境では無効に設定されています。

  • Port(ポート): [SSL/TLSを使用する] 設定にチェックを入れると、ポートは既定で 443 に設定されます。チェックを入れない場合、ポートは既定で 443 に設定されます。ただし、ポートは手動で変更できます。

  • トークン: コントローラーマシンのトークンを入力します。コントローラートークンは、コントローラーマシンのシステム設定の、[Controller] > [General]画面で確認できます。本記事の一般設定)セクションを参照してください。

コントローラートークン文字を表示または非表示にするには、 View(表示) または Hide (非表示) を選択します。

Screenshot of the Controller Remote screen which shows the Host and Token fields

Server上の一時ファイルのサイズを制限する方法

既定では、Serverの一時ディレクトリはC:\ProgramData\Alteryx\Service\Staging\<UUID>\__StageTemp\です。

Serverでワークフローまたは分析アプリを実行すると、C:\ProgramData\Alteryx\Service\Staging\<UUID>\__StageTemp\Engine_<UUID>という新しいフォルダーが作成されます。

limit_temp_file_all.png

エンジンがServerの一時ファイルを書き込む、TempFolderのサイズ上限の決定に関する設定を変更または追加するには、次の手順を実行します。

  1. %PROGRAMDATA%\Alteryx に移動します。

  2. RuntimeSettings.xml を開きます。

  3. TempFileMaxSize コントローラー設定を検索します。存在しない場合は、次の例を使用して追加することができます。

    例(TempFileMaxSizeはメガバイト単位で設定):

    <Controller>

    <TempFileMaxSize>20000</TempFileMaxSize>

    <コントローラー/>

AlteryxServiceは、フォルダーのサイズを毎秒チェックします。現在のサイズがTempFileMaxSizeを超えると、AlteryxServiceは実行を停止し、ログエラーメッセージ(「AlteryxService: The temp file size limit was exceeded」)をC:\ProgramData\Alteryx\Service\AlteryxServiceLog.logに出力します。

How_to_limit_temp_file_size_on_Server_3.png

実行後、すべての一時ファイルが削除されます。TempFileMaxSizeの設定が空の場合、AlteryxServiceはフォルダーのサイズをチェックしません。

重要

TempFileMaxSizeは、同時ワークフローごとに設定されます。したがって、同時に実行できるワークフローが2つあり、TempFileMaxSizeが20 GBに設定されている場合、使用される合計ディスク容量は40 GBになります。

エンジンレコードスワップファイルがワークフロー一時フォルダーに割り当てられ、十分なRAMがない場合にメモリスワップに使用されます。スワップファイルにはそれぞれ1GBずつが割り当てられるため、ディスクに十分な空き領域を残しておくことをお勧めします。他のプログラムも同じディスクに一時ファイルを書き込む可能性を考慮して、約50GBの空きディスク容量がある場合は、一時ファイルに合計約40GBを割り当て、5-10GBを未使用の状態にすることをお勧めします。

変更の適用方法

  1. C:\ProgramData\Alteryx に移動し、RuntimeSettings.xml ファイルを開きます。

  2. そのファイルに<Controller><TempFileMaxSize>を追加します。

    例:

    コントローラー

    <TempFileMaxSize>20000</TempFileMaxSize>

    </Controller>

  3. AlteryxServiceを再起動します。

    次の コマンドライン を使用できます。

    • 管理者モードでPowerShellを開きます。

    • Alteryx\bin フォルダーに移動

      cd C:\Program Files\Alteryx\bin\

    • サービスを停止

      .\AlteryxService.exe stop

    • サービスを開始

      .\AlteryxService.exe start

    または、Alteryxシステム設定を使用することもできます

    • Designerを開きます。

    • [オプション] > [詳細オプション] > [システム設定]の順に選択します。

    • すべての手順を実行し、[完了] を選択して、サービスが再起動するのを待ちます。

    • [Done](終了) を選択します。