ローカル ファイアウォールの構成

このトピックは Tableau Server を実行しているコンピューター上でファイアウォールを構成する方法について説明します。

シングル ノード展開およびマルチノード展開では、ローカルのファイアウォールをオペレーティング システムで有効化して Tableau Server を保護する必要があります。Tableau Server の分散 (マルチノード) インストールでは、ノード間の通信は安全な通信を使用しません。そのため、Tableau Server をホストするコンピューター上でファイアウォールを有効化することをお勧めします。

外部トラフィックからアクセス可能なポートは gateway ポートと tabadmincontroller ポートの 2 つだけになるようファイアウォールを構成することをお勧めします。既定では、これらのポートはそれぞれ 80 および 8850 です。さらに分散環境で実行している場合は、ポート範囲 27000 ~ 27009 を開き、ノード間でライセンス通信が行えるようにする必要があります。

gateway ポートは Tableau Server への HTTP 接続に使用されます。gateway ポートには SSL を使用することをお勧めします。SSL を使用している場合は、ポートを 443 に設定する必要があります (Tableau Server では SSL に対しその他のポートがサポートされていないため)。以下の手順では、gateway ポートでのファイアウォールの構成方法について説明します。Tableau Server ゲートウェイを構成して (初期ノード設定の構成) 、ここで設定するポートと一致させます。

下記の例では、RHEL/CentOS ディストリビューションで実行される Tableau Server のシングルおよびマルチノード展開でのファイアウォール構成方法を説明します。例では CentOS の規定ファイアウォールである Firewalld が使用されています。

シングル ノード構成

  1. bash shell を開いて次の TSM コマンドを実行し、tabadmincontroller ポートのポート番号を取得します。

    tsm topology list-ports

    tabadmincontroller ポートを書き留めます。既定では、このポートは 8850 です。

  2. Firewalld を起動します。

    sudo systemctl start firewalld

  3. 既定のゾーンが public などの高セキュリティゾーンになっていることを確認します。そうでない場合、高セキュリティゾーンに変更することを推奨します。

    sudo firewall-cmd --get-default-zone

    sudo firewall-cmd --set-default-zone=public

  4. gateway ポートと tabadmincontroller ポート用のポートを追加します。以下の例では、既定のポート (80 および 8850) を使用しています。

    sudo firewall-cmd --permanent --add-port=80/tcp

    sudo firewall-cmd --permanent --add-port=8850/tcp

  5. ファイアウォールをリロードして、設定を検証します。

    sudo firewall-cmd --reload

    sudo firewall-cmd --list-all

マルチノード クラスタ構成

マルチノード クラスタでファイアウォールを構成するには、ポートの有効化に加え、ノード同士で通信できるようにする追加の手順が必要です。

はじめる前に

クラスタ内の各ノードの IP アドレスが必要です。この例では、最初のノードの IP アドレスに <node1IP>、2 台の追加ノードの IP アドレスに <node2IP><node3IP> をプレースホルダとして使用します。

ステップ 1: 最初のノードの構成

  1. bash shell を開いて次の TSM コマンドを実行し、tabadmincontroller ポートのポート番号を取得します。

    tsm topology list-ports

    tabadmincontroller ポートを書き留めます。既定では、このポートは 8850 です。

  2. 次のコマンドを実行して、TSM が動的に選択する可能性のあるポート番号の範囲を調べます。この手順の後半で、この範囲を指定します。ポートの範囲を書き留めます。

    tsm configuration get -k ports.range.min

    tsm configuration get -k ports.range.max

    標準的な範囲は 8000 から 9000 です。

  3. Firewalld を起動します。

    sudo systemctl start firewalld

  4. 既定のゾーンが public などの高セキュリティゾーンになっていることを確認します。そうでない場合、高セキュリティゾーンに変更することを推奨します。

    firewall-cmd --get-default-zone

    sudo firewall-cmd --set-default-zone=public

  5. gateway ポートと tabadmincontroller ポート用のポートを追加します。以下の例では、既定のポート (80 および 8850) を使用しています。ノード間でライセンス通信が行えるようにするために、ポート範囲 27000-27010 も追加する必要があります。

    sudo firewall-cmd --permanent --add-port=80/tcp

    sudo firewall-cmd --permanent --add-port=8850/tcp

    sudo firewall-cmd --permanent --add-port=27000-27010/tcp

  6. クラスタ内の他ノードからのトラフィックを許可するようにファイアウォールを構成します。ports オプションには、ステップ 2 で書き留めた範囲を指定します。クラスタ内の各追加ノードでコマンドを実行します。例:

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node2IP>/32 port port=8000-9000 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=8000-9000 protocol=tcp accept'

  7. ファイアウォールをリロードして、設定を検証します。

    sudo firewall-cmd --reload

    firewall-cmd --list-all

ステップ 2: 追加ノードの構成

クラスタ内の各ノードは最初のノード、そして他のノードと通信できなくてはなりません。

この手順をクラスタ内の各追加ノードで実行します。この例では、IP アドレス <node2IP> のノードが <node1IP> にある最初のノードと <node3IP> にある第三のノードと通信します。

  1. Firewalld を起動します。

    sudo systemctl start firewalld

  2. 既定のゾーンが public などの高セキュリティゾーンになっていることを確認します。そうでない場合、高セキュリティゾーンに変更することを推奨します。

    firewall-cmd --get-default-zone

    sudo firewall-cmd --set-default-zone=public

  3. クラスタ内の他ノードから gatewaytabadmincontroller へのアクセスを許可するようにファイアウォールを構成します。例:

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node1IP>/32 port port=80 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node1IP>/32 port port=8000-9000 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=80 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=8000-9000 protocol=tcp accept'

    この例では、tabadmincontroller ポート (8850) がポート範囲に含まれているため、コマンド内で明示的に指定されていません。

  4. ファイアウォールをリロードして、設定を検証します。

    sudo firewall-cmd --reload

    firewall-cmd --list-all

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