Tableau サービス マネージャーのポート

Tableau サービス マネージャー (TSM) および Tableau Server on Windows のコンポーネントを構成するプロセスとサービスは通信にさまざまなポートを使用します。既定では、これらのポートのほとんどは事前定義されたポート範囲から動的に割り当てられます (マッピング)。ポート割り当ては、各サービスまたはプロセスがインストールされた時点で行われます。どのポートが使用されるかはさまざまな方法で制御できます。

プロセスの小規模なサブセットは動的ポート マッピングを使用せず、独自に動作します。詳細については、後述の動的マッピングされないポートを参照してください。

注: この操作には、TSM コマンド ラインを使用して実行する必要のある手順が含まれています。TSM CLI を使用するには、インストール済みノードのいずれかでコマンド ラインにアクセスするための管理者アクセス権限と、TSM コマンドを実行するための TSM 管理者認証資格情報が必要です。

エフェメラル ポートの使用

オペレーティング システムがエフェメラル ポートを使用するように設定されている場合、以下に説明するように設定されている場合でも、Tableau トラフィックがこれらのポートを経由してルーティングされる可能性があります。これは OS レベルで発生するものであり、Tableau で設定できるものではありません。ポートの使用を制御する場合は、エフェメラル ポートの使用を制限する方法についてオペレーティング システムのドキュメントを参照してください。

ファイアウォールの要件

Tableau Server をインストールするコンピューターでファイアウォールを実行している場合は、Tableau Server トラフィック用に次の既定のポートを開く必要があります。443 を除くすべてのポート番号を変更できます。

ポートTCP/UDP使用...インストールのタイプ
すべて

分散/高可用性

80TCPゲートウェイX 
443TCPSSL。Tableau Server で SSL を構成している場合、アプリケーション サーバーはこのポートに要求をリダイレクトします。このポートは変更しないでください。X 
8850TCPTableau Services Manager。X 
8060TCPPostgreSQL データベース。X 
8061TCPPostgreSQL バックアップ検証ポートX 
8000-9000TCPTableau プロセスの動的マッピング用に既定で予約されているポートの範囲 X
27000-27009TCPTableau Server がライセンス サービスで使用するポートの範囲。この範囲は、ライセンス サービスを実行しているノードで開いている必要があり、また他のノードからアクセス可能である必要があります。既定では、最初のノードはライセンス サービスを実行します。X 

ポートの割り当て

TSM でのポート割り当てまたはマッピングに使用できる 2 通りのアプローチがあります。

  • 動的ポート割り当て。これは既定で、管理者で必要な介入は最小限です。
  • 手動ポート割り当て。このオプションでは、管理者が個別に各ポートを割り当てる必要があります。

ポート割り当てを変更し、ローカル ファイアウォールを実行している場合、ローカル ファイアウォール構成を参照してください。

動的ポート割り当て

動的割り当てプロセスに使用可能なポート範囲を変更することで、どのポートが使用されるかを制御できます。これを実行すると動的ポート割り当てはそのまま保持されますが、選択できるポートは制限されます。動的ポート割り当てを保持したままでも、引き続き、特定のプロセスに手動でポートを割り当てることができます。このアプローチによって、特定のポートを特定のプロセスに割り当て、その他は動的にマッピングされるようにしておくことができます。一部の個別に割り当てられるポートの有無に関係なく、動的マッピングの使用が最も簡単なアプローチで、大半のお客様の要件が満たされます。動的に割り当てられたポートは、Tableau Server 構成をエクスポートした場合も、保持されます。

既定では、8000 ~ 9000 の使用可能なポートの中から各サービスまたはプロセスに割り当てられます。この割り当ては、ノード上でのサービスの初回インストール時に実行されます。Tableau Server が初期化された後、次のコマンドを実行することで、どのサービスまたはプロセスがどのポートを使用しているか確認できます。

tsm topology list-ports

マルチノード クラスタがある場合は、すべてのノードのポートがリストされます。

ポート範囲の変更

使用されるポートについて特定の要件がある組織の場合、これを制御する最も簡単な方法は、ポートが動的に選択されるポート範囲を変更することです。構成ファイルで範囲として最小ポートと最大ポートを指定し、インストール時に実行する必要があります。

注: ポート範囲の最小許容サイズは、サーバーのインストールと実行されているサービスまたはプロセスの数によって異なります。一般的なベスト プラクティスとして、ポート割り当ては範囲内でランダムにポートを選択して実行されるため、過度に狭い範囲に制限しないようにしてください。十分な大きさの範囲を許可しないと、選択時に使用可能なポートを見つけられない場合があります。

使用可能なポートを選択する範囲を 8300 から 8600 までの間に制限するには、構成ファイルに次のようなエントリを含めます。

"configKeys": {
"ports.range.min": "8300", "ports.range.max": "8600"
}

範囲内の特定のポートをブロックする

バージョン 2021.1.0 以降では、動的に割り当てられた範囲内にある特定のポートを指定することができますが、Tableau では使用しないでください。これは、Tableau が使用している範囲内のポートに依存する Tableau Server コンピューター上に他のソフトウェアがある場合に役に立ちます。

TSM および Tableau Server で使用しないポートを指定するには、次の構成キー ports.blocklist を使用します。

tsm configuration set -k ports.blocklist -v <port>[,<port>,<port>]

例:

tsm configuration set -k ports.blocklist -v 8000,8088, 8090

動的ポート割り当ての無効化

ポート範囲の制限と個別のポート割り当てを組み合わせて得られる制御レベルより、さらに厳密にポート割り当てを制御する必要がある場合は、初期サーバー構成時に、動的ポート マッピングを無効にします。動的ポート マッピングを無効にすると各プロセスの各ポートを手動で割り当てる必要があるため、単一のポート割り当てをそれぞれ制御する必要がある場合を除き、これはお勧めしません。

動的ポート マッピングを無効にした場合は、インストールの各ノードで、各プロセスのポートを構成する必要があります。

動的マッピングを無効にするには、構成ファイルに次のようなエントリを含めます。

"configKeys": {
"service.port_remapping.enabled": false
}

重要: 動的ポート割り当てを無効にした場合、ライセンス サービスのポート範囲は含まれません。この範囲 (27000 ~ 27009) は、ライセンス サービスを実行しているノードに開放し、他のノードからアクセスできる必要があります。既定では、最初のノードはライセンス サービスを実行します。

手動ポート割り当て

自動ポート割り当てを完全に無効化し、各プロセスのポートを個別に割り当てることができます。これを実行すると、すべてのノードで各プロセスのポートを割り当てる必要があります。プロセスの初回インストール時は構成ファイルで、またはインストール後は TSM コマンドを使用して、ポートを割り当てることができます。Tableau Server 構成をエクスポートした場合は、プロセスのインストール時に割り当てられたポートのみが保持されます。

動的マッピングが有効かどうかに関係なく、特定のプロセスに個別のポートを指定することができます。プロセスで特定のポートを使用する必要がある場合、または動的マッピングを無効にした場合に、これを実行する必要が生じることがあります。プロセスのポートを指定する方法は 2 つあります。インストール時とインストール後です。

インストール時のポートの構成

ここで説明するように、ポート割り当ての構成はインストール プロセスの際に行うことをお勧めします。インストール後にポート変更を行うのは、はるかに多くの労力が必要となります。

インストール時にポートを構成するには、お使いのポート構成を指定する json ファイルを作成します。このプロセスは、既定以外のポート範囲を定義することに似ていますが、代わりに、特定のサービスまたはプロセスに特定のポートを指定します。特定のポートを割り当てようとしている場合は、このアプローチがそれを実行するための最も確実な方法です。tsm settings export コマンドを使用してサーバー構成やトポロジ設定をエクスポートしても、ポート マッピングが保持されるからです。

インストール時にポートを定義するには、構成ファイルに情報を追加してノード (workerN)、プロセス (servicename) 、インスタンス ID (instanceid)、ポートのタイプ (porttype)、使用するポートを指定します。形式は次のようになります。

workerN.{servicename}_{instanceid}.{porttype}.port:X

説明:

  • workerN はオプションのパラメーターで、再マッピングが適用されるノードを特定します。ノード番号は 0 から始まります。
    異なるノード上の同じサービスに異なるポートをマッピングする必要がないかぎり、このパラメーターを含めないことをお勧めします。このパラメーターをオフにしておくと、初期ノードにサービス ポートをマッピングしたり、複数ノードに同じサービス ポートをマッピングしたりすることができます。
  • servicename は、ポートを使用するプロセスまたはサービスの名前です。
  • instanceid は、プロセスのインスタンスです。1 つのノード上で 1 つのプロセスの複数のインスタンスを設定しようとしている場合は、インスタンスごとにこの値を増分する必要があります。instanceid はゼロ (0) で始まり、プロセスのインスタンスごとに 1 ずつ増分します。対象のノード上に単一のインスタンスのみがインストールされているサービスの場合は、これをオフにしておく必要があります。
  • porttype プライマリ ポートを設定している場合は、このオプションを含めないでください。
  • port は、プロセスまたはサービスが使用するポートです。

たとえば、最初のノードでファイル ストア プロセスの 1 番目のインスタンスのポートを 8500 に設定するには、次のようなエントリを構成ファイル エントリに含めます。

"configKeys": {
"filestore_0.port: "8500"
}

上記の例には、オプションの workerN パラメーターが含まれていないため、クラスタ内のすべてのノードにポートが設定されます。また、プライマリ ファイルストア ポートを設定しているため、porttype オプションはオフのままです。

重要: 構成ファイルでポートの変更を指定する場合は、tsm settings import コマンドに --force-keys パラメーターを含める必要があります。

インストール後のポートの構成

Tableau Server のインストール後にポートの変更が必要な場合、tsm topology set-ports コマンドを使用します。このアプローチによって、プロセスがインストールされた後に、特定のプロセスのポートを指定できます。次の制限事項による制約があります。

  • ノードごとにポートを個別に設定する必要がある。
  • 個々のポートを設定後に tsm restart を実行する必要がある。
  • tsm settings import を使用して Tableau Server 構成をインポートする必要がある場合、ポート割り当ては保持されない。
  • ポート名が configKeys で必要な構文とは異なる構文を tsm コマンドで使用する。このトピックの最後にある表には、構文の参照が記載されています。

たとえば、最初のノードでファイル ストアの 2 番目のインスタンスがポート 8500 を使用するように設定するには、次のようにします。

tsm topology set-ports --node-name node1 --port-name filestore --port-value 8500 --instance 2

以下の例は、JMX ポートを設定するために簡略化されたコマンドを使用する方法を示しています。

tsm topology set-ports -n node1 --port-name vizqlserver:jmx.rmi -pv 9403 -i 1

tsm topology set-ports -n node1 --port-name vizqlserver:jmx -pv 9404 -i 2

: ポートの入力時には、これの検証は行われません。このため、既に割り当て済みのポートを使用する場合や、コマンドの構文に入力ミスがある場合、再起動を行うまでは Tableau にエラーは表示されません。再起動後、The reconfigure async job failed. (非同期ジョブの再構成に失敗しました。) という一般的なエラーが表示される場合があります。

有効なポートで誤った portname:type を追加すると、誤った入力を削除できません。ポートを更新するには、その値に未使用のポートを再割り当てし、再度ポートを解放する必要があります。

動的マッピングされないポート

Tableau Server リポジトリは、動的マッピングされない 2 つのポートを使用します。これらにはそれぞれ、tsm configuration set コマンドと process-specific パラメーターを使用して上書きできる既定のポートがあります。

ポート名ポート (既定)説明
pgsql.port8060Tableau リポジトリ (PostgreSQL データベース) のポート。

このポートを上書きするには:

tsm configuration set -k pgsql.port -v <port>

pgsql.verify_restore.port8061リポジトリ バックアップの整合性を検証するためのポート。

このポートを上書きするには:

tsm configuration set -k pgsql.verify_restore.port -v <port>

これらのポートは動的ポート マッピング システムを使用しないため、tsm topology list-ports コマンドの出力には表示されません。これらの値を確認するには、tsm configuration get -k <config.value> コマンドを使用する必要があります。例は次のとおりです。

tsm configuration get -k pgsql.port

動的マッピングされたポート

この表は、動的マッピングされたポートを使用するプロセスまたはサービスをリストしています。

ポート名: json ファイルの構文 (configKeys)ポート名: tsm CLI の構文 説明
activemqserver.portactivemqserver:primaryActiveMQ Service サービス ポート。
activemqserver.openwire.portactivemqserver:openwireActiveMQ サービス オープンワイヤー ポート。
appzookeeper_0.client.portappzookeeper:client調整サービス クライアント ポート。
appzookeeper_0.peer.portappzookeeper:peer調整サービス ピア ポート。
appzookeeper_0.leader.portappzookeeper:leader調整サービス リーダー ポート。
backgrounder_0.portbackgrounderバックグラウンダー プライマリ ポート。
backgrounder_0.debug.portbackgrounder:debugバックグラウンダー デバッグ ポート。
backgrounder_0.jmx.portbackgrounder:jmxバックグラウンダー JMX ポート。 
backgrounder_0.jmx.rmi.portbackgrounder:jmx.rmiバックグラウンダー JMX RMI ポート。
backgrounder_0.recommendations.trainer.portbackgrounder:recommendations.trainerバックグラウンダー推奨ポート。
backuprestore.portbackuprestoreバックアップ/復元サービス ポート。
cacheserver_0.portcacheserverキャッシュ サーバー ポート
clustercontroller.status.portclustercontroller:statusクラスタ コントローラー ステータス ポート。
clustercontroller.storage.portclustercontroller:storageクラスタ コントローラー ストレージ ポート。
databasemaintenance.portdatabasemaintenanceデータベース メンテナンス ポート。
dataserver_0.portdataserverデータ サーバー プライマリ ポート。
dataserver_0.debug.portdataserver:debugデータ サーバー デバッグ ポート。
dataserver_0.jmx.portdataserver:jmxデータ サーバー JMX ポート。
dataserver_0.jmx.rmi.portdataserver:jmx.rmiデータ サーバー JMX RMI ポート。
filestore.portfilestoreファイル ストア プライマリ ポート。
filestore.status.portfilestore:statusファイル ストア ステータス ポート。
gateway.portgatewayゲートウェイ ポート。この既定は 80 ですが、80 が使用できない場合は 8080 になります。8080 が使用できない場合は、8000 が試行されます。動的ポート割り当てが有効かどうかに関係なく、そのシーケンスに従います。それらのポートがどれも使用できず、動的マッピングが有効な場合は、定義された範囲内で使用可能なポートが選択されます。ゲートウェイ ポートはマルチノード クラスタ内のすべてのノードで同一である必要があるため、最初のノードでポート 80 が選択された場合は、これがすべてのノードで使用されるポートとなり、他のノードのいずれかでポート 80 が使用できない場合は、ゲートウェイ ポートの選択は失敗します。
hyper.porthyperデータ エンジン プライマリ ポート。
hyper.connection.porthyper:connectionデータ エンジン接続ポート。
indexandsearchserver.portindexandsearchserverインデックスおよび検索サーバーのプライマリ ポート。
indexandsearchserver.transport.portindexandsearchserver:transportインデックスおよび検索サーバーのトランスポート ポート。
licenseservice.vendor_daemon.portlicenseservice:vendor_daemonライセンス サービス ベンダー デーモン ポート。マルチノード インストールでノード間のライセンス関連の通信に使用されます。
samlservice.portsamlserviceSAML サービス ポート。
siteimportexport.portsiteimportexportサイト インポート/エクスポート ポート。
tabadmincontroller.porttabadmincontrollerTSM コントローラー ポート。
tabadminagent.columbo.porttabadminagent:columbo管理エージェント サービス検出ポート。
tabadminagent.filetransfer.porttabadminagent:filetransferTSM エージェント ファイル転送ポート。
vizportal_0.authentication.portvizportal:authenticationアプリケーション サーバー認証ポート。
vizportal_0.authorization.portvizportal:authorizationアプリケーション サーバー認可ポート。
vizportal_0.maintenance.portvizportal:.maintenanceアプリケーション サーバー メンテナンス ポート。
vizportal_0.microservice.extensions.portvizportal:.microservice:extensionsアプリケーション サーバー拡張ポート。
vizportal_0.monolith_grpc.portvizporta:monolith_grpcアプリケーション サーバー GRPC ポート。
vizportal_0.publishing.portvizportal:publishingアプリケーション サーバー パブリッシュ ポート。
vizportal_0.recommendations.portvizportal:recommendationsアプリケーション サーバー推奨ポート。
vizportal_0.portvizportalアプリケーション サーバー プライマリ ポート。
vizportal_0.debug.portvizportal:debugアプリケーション サーバー デバッグ ポート。
vizportal_0.jmx.portvizportal:jmxアプリケーション サーバー JMX ポート。
vizportal_0.jmx.rmi.portvizportal:jmx.rmiアプリケーション サーバー JMX RMI ポート。
vizqlserver_0.portvizqlserverVizQL Server プライマリ ポート。
vizqlserver_0.debug.portvizqlserver:debugVizQL Server デバッグ ポート。
vizqlserver_0.jmx.portvizqlserver:jmxVizQL Server JMX ポート。
vizqlserver_0.jmx.rmi.portvizqlserver:jmx.rmiVizQL Server JMX RMI ポート。

 

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!