セルフホスト型インスタンスのデータベース接続のテスト

新しい環境のトラブルシューティングを行う際には、多くの場合に、動作しているさまざまなコンポーネントを隔離し、可能な限りシンプルに隔離状態でテストすることをおすすめします。

お客様がホストする Looker インスタンスの場合、Looker サーバーで Telnet を使用して TCP 接続を作成することで、Looker サーバーとデータベース間の接続をテストできます。Telnet を使用する利点は、変更する構成ファイルがなく、認証が不要なことです。Telnet が接続を行う場合と、行わない場合があります。

データベースにアクセスできることがわかったら、データベースの組み込みクライアントや Looker などのアプリケーションを使用してテストに進むことができます。

Telnet のインストール

一部のホストには Telnet がプリインストールされている場合があります。これをテストするには、Looker サーバーで次のコマンドを実行します。

telnet ?

次のように表示されます。

usage: telnet [-l user] [-a] [-s src_addr] host-name [port]

「コマンドが見つかりません」というエラーが表示された場合は、Telnet をインストールする必要があります。

Ubuntu の場合:

sudo apt-get install telnet

Redhat / CentOS の場合:

yum install telnet

デフォルト ポート

データベースがどのポートで実行されているかを知っておく必要があります。次の表に、いくつかのプラットフォームのデフォルト ポートを示します。ただし、データベースが異なるポートで実行するように構成されている場合もあります。データベース管理者に問い合わせてください。

プラットフォーム ポート
Amazon Redshift 5439
GreenPlum 5432
Microsoft SQL Server (MSSQL) 1433
MySQL 3306
Oracle 1521
PostgreSQL 5432
Vertica 5433

Telnet でのデータベースへの接続

データベースへの接続をテストするには、Looker サーバーで telnet hostname port を実行します。たとえば、デフォルトのポートで MySQL を実行していて、データベース名が mydb の場合、コマンドは telnet mydb 3306 になります。

接続が機能している場合は、次のような出力が表示されます。

Trying 10.10.10.10...
Connected to mydb.
Escape character is '^]'.

接続が機能しない場合は、次のいずれかのように表示されます。

Trying 10.10.10.10...
telnet: Unable to connect to remote host: Connection timed out
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
telnet: could not resolve mydb/telnet: Name or service not known

Looker サーバーからデータベース サーバーのポートに Telnet で接続できる場合は、基本的な接続の問題を除外できます。

その他のトラブルシューティングのヒント

Telnet チェックが成功しなかった場合は、次のことを検討してください。

  • ホスト名は正しいですか?
  • データベースと Looker サーバーがネットワーク トラフィックを許可するように構成されていますか?両方のホストにインストールされているファイアウォール ソフトウェアを確認します。
  • Looker サーバーとデータベース ホストの間のすべてのネットワークが、ネットワーク トラフィックを許可するように構成されていますか?ファイアウォールとネットワーク アクセス制御リスト(ACL)を確認します。
  • Looker サーバーとデータベース ホストの間のすべてのネットワークが、ホスト間でトラフィックを転送するように正しく構成されていますか?
  • データベース サーバーが稼働しており、正しいポートをリッスンし、さらにLooker サーバーからの接続を許可するように構成されていますか?

それでも問題が解決しない場合は、Looker サポートにお問い合わせください。