PostgreSQL データベースをスタンドアロン インストールで作成

バージョン 2021.2 以降、スタンドアロン インストールとして Tableau Server リポジトリを個別にホストできるようになりました。これは、AWS RDS や Azure Database などのマネージド クラウド サービスを使用する場合とは異なります。この設定は、オンプレミス、AWS EC2、Azure VM などで行うことができます。このような Tableau Server リポジトリのインストールは、スタンドアロンの外部リポジトリと呼ばれます。

外部リポジトリで使用できるホストの完全なリストについては、Tableau Server 外部リポジトリを参照してください。

このトピックでは、Tableau Server を PostgreSQL のインストールに接続し、PostgreSQL を Tableau Server 外部リポジトリとして使用するために必要な要件と構成について説明します。PostgreSQL のインストール方法については、詳しく手順を説明していません。その詳細については、PostgreSQL サイトのドキュメントを参照してください。

要件と推奨事項

  • ハードウェアの推奨事項: CPU とストレージは要件によって異なります。小規模なインストールの場合、少なくとも 50 GB のディスク容量と、32 GB の RAM を備えたクアッド プロセッサー (または 4 つの仮想コア) のシステムが必要です。このトピックのガイダンスを確認して、バックアップとリストアに必要なディスク容量を計算してください。一般的には、大きめのハードウェア リソースで始めて、状況を見てからスケール バックすることをお勧めします。

  • ネットワーク: PostgreSQL データベースのインスタンスを Tableau Server クラスタのすべてのノードから到達可能にします。これを行う方法のひとつは、PostgreSQL データベースのインスタンスを Tableau Server クラスタ内のすべてのノードからアクセスするために必要なパーミッションを持つセキュリティ グループのメンバーにすることです。

  • バージョン互換性: PostgreSQL のバージョンは、ローカルにインストールする場合の Tableau Server リポジトリのバージョンと一致させる必要があります。互換性の詳細については、「製品の互換性」を参照してください。
  • セキュリティ: Tableau Server と外部リポジトリ間の SSLを使用した安全な接続は、必須ではありませんが、推奨されています。

    Tableau Server と外部リポジトリ間に安全な接続を設定したくない場合は、暗号化されていない接続を許可するようにスタンドアロンの PostgreSQL データベースを構成する必要があります。

スタンドアロンの PostgreSQL データベース インスタンスの作成

ステップ 1: PostgreSQL をインストールして初期化する

  1. PostgreSQL のドキュメントを使用して、Tableau Server の外部リポジトリとして機能する PostgreSQL データベースのインスタンスをインストールします。高可用性の要件を満たすように PostgreSQL データベースのクラスターを設定することをお勧めします。
  2. uuid-ossp 拡張機能を含む contrib パッケージをインストールします。このモジュールは、Tableau Server がデータベース内のキーに使用する UUID を生成するために使用されます。

  3. PostgreSQL インスタンスを初期化します。

ステップ 1: PostgreSQL インスタンスを構成する

次の 2 つの構成ファイルを使用して PostgreSQL インスタンスを構成します。

  • pg_hba: ホストベース認証の構成ファイルです。
  • postgresql.conf: 一般的なサーバー構成ファイルです。

既定では、これらのファイルは次の場所にあります。

/var/lib/pgsql/12/data (これはディストリビューションによって異なる場合があります)

スーパー ユーザーの設定

要件に合うユーザー名を選択します。管理者のユーザー名は postgres を使用することをお勧めします。別のユーザー名を使用する場合は、ユーザー名が pg で始まらないようにしてください。また、ユーザー名は、railstblwgadmintableaureadonly、または tbladminviews にすることはできません。

これは外部リポジトリが Tableau Server とともに正しく動作するための要件です。

ネットワークとセキュリティ

すべての Tableau サーバー ノードから データベースのインスタンスに到達できることを確認します。通常、ノードからのアクセスを許可するセキュリティ グループを作成する必要があります。

データベースに関するオプション

ポートは任意のものを使用できますが、既定の 5432 のままにすることをお勧めします。

パラメーターの更新

Tableau Server の観点では、インスタンスのほとんどのパラメーター値はデフォルトに設定できます。特別なパフォーマンスやログ記録の要件がある場合はパラメーター値を変更できますが、次のパラメーターはデフォルト値のままにして、変更しないことを強くお勧めします。

  • standard_conforming_strings

  • escape_string_warning

また、パフォーマンスの問題を回避するために、work_mem の値は少なくとも 16384 に設定することをお勧めします。

リモート接続の構成

構成ファイルを更新するには、以下のステップを行います。

  1. postgresql.conf は、既定でローカル接続のみをリッスンするように構成されています。postgresql.conf ファイルの接続と認証のセクションを次のように変更して、リモート接続を有効にします。

    次の行を追加して、リモート接続を許可します。

    listen_addresses = '*'

  2. PostgreSQL インスタンスを再起動します。

SSL の構成

Tableau Server と外部リポジトリ間の安全な接続は、必須ではありませんが、推奨されています。

Tableau Server と外部リポジトリ間の暗号化された接続を構成するには、以下に説明するガイダンスとステップの詳細に従ってください。

Tableau Server でスタンドアロンの PostgreSQL データベース インスタンスを使用する場合、Tableau Server への接続を確認するために、信頼されたルート認証局 (CA) が必要です。理想的には、スタンドアロン PostgreSQL インスタンスのサーバー証明書で解決可能なホスト名を指定して、Tableau Server が sslmode、verify-full を使用できるようにする必要があります。このモードは、PostgreSQL サーバーの証明書が信頼できる CA によって署名されていること、PostgresSQL サーバーの証明書のホスト名が PostgreSQL インスタンスへの接続に使用されるホスト名と一致することを確認します。ただし、それが不可能な場合は、sslmode、verify-ca は、Postgres サーバーの証明書が信頼できる CA によって署名されていることを確認するだけになります。

次の手順は、PostgreSQL サーバーでルート CA 証明書を生成するための一般的なステップを示しています。詳細については、PostgreSQL Web サイトの「SSL ドキュメント」を参照してください (リンクはバージョン 12 を指しています)。

  1. 署名ルート認証局 (CA) キーを生成します。

  2. ルート CA 証明書を作成します。
  3. PostgreSQL サーバーの証明書と関連キー (たとえば、server.csrserver.key) を作成します。証明書のサブジェクト名は、PostgreSQL サーバーの DNS 名と一致する必要があります。サブジェクト名は、"/CN=<private DNS name>" 形式の -subj オプションで設定します。

  4. ステップ 2 で作成した CA 証明書を使用して新しい証明書に署名します。
  5. crt ファイルと key ファイルをデータ ディレクトリ (/pgsql/<version>/data) にコピーします。

  6. pg_hba.conf ファイルは、データベースへの接続を制御します。次の行を追加して、リモート接続を可能にします。例:

    host all all 10.0.0.0/8 md5

  7. SSL を有効にするには、postgresql.conf ファイルを次のように更新します。

    ssl = on

    接続を SSL に限定するには、host の代わりに hostssl を使用します。

高可用性とディザスター リカバリ

Tableau Server では、外部リポジトリの高可用性の管理やセットアップは行われません。これらの目的のために、PostgreSQL データベースでは、レプリケーションやログ配布などのソリューションをサポートしています。詳細については、PostgreSQL Web サイトの「高可用性のドキュメント」を参照してください。

災害が発生した場合に、新しい PostgreSQL インスタンスをセットアップする必要がある場合は、次の手順に従って、新しいインスタンスを使用する Tableau Server を構成してください。

  1. JSON 設定ファイルを新規作成する。新しい RDS インスタンスの接続情報が含まれています。JSON 設定ファイルの作成に関する詳細については、「PostgreSQL 外部リポジトリでの Tableau Server のインストール」のステップ 1 を参照してください。

  2. tsm topology external-services repository replace-hostコマンドを使用して、Tableau Server を新しい PostgreSQL インスタンスに 指定します。

    tsm topology external-services repository replace-host コマンドの詳細については、tsm topologyを参照してください。

実行可能なユーザー

Tableau Server を、外部リポジトリを使用するように構成できるのは、Tableau Server 管理者のみです。AWS EC2 または Azure VM を使用してスタンドアロンの外部リポジトリをセットアップしている場合は、これらのプラットフォームにアクセスするためのアカウントが必要です。

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