AWS Relational Database Service (RDS) での PostgreSQL DB インスタンスの作成
バージョン 2019.3 以降では、AWS クラウド プラットフォームで外部リポジトリをホストできます。このトピックでは、Tableau Server 外部リポジトリとして使用する AWSRDSPostgreSQL DB インスタンスを作成する方法について説明します。
外部リポジトリで使用できるホストの完全なリストについては、Tableau Server 外部リポジトリを参照してください。
要件と推奨事項
少なくとも 8 個の vCPU と 32GB の RAM を備えたインスタンスを使用してください。これは、Tableau Server 外部リポジトリに使用する AWS RDS インスタンスの推奨最小サイズですが、正確な要件は実際の要件や使用方法によって異なります。パフォーマンスを向上させるには、16 個の vCPU と 128GB の RAM を備えた、Amazon RDS メモリに最適化されたインスタンス タイプを使用することをお勧めします。
小さなインスタンス タイプから始めて、後で大きなインスタンス タイプが必要になった場合に既存の RDS インスタンスをアップグレードできます。詳細については、RDS インスタンスのアップグレードを参照してください。
Tableau Server と外部 PostgreSQL DB インスタンス間の SSL 接続を使用した安全な通信は、必須ではありませんが、推奨されています。
PostgreSQL DB インスタンスを Tableau Server クラスタ内のすべてのノードから到達可能にする必要があります。これを行う方法のひとつは、PostgreSQL DB インスタンスを Tableau Server クラスタ内のすべてのノードからアクセスするために必要なパーミッションを持つセキュリティ グループのメンバーにすることです。
PostgreSQL のバージョンは、Tableau Server をローカルにインストールするときに使用するバージョンと一致する必要があります。Tableau Server 2020.4 は、PostgreSQL バージョン 12 を使用します。
Tableau は、内部のデータベース ユーザーが内部で使用するためのパスワードを自動生成します。このパスワードは長さが 32 文字で、小文字と数字で構成されています。管理者がアクセスしたり、設定したりすることはできません。外部の PostgreSQL インスタンスでは、パスワード ポリシーを設定できる場合があります (使用しているプラットフォームによって異なります)。数字と小文字以外の文字タイプを含むポリシーを指定すると、Tableau Server が外部リポジトリを使用するように設定したときにエラーが発生する可能性があります。
Amazon RDS で PostgreSQL DB インスタンスを作成する
ステップ 1: パラメーター グループを作成する
postgresql.conf ファイル内でローカル PostgreSQL インスタンス用に設定した PostgreSQL パラメーターは、DB インスタンス用の DB パラメーター グループ内で保持されます。DB インスタンスを作成する際は、関連付けられた DB パラメーター グループ内のパラメーターが読み込まれます。
Tableau Server の観点では、ほとんどのパラメーターはデフォルトに設定できます。特別なパフォーマンスやログ取得の要件がある場合はパラメーター値を変更できますが、次のパラメーターはデフォルト値のままにして、変更しないことを強くお勧めします。
standard_conforming_strings
escape_string_warning
また、パフォーマンスの問題を回避するために、work_mem
の値は少なくとも 16384 に設定することをお勧めします。
PostgreSQL パラメーターの詳細と完全なリストについては、AWS サイトで「PostgreSQL パラメーターの使用」(新しいウィンドウでリンクが開く)を参照してください。
ステップ 2: Amazon RDS で PostgreSQL インスタンスを作成する
新しい PostgreSQL DB インスタンスを作成するには、この Amazon ドキュメント サイト(新しいウィンドウでリンクが開く)に記載されている手順に従ってください。
以下に、新しい PostgreSQL DB インスタンス用の構成オプションと推奨値を示します。
インスタンスの仕様
- ステップ 1 で作成したパラメーター グループを使用します。
- 使用している Tableau Server バージョンと互換性のある PostgreSQL バージョンを使用します。Tableau Server バージョンと互換性のある PostgreSQL バージョンの完全なリストについては、製品の互換性を参照してください。
- db.m4.2xlarge かこれより大きい DB インスタンス クラスを使用します。
- 少なくとも 100 GB のストレージを割り当てます。
- ストレージのタイプとプロビジョニングされた IOPS: 既定値のままにします (負荷テストに応じて推奨値が変化する可能性があります)。
設定
マスター ユーザー名として rails を使用する必要があります。
これは外部リポジトリが Tableau Server とともに正しく動作するための要件です。
AWS の要件を満たすパスワードを選択します。
ネットワークとセキュリティ
すべての Tableau Server ノードから RDS インスタンスに到達できることを確認します。通常、ノードからのアクセスを許可するセキュリティ グループを作成する必要があります。
データベースに関するオプション
初期データベースは作成しません。RDS インスタンスで必要なデータベースは Tableau Server によって作成されるため、データベース名は空白のままにしておく必要があります。
ポートは任意のものを使用できますが、既定の 5432 のままにすることをお勧めします。
DB パラメーターグループをステップ 1 で作成したものに設定します。
IAM DB 認証は無効のままにしておきます。
暗号化
暗号化を行うかどうかを選択できます。
バックアップ
これは Tableau Server のバックアップではなく AWS の自動バックアップに関する設定です。要件を満たす設定を指定できます。
監視
要件に基づく設定を指定できます。
ログのエクスポート
要件に基づく設定を指定できます。
メンテナンス
マイナー バージョン自動アップグレードを無効にします。Tableau Server は特定のバージョンの PostgreSQL を使用するように構築されており、Tableau Server アップグレードの際は必要に応じて PostgreSQL バージョンをアップグレードするように求められます。
保護の削除
要件に基づく設定を指定できます。
ステップ 3: PostgresSQL DB インスタンスのエンドポイントを取得する
作成した PostgreSQL データベース インスタンスは、AWS による初期化が完了するまで使用できません (数分間かかる可能性があります)。インスタンスの準備が完了したら、このインスタンスを Tableau Server リポジトリ用に使用するように Tableau Server を構成するためのエンドポイント情報を取得します。
ステップ 4: SSL 証明書ファイル (.pem ファイル) をダウンロードする
Tableau Server と外部リポジトリ間の SSL を使用した安全な接続は、必須ではありませんが、推奨されています。
Tableau Server と外部リポジトリ間で安全な接続を設定する場合は、外部 DB インスタンスを Tableau Server リポジトリ用に使用するように Tableau Server を構成する際に、.pem ファイルが必要です。詳細については、「PostgreSQL DB インスタンスで SSL を使用する」(新しいウィンドウでリンクが開く)を参照してください。
Tableau Server と外部リポジトリ間で安全な接続を使用する必要がない場合は、暗号化されていない接続を許可するように RDS インスタンスを構成する必要があります。
重要: RDS インスタンスの SSL 証明書で計画された有効期限の一環として、RDS インスタンスを新しい証明書ファイルで更新する必要があります。また、新しい証明書ファイルを使用するように Tableau Server の設定も更新する必要があります。これを行うには、最新のファイルをダウンロードした後、tsm topology external-services repository replace-host コマンドを実行して新しい証明書ファイルを指定します。
PostgreSQL DB の高可用性の構成
Tableau Server では、外部リポジトリの高可用性の管理やセットアップは行われません。Amazon RDS では、高可用性を提供したりフェールオーバーを管理したりするために使用できる高可用性機能が提供されています。詳細については、「Amazon RDS での高可用性」(新しいウィンドウでリンクが開く)を参照してください。
PostgreSQL DB の災害復旧
災害が発生すると、新しい RDS インスタンスの設定が必要になる場合があります。RDS インスタンスの問題を復旧する必要がある場合には、別のシナリオがあります。たとえば、Tableau Server をアップグレードする場合、お使いの RDS インスタンスで PostgreSQL バージョンもアップグレードする必要があります。PostgreSQL アップグレードが正常に実行されなかった場合は、新しい RDS インスタンスを使用する必要があります。このようなシナリオで新しい RDS インスタンスを使用するように Tableau Server を構成するには、次の手順を使用します。
新しい RDS インスタンスにスナップショットを復元する。AWS では、既存の RDS インスタンスへのスナップショットの復元に対応していません。RDS スナップショットのバックアップと復元に関する詳細については、「Amazon RDS のバックアップと復元」を参照してください。
JSON 設定ファイルを新規作成する。新しい RDS インスタンスの接続情報が含まれています。JSON 設定ファイルの作成に関する詳細については、「PostgreSQL 外部リポジトリでの Tableau Server のインストール」のステップ 1 を参照してください。
tsm topology external-services repository replace-host
コマンドを使用して、新しい RDS インスタンスに Tableau Server を指定します。tsm topology external-services repository replace-host
コマンドの詳細については、tsm topologyを参照してください。
実行可能なユーザー
Tableau Server を、外部リポジトリを使用するように構成できるのは、Tableau Server 管理者のみです。RDS インスタンスを作成するには、AWS アカウントも必要です。
次のステップ
新規インストールの場合: PostgreSQL 外部リポジトリでの Tableau Server のインストール
外部リポジトリを使用するように既存の Tableau Server を構成する場合は、「Tableau Server リポジトリの再構成」を参照してください。