Tableau Server を AWS に分散環境で自己展開

これはアーカイブされたコンテンツです

パブリック クラウドへの展開は引き続きサポートされますが、サードパーティーのパブリック クラウドへの展開に関するコンテンツは更新されなくなります。

Tableau Server の展開の最新コンテンツについては、「Tableau Server 導入ガイド(新しいウィンドウでリンクが開く)」および Tableau Server ヘルプの「」「展開(新しいウィンドウでリンクが開く)」セクションを参照してください。

アクセスが可能な場合は、Tableau Cloud を使用することをお勧めします。詳細については、以下を参照してください。

概要

Tableau Server は、クラスタとも呼ばれる分散環境にある 2 台の仮想マシン (VM) で実行できます。ただし、可用性の高い (HA) 分散環境で Tableau Server を実行する場合、同じ種類および能力の Amazon EC2 インスタンスを Amazon Virtual Private Cloud (VPC) に 3 つ以上ローンチし、それらを追加のノードとして構成する必要があります。

以下は、3 つの Amazon EC2 インスタンスがあり、それぞれのインスタンスに Tableau Server がインストールされていると仮定したケースです。1 つのインスタンスは最初のノードとして、他の 2 つのインスタンスは追加のノードとして構成されています。

次の各ステップで、3 つの Amazon EC2 インスタンスから成るクラスタに Tableau Server をインストール、展開し、高可用性を保ちつつスケーラブルな構成を実現する方法をご紹介します。

ステップ 1: Virtual Private Cloud (VPC) を作成する

以下の図のように、次の各ステップは複数のアベイラビリティーゾーン内にサブネットを 6 つ (3 つはパブリック、3 つはプライベート) 以上持つ Amazon VPC があると過程しています。IP アドレスの設定時に静的 IP アドレスを使用していることを確認してください。パブリック サブネットおよびプライベート サブネットを持つ VPC を作成する詳細な方法については、AWS ウェブサイトにある「Amazon Virtual Private Cloud ユーザーガイド」の「シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC」(新しいウィンドウでリンクが開く) を参照してください。

Remote Desktop ゲートウェイとして使用するために、3 つのサブネットに EC2 インスタンスを一つずつローンチします。

Windows インスタンスをローンチして接続する詳細な方法については、AWS のウェブサイトにある「Windows インスタンス用 Amazon EC2 ユーザーガイド」の「Amazon EC2 Windows インスタンスの開始方法」(新しいウィンドウでリンクが開く) を参照してください。

(任意) ステップ 2: VPC 用に AWS Directory Service を作成する

AWS のウェブサイトにある「AWS Directory Service 管理ガイド」「Simple AD ディレクトリを作成する」(新しいウィンドウでリンクが開く)に記載されている手順に従い、フルマネージド型の Samba ベースのディレクトリを AWS 内に作成します。Microsoft AD のディレクトリを作成する際、AWS Directory Service は 2 つのディレクトリ サーバーと DNS サーバーを作成します。ディレクトリ サーバーは Amazon VPC 内の別々のサブネットに作成されるため、冗長性が保たれ、障害発生時でもディレクトリにアクセスできる状態が維持されます。

Amazon VPC 内で利用できる 2 つのプライベート サブネットを使用して Microsoft AD を作成し、複数のアベイラビリティーゾーン全体で Tableau Server を実行できるようにします。

ステップ 3: Amazon EC2 インスタンスを 3 つ展開する

以下の図のように、3 つのAmazon EC2 インスタンスを 3 つのアベイラビリティーゾーンすべてに展開します。Tableau Server は初期サーバーとしての最初のノードにインストールし、Tableau Server は追加サーバーとしての残りの 2 つのノードにインストールします。すべてのインスタンスの種類および能力が同じでなければなりません。

これらの Amazon EC2 インスタンス は、AWS のウェブサイトにある「Windows インスタンス用ユーザーガイド」の「Windows インスタンスの AWS Directory Service ドメインへの結合」(新しいウィンドウでリンクが開く)に記載されている指示に従って、あるいはコンソールを使ってステップ 2 で作成された Simple AD ドメインに自動的に結合することができます。

EC2 インスタンスをローンチした後、ローカル管理者アカウント用に復号化した認証情報を使って、それらを Remote Desktop Gateway (RDGW) インスタンスのいずれかに接続します。

ステップ 4: Tableau Server をインストールして設定する

Tableau Server を AWS に分散環境で自己展開でローンチした Amazon EC2 インスタンスに Tableau Server をインストールし、1 つのインスタンスを初期サーバー、残りのインスタンスを追加サーバーとして構成することになります。初期サーバーおよび追加サーバー上に Tableau Server をインストールして構成する詳細な方法については、「追加のノードに Tableau Server をインストールする」を参照してください。

注:アマゾン ウェブ サービス (AWS) にノードを追加する場合は、Windows hosts ファイルを編集して、追加する各ノードのエントリを追加する必要がある場合があります。これは、DNS がエラスティック コンピューティング クラウド (EC2) インスタンス名を解決できないためです。

Windows ホスト ファイルを編集するには、次の手順を実行します。

  1. 管理者としてメモ帳を実行します。

  2. C:\Windows\system32\drivers\etc\hosts ファイルを開きます。

  3. 各ノードの hosts ファイルにエントリを追加します。各エントリには、ノードの IP アドレスとそれに続くドメイン名を含める必要があります。

  4. ファイルを保存します。

ステップ 5: Tableau Server クラスタで使用するロード バランサーを作成する

AWS のウェブサイトにある「Elastic Load Balancing ユーザーガイド」の「Elastic Load Balancing の使用開始」(新しいウィンドウでリンクが開く)にまとめられている各ステップに従い、VPC 内にロード バランサーを一つローンチします。

  1. パブリックな場所からロード バランサーにアクセスできるようにする場合は、「ステップ 1: ロード バランサーの種類を選択する」(新しいウィンドウでリンクが開く)のところでパブリック サブネットを 2 つ選択します。そうしない場合は [内部ロード バランサーを作成する] チェックボックスを有効にして、プライベート サブネットを 2 つ選択します。

    パブリックな場所にあるエンドポイントがロード バランサーを利用できるように設定した場合は、AWS のウェブサイトにある「Elastic Load Balancing クラシックロードバランサー」の「HTTPS リスナーを使用した Classic Load Balancer の作成」(新しいウィンドウでリンクが開く)に説明されている通り、Elastic Load Balancing で必ず SSL を使用するように設定してください。

  2. AWS のウェブサイトにある「Elastic Load Balancing ユーザーガイド」の「ステップ 2: ロード バランサーおよびリスナーを構成する」(新しいウィンドウでリンクが開く)の手順に従う際、必ず参照元を Tableau Server にアクセスするホストあるいはホストのグループに制限した状態で、セキュリティ グループがポート 80 あるいは 443 経由の接続のみを許可するように設定してください。

  3. 「ステップ 4: 対象のグループを構成する」(新しいウィンドウでリンクが開く)では、「/」で ping のパスを指定できます。

  4. 「ステップ5: 対象のグループにターゲットを登録する」(新しいウィンドウでリンクが開く)では Tableau Server インスタンスを選択し、必ず [CrossZone Load Balancing を有効化する] を選択して、ロード バランサーが複数のアベイラビリティーゾーンに属する各インスタンス全体で負荷を分散できるようにします。

  5. Tableau Server を更新し、ロード バランサーを使用するようにします。詳細については、Tableau Server ヘルプの「ロード バランサーの追加」を参照してください。

あるいは、次の各ステップを実行して Tableau Server がロード バランサーと共に機能するように設定することもできます。

  1. 32 IP アドレスの場合、ロード バランサー用にビットマスクが /27 である CIDR ブロックを持つサブネットを作成します。

    注: Elastic Load Balancing が提供する IP アドレスは動的なものですが、Tableau Server の構成には静的 IP アドレスのリストが必要になります。これを機能させるために、CIDR 範囲ができる限り小さいサブネットを作成し、ロード バランサーが持つ IP アドレスが一定の値に限定されるようにします。

    次の各ステップでは、Tableau Server にデフォルトでインストールされている tsm コマンドライン インターフェイスを使用していきます。tsm を使えば、Tableau Server 上のコマンドラインから管理タスクを実行できます。概要については、Tableau Server ヘルプの「tsm コマンド ライン リファレンス」を参照してください。

  2. Tableau Server の bin ディレクトリにて、次のコマンドを入力します (「name」の部分は、ロード バランサー経由で Tableau Server にアクセスする際に使う URL)。

    tsm configuration set gateway.public.host "name"

  3. 次のコマンドを入力します (「server1」、「server2」等は、Elastic Load Balancing を行うサブネットに与えられた CIDR 範囲に含まれる IP アドレス)。

    tsm configuration set gateway.trusted "server1,server2,..,server30"

  4. 変更を適用します。

    tsm apply-pending-changes

    保留中の変更にサーバーの再起動が必要な場合は、pending-changes apply コマンドの実行時に、再起動が行われることを知らせるメッセージが表示されます。このメッセージはサーバーが停止していても表示されますが、その場合には再起動は行われません。--ignore-prompt オプションを使用してメッセージが表示されないようにできますが、そのようにしても再起動に関する動作が変わることはありません。変更に再起動が必要ない場合は、メッセージなしで変更が適用されます。詳細については、tsm pending-changes applyを参照してください。

  5. サーバーを起動して変更を有効にします。

    tsm start

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