コントローラーはサービス設定を管理し、作業をワーカーに委任します。コントローラーとして有効化できるのは、デプロイ内でマシン 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](../../../image/uuid-3cb78619-c966-04ff-d914-fac6af70308a.png)
コントローラーの Token (トークン) は、コントローラーが Designer を使用するワーカーやマシンと通信するために使用する、自動生成されたシークレットキーです。
Designer を使用するマシンがコントローラーマシンではない場合に、このマシンでワークフローを将来の日付にスケジュール設定するには、 ワークフローのスケジュール設定 画面でコントローラートークンを追加してワークフローのスケジュールを設定する必要があります。
また、あるマシンをコントローラーとして動作させ、別のマシンをワーカーとして動作させる場合にも、コントローラートークンが必要になります。コントローラーマシンをセットアップして、コントローラートークンを取得します。次に、ワーカーマシンをセットアップする際に、 System Settings (システム設定) > Controller (コントローラー) > Remote (リモート) でコンローラートークンを追加します。
トークンのセキュリティ強度が落ちた場合など、必要に応じてトークンを再生成できます。トークンを再生成する場合は、デプロイ内の Server UI ノードとワーカーノードを更新する必要があります。トークンを再生成する場合は Regenerate (再生成) を選択します。
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 (環境) 画面で定義されているグローバルワークスペースのフォルダー内にあります。大量のファイルを確実に保存できる場所を使用するようにしてください。
コントローラーは、サービスの開始とシャットダウン、実行要求などのイベントログを生成します。これらのログはトラブルシューティングに役立ちます。詳細については、「 Server ログの設定と使用 」を参照してください。
Level (レベル): ロギングのレベルを設定できます。ロギングがほとんど必要ない運用環境では、レベルが [None] (なし) または [Low] (低) で十分な場合があります。レベルが [High] (高) をにすると、より多くのメッセージがログに記録され、トラブルシューティングに役立ちます。
File size (MB) (ファイルサイズ MB 単位): このオプションを使用して、ログがローテーションされるまでのログファイルの最大サイズを指定できます。ローテーションされるとログには新しいアクティブなログファイルが書き込まれ、以前のログはアーカイブファイルに保存されます。これにより、標準のログリーダーでは取り扱いにくい大きなログファイルの作成を防ぐことができます。
[Enable log file rotation] (ログファイルのローテーションを有効にする):これを選択すると、最大サイズを超えるログファイルはアーカイブファイルに入れられます。新しいイベントは新しいファイルに書き込まれます。これにより、サイズが大きくて標準のログリーダーでは扱いにくいようなログファイルは作成されなくなります。
Enable Scheduler auto-connect (スケジューラーの自動接続を有効にする) を選択して、マシン上のユーザーがスケジューラーに自動接続できるようにします。スケジューラーに接続するのが難しい場合は、これを有効にしてください。
重要
Server-FIPS では、[Enable Scheduler auto-connect] (スケジューラーの自動接続を有効にする) 設定は無効になっており、有効にすることはできません。
Enable Insights (インサイトを有効にする) を選択すると、Server でインサイトをレンダリングする要求をマシンで処理できるようになります。インサイトは、Designer で作成されるインタラクティブダッシュボードです。
Enable AMP Engine (AMP Engine を有効にする) にチェックを付けると、この環境で Alteryx Multithreaded Processing (AMP) Engine を使用するワークフローを実行できるようになります。これは、Server 環境のオン/オフ設定です。コントローラーの AMP Engine を有効にする場合は System Settings (システム設定) > Engine 画面で、AMP Engine を実行するワーカーを少なくとも1つ設定することも必要になります。詳細については、 Engine と AMP Engine のベストプラクティス のヘルプページを参照してください。
AMP Engine 設定について
System Settings (システム設定) > Controller (コントローラー) 画面の Enable AMP Engine (AMP Engine の有効化) 設定は、Server環境に対するオン/オフ設定です。この設定では、環境レベルで AMP が有効になります。 System Settings (システム設定) > Engine の設定により、どのEngineを使用できるか、つまりどのワークフローがそのEngineを実行可能かをワーカーに認識させます。詳細については、 Engine と AMP 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 (持続性) 画面で定義します。
![The Controller Persistence screen includes the following settings: Database Type, Data Folder, Advanced Database Connection, Database, and Persistence Options](../../../image/uuid-35d2d49d-3d61-07ff-6449-55567c0dac48.png)
コントローラーは、SQLite または MongoDB データベースのいずれかにデータを保持します。Server には、 SQLite または MongoDB オプション、および User-managed MongoDB (ユーザー管理 MongoDB) オプションが組み込まれています。Server UI 用にマシンを設定する場合は、 MongoDB または User-managed Mongo DB (ユーザー管理 Mongo DB) を使用する必要があります。
重要
MongoDB Community は FIPS に準拠していないため、Server-FIPS に組み込まれていません。ユーザー管理 Mongo DB Atlas または MongoDB Enterprise Advanced が必要になります。
SQLite : SQLite データベースのインスタンスを作成します。スケジューラーを使用する軽量でローカルなデプロイに推奨されます。
MongoDB : MongoDBデータベースのインスタンスを作成します。より大規模な使用に推奨されます。
User-Managed Mongo DB (ユーザー管理 Mongo DB): ユーザーの MongoDB 実装環境に接続できます。
重要
User-Managed MongoDB (ユーザー管理 Mongo DB) の場合、 SCRAM 認証 を使用した MongoDB のみをサポートします。Kerberos 認証を使用する MongoDB はサポートされていません。
持続性データベースの自動バックアップシステムを使用することを強くお勧めします。MongoDB のバックアップについては、「 MongoDB バックアップ 」を参照してください。SQLiteをバックアップするには、
\ProgramData\Alteryx\Service\
にある Persistenc フォルダをzip圧縮またはコピーします。データベースタイプを SQLite と MongoDB の間で切り替える場合、スケジュール設定されたジョブは移行されません。これらのジョブは手動で再スケジュールする必要があります。
Data Folder (データフォルダー) は、SQLite または組み込みの MongoDB データベースファイルの保存場所です。 User-managed MongoDB (ユーザー管理 MongoDB) を選択している場合、 Data Folder (データフォルダー) は 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](../../../image/uuid-c5b9866f-28f9-e583-70db-a404b99ea07a.png)
User-Managed MongoDB (ユーザー管理 MongoDB) を選択し、かつ Advanced Database Connection (高度なデータベース接続) を使用していない場合は、MongoDB インスタンスの Host (ホスト) の場所と Database Name (データベース名) を Database (データベース) セクションで指定します。MongoDB インスタンスに認証が必要な場合は Username (ユーザー名) および Admin Password (管理パスワード) フィールドに入力します。
![Screenshot of Database settings when User-managed MongoDB option is selected](../../../image/uuid-fd80a9e3-efca-0fd7-1381-573ded9306ff.png)
組み込みの MongoDB の場合、 Host (ホスト)、 Username (ユーザー名)、 Admin Password (管理パスワード)、 Password (パスワード) の各フィールドには自動的に値が入力されます。 Admin Password (管理パスワード) は、MongoDB 管理者がバックアップとレプリカセットを設定するためのパスワードです。 Password (パスワード) は、MongoDB と通信するためにすべてのコンポーネントで使用されます。 Password (パスワード) を使用して、データベース接続の使用状況レポートを作成することもできます。
![Screenshot of Database settings when MongoDB option is selected](../../../image/uuid-a0559559-9cf9-bdd9-ac2d-be33b75bbe82.png)
Special characters in usernames, passwords, or parameter values have to be URL encoded.
データベースには、ワークフロー実行結果、スケジュール、アップロードされたファイルの履歴が保持されます。各種アイテムおよびファイルには、指定した日数が経過した後に削除されるようフラグを付けることができます。これらの設定により、Server が使用するハードドライブの容量を減らすことができます。
重要
持続性オプションは過去にさかのぼって適用されます。すべての持続性オプションを 10 日後に削除するように設定した場合、ワークフロー実行結果、スケジュール、ファイルの履歴には過去 10 日間しか表示されなくなります。
これらの設定は、 Server 使用状況レポート で利用可能な履歴にも適用されます。
すべての持続性オプションで、エラー状態のレコードは削除されません。
Delete queue and results after (days) (キューと結果を (日) 後に削除): 指定された日数が経過した後に、完了したジョブをデータベースから削除し、ワークフローの結果を削除します。
Delete completed schedules after (days) (完了したスケジュールを (日) 後に削除): 指定された日数が経過した後に、 完了 の 状態 になっているスケジュールを削除します。
Delete uploaded files after (days) (アップロードされたファイルを (日) 後に削除): 指定された日数が経過した後に、分析アプリ経由で Server UI にアップロードされたファイルを削除します。
重要
定期的なバックアップ周期を導入し、キューと結果、完了したスケジュール、アップロードされたファイルを 180 日後 (またはゼロ以外の適切な値) に削除するように設定することをお勧めします。値を 0 にすると、アイテムは無期限で保持されます。
利点 : これによりハードドライブの使用容量が減り、 Server 使用状況レポート の出力サイズが小さくなります。
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 ファイルへの参照を保持してレンダリングの高速化に利用することができます。この設定では、参照レイヤー情報を保持する時間を定義します。この数値を増やすと、要求頻度の高いレイヤーのパフォーマンスを最適化できる場合があります。期限切れの参照レイヤーは、次回に要求された時点で再生成されます。
ワーカーとして動作するようにマシンを設定している場合、 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](../../../image/uuid-e9cc314a-6d1c-03eb-ef5c-04130b071421.png)
既定では、Serverの一時ディレクトリはC:\ProgramData\Alteryx\Service\Staging\<UUID>\__StageTemp\です。
Serverでワークフローまたは分析アプリを実行すると、C:\ProgramData\Alteryx\Service\Staging\<UUID>\__StageTemp\Engine_<UUID>という新しいフォルダーが作成されます。
![limit_temp_file_all.png](../../../image/uuid-1553f5c2-3f32-56c0-b73c-892f19cc2761.png)
エンジンがServerの一時ファイルを書き込む、TempFolderのサイズ上限の決定に関する設定を変更または追加するには、次の手順を実行します。
%PROGRAMDATA%\Alteryx に移動します。
RuntimeSettings.xml を開きます。
TempFileMaxSize コントローラー設定を検索します。存在しない場合は、次の例を使用して追加することができます。
例(TempFileMaxSizeはメガバイト単位で設定):
コントローラー
<TempFileMaxSize>20000</TempFileMaxSize>
</Controller>
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](../../../image/uuid-b29ebbe4-ab97-3915-92a7-17d3bbf95800.png)
実行後、すべての一時ファイルが削除されます。TempFileMaxSizeの設定が空の場合、AlteryxServiceはフォルダーのサイズをチェックしません。
重要
TempFileMaxSizeは、同時ワークフローごとに設定されます。したがって、同時に実行できるワークフローが2つあり、TempFileMaxSizeが20 GBに設定されている場合、使用される合計ディスク容量は40 GBになります。
エンジンレコードスワップファイルがワークフロー一時フォルダーに割り当てられ、十分なRAMがない場合にメモリスワップに使用されます。スワップファイルにはそれぞれ1 GBずつが割り当てられるため、ディスクに十分な空き領域を残しておくことをお勧めします。他のプログラムも同じディスクに一時ファイルを書き込む可能性を考慮して、約50 GBの空きディスク容量がある場合は、一時ファイルに合計約40 GBを割り当て、5-10 GBを未使用の状態にすることをお勧めします。
変更の適用方法
C:\ProgramData\Alteryx に移動し、 RuntimeSettings.xml ファイルを開きます。
そのファイルに <Controller><TempFileMaxSize> を追加します。
例:
コントローラー
<TempFileMaxSize>20000</TempFileMaxSize>
</Controller>
AlteryxService を再起動します。
次の コマンドライン を使用できます。
管理者モードでPowerShellを開く。
Alteryx\bin フォルダーに移動
cd C:\Program Files\Alteryx\bin\
サービスを停止
.\AlteryxService.exe stop
サービスを開始
.\AlteryxService.exe start
または、以下のように Alteryxの設定 を使用します。
Designer を開きます。
[ オプション ] > [ 詳細オプション ] > [ システム設定 ] の順に選択します。
すべての手順を実行し、[ 完了 ] を選択して、サービスが再起動するのを待ちます。
[完了] を選択します。