[接続] ページにアクセスするには、[管理者] メニューを開き、[データベース] で [接続] を選択します。
接続の表示
[接続] ページでは、データベース接続とネットワーク トラフィックの許可に必要な IP アドレスを確認できます。インスタンスで新しいデータベースを作成する機能が有効になっている場合は、新しい接続を追加することもできます。
[データベース] タブ
[データベース] タブには、定義したデータベース接続に関する基本情報が表示されます。また、インスタンスで新しいデータベースを作成する機能が有効になっている場合は、作成した Looker 管理の接続も表示されます。[データベース] タブで、これらの接続のステータスをテストして構成を編集することもできます。
[パブリック IP アドレス] をクリックすると、Looker インスタンスからのネットワーク トラフィックを許可するために必要な IP アドレスのリストを表示できます。Looker からのすべてのネットワークトラフィックは、ご使用の Looker インスタンスがホストされるリージョンに基づいて、一覧表示された IP アドレスの1つから発信されます。これらの IP アドレスと他の信頼できる IP アドレス以外からのデータベースへのトラフィックを禁止することで、データアクセスを制限できます。
管理者ロールがある場合は、Looker の [接続] ページの上部にある [到達可能性をテスト] ボタンをクリックして、Looker がネットワーク経由でホスト名とポートに到達できるかどうかを確認できます。詳細については、Network Reachability の診断をご覧ください。
次の表に、[データベース] タブの要素を示します。
| 列 | 説明 |
|---|---|
| 名前 | connection LookML パラメータで使用される、ユーザーが選択した接続の名前。接続をテストすると、Looker は接続名の下にステータス チェックのリストを表示します。 |
| データベース | この接続を使用するときに Looker がクエリを実行するデータベースの名前。 |
| スコープ | 接続をすべてのプロジェクトで使用できるか、1 つの特定のプロジェクトのみで使用できるか。 |
| SSH サーバー | データベースへの SSH トンネルの作成に使用される SSH サーバー構成の名前。この列は、Looker インスタンスで [SSH サーバー] タブが有効になっている場合にのみ表示されます。 |
| SSL | Looker とデータベース間で転送されるデータを保護するために SSL 暗号化を使用しているかどうか(SSL 以外にも安全なオプションがあります)。 |
| タイプ | データベース接続の SQL 言語。 |
| アクション | 接続に対して実行できる操作: 接続のテスト、接続の編集、接続に関するその他の情報の表示、接続の Explore へのリンクのリストへの移動、または接続の削除。インスタンスで新しいデータベースを作成する機能が有効になっている場合は、Looker が管理する接続に追加のデータソースからデータを追加することもできます。 |
[SSH サーバー] タブ
[SSH サーバー] タブは、Looker(Google Cloud コア)インスタンスでは使用できません。
[SSH Server] オプションは、Looker(オリジナル)インスタンスが Kubernetes インフラストラクチャにデプロイされており、Looker インスタンスに SSH サーバー設定情報を追加する機能が有効になっている場合に限り利用できます。このオプションが Looker インスタンスで有効になっておらず、有効にしたい場合は、 Google Cloud セールス スペシャリストにお問い合わせいただくか、サポート リクエストを開いてください。
Looker では、SSH トンネルを作成する際、localhost ポートが自動的に選択されます。localhost ポートは指定できません。
PrestoDB または Trino データベースへの SSH 接続では、追加のデータベース構成が必要になる場合があります。SSL が有効になっている場合、PrestoDB または Trino データベースはデフォルトでポート 443 をリッスンします。SSH トンネルを確立するには、Looker で localhost ポートを 443 に設定する必要があります。このポートは Looker で既に使用されています。これにより SSH トンネルの設定が失敗します。この問題を解決するには、SSL が有効になっているときにポート 443 以外のポートをリッスンするように PrestoDB または Trino データベースを構成します。
[SSH サーバー] タブには、追加した SSH サーバー構成のリスト、SSH サーバーへの接続ステータス、各 SSH サーバーを使用したデータベース接続が一覧表示されます。[SSH サーバー] タブから、SSH サーバーへの接続をテストし、SSH サーバー構成を追加または編集します。
次の表に、[SSH サーバー] タブの要素を示します。
| 列 | 説明 |
|---|---|
| サーバー名 | データベースへの接続に使用される、選択した SSH サーバー構成の名前。 |
| 接続 | SSH サーバーに接続するデータベース接続のリスト。データベース接続をクリックすると、そのデータベース接続の [接続を編集] ページが開きます。 |
| その他の [オプション] メニュー | SSH サーバー構成に対して実行できる操作: SSH サーバーへの接続のテスト、SSH サーバーへのデータベース接続の追加、SSH サーバー構成の編集、または SSH サーバー構成の削除。 |
SSH サーバー構成の追加または編集
新しい SSH サーバー構成を追加するには:
- [SSH サーバー] タブで、[サーバーを追加] をクリックします。
- 右上の [名前のないサーバー] フィールドに、SSH サーバー構成の名前を入力します。
- [鍵をダウンロード] をクリックして、公開鍵をテキスト ファイルにダウンロードします。このファイルは後で使用するため、必ず保存してください。
- [サーバーのユーザー名] に、Looker が SSH サーバーに接続する際に使用するユーザー名を入力します。
- [サーバーの IP アドレスまたはホスト名] フィールドに、SSH サーバーの IP アドレスまたはホスト名を入力します。
- [サーバー ポート] フィールドに、SSH サーバーへの接続に使用するポート番号を入力します。
- ダウンロードした公開鍵を SSH サーバー上の承認済み鍵ファイルに追加します。詳細と例については、SSH サーバーの使用のドキュメント ページをご覧ください。
- Looker が SSH サーバーに接続できるように、適切な Looker IP アドレスが SSH サーバーの許可リストに追加されていることを確認します。
- [テストとフィンガープリントのリクエスト] をクリックして、SSH サーバーへの接続を確認します。
- 新しい SSH 構成を表示します。この画面では、公開鍵のダウンロードまたは表示、SSH サーバー構成の一意のフィンガープリントの表示もできます。
既存の SSH サーバー構成を編集するには、選択中の SSH サーバーの行にある [オプション] メニュー(3 つの点のアイコン)をクリックして、[サーバーの詳細] を選択します。
SSH サーバーへの接続のテスト
SSH サーバーへのすべてのデータベース接続をテストするには:
- 選択した SSH サーバーの行にある [オプション] メニュー(3 つの点のアイコン)をクリックします。
- [接続をテスト] を選択します。
Looker は、その SSH サーバーを使用してすべてのデータベース接続をテストし、サーバー名と接続テストに合格したすべての接続の横に緑色のチェックマークを表示します。赤色の感嘆符アイコンは、接続がテストに失敗したことを示します。
SSH サーバーへのデータベース接続の追加
SSH サーバーを使用して新しいデータベース接続を追加するには:
- 選択した SSH サーバーの行にある [オプション] メニュー(3 つの点のアイコン)をクリックします。
- [接続を追加] を選択します。
Looker では [接続設定] ページが表示され、SSH サーバーが [SSH サーバー] フィールドに一覧表示されます。
SSH サーバー構成の削除
SSH サーバー構成を削除するには:
- 削除する SSH サーバーの行にある [オプション] メニュー(3 つの点のアイコン)をクリックします。
- [サーバーを削除] を選択します。
接続のテスト
Looker では、既存の接続をテストして、正常に機能していることを確認できます。Looker をデータベースに接続するのドキュメント ページで説明されているように、接続を追加するときに接続をテストすることもできます。
各接続テストには、Looker がデータベース接続を正常に使用できるかどうかを示すステータス チェックのリストが含まれています。
潜在的な問題は黄色で表示され、エラーは赤色で表示されます。接続が「合格」すると、緑色で表示されます。
次のステータスを確認できます。
- 接続の右側にある [テスト] をクリックして 1 つの接続を表示
- ページの上部にある [すべての接続をテスト] ボタンをクリックしてすべての接続を表示
よくある誤解の原因は次の 2 つのチェックです。
- 一時スキーマを見つけることができる
- 永続的な派生テーブルを使用できる
Looker が機能するために、これらのチェックに合格する必要はありません。ただし、永続的な派生テーブルを使用するためには、これらは合格している必要があり、このテーブルは非常に価値のあるモデリング機能です。
ネットワーク診断
Looker には、接続の問題がネットワーク(ファイアウォール ルールやルートの欠落など)によるものか、データベース(認証情報の誤りなど)によるものかを特定するのに役立つ 2 つのツールが用意されています。
- 接続テスト結果のネットワーク診断: 接続テストでデータベースに接続できない場合、Looker はエラー メッセージにネットワーク診断を追加します。
- Network Reachability 診断: Looker の管理者ロールがある場合は、Looker の [接続] ページの上部にある [到達可能性をテスト] ボタンを使用して、Looker がホスト名とポートに到達できるかどうかを確認できます。
どちらのツールも、DNS でホスト名を検索し、検索で返された各 IP アドレスへの TCP 接続を開こうとします。ICMP ping リクエストではなく TCP 接続を使用するため、ping リクエストをブロックするホストでも、到達可能として表示されることがあります。
接続テスト結果のネットワーク診断
接続テストでデータベースに接続できない場合、Looker は次のエンドポイントをテストし、結果をエラー メッセージの末尾(Network Diagnostics: の下)に追加します。
- すべての接続について、接続用に構成されたホストとポート。
- Amazon Athena 接続の場合、接続の AWS リージョンの AWS Glue エンドポイント(ポート 443)。例:
glue.us-east-1.amazonaws.com。 - [ホスト] フィールドにインスタンス接続名(
my-project:us-central1:my-instanceなど)が含まれている Cloud SQL 接続の場合、ポート 443 のsqladmin.googleapis.comエンドポイント。Cloud SQL コネクタは、このエンドポイントを使用してインスタンス情報と証明書を取得します。
Looker は、エンドポイントごとに最大 3 つの IP アドレスをテストします。診断には最大 3 秒かかります。Looker は、SSH トンネルを使用する接続に対してネットワーク診断を実行しません。
たとえば、次の診断では、Looker が Athena エンドポイントに到達できるものの、AWS Glue エンドポイントへの接続がタイムアウトすることを示しています。
Network Diagnostics:
- athena.eu-central-1.amazonaws.com (Port: 443):
- 203.0.113.10 - success
- glue.eu-central-1.amazonaws.com (Port: 443):
- 203.0.113.20 - timeout (3000ms)
- 203.0.113.21 - timeout (3000ms)
各 IP アドレスには、次のいずれかの結果が表示されます。
success: Looker が IP アドレスとポートへの TCP 接続を開きました。すべての IP アドレスにsuccessが表示されていてもテストが失敗する場合は、認証情報、SSL 設定、データベース ユーザー権限などの接続設定を確認します。timeout (3000ms): Looker が 3 秒以内にレスポンスを受信しませんでした。この結果は、ファイアウォール ルール、セキュリティ グループ、またはネットワーク ルートの欠落によってトラフィックがドロップされていることを意味します。failed:の後に理由(接続が拒否された、またはネットワークにアクセスできなかった)が続きます。たとえば、Connection refusedは、ポートでリッスンしているものがないか、ファイアウォールが接続を拒否したことを意味します。blocked (sensitive IP): IP アドレスが制限範囲内にあるため、Looker は IP アドレスをテストしませんでした。
DNS ルックアップが失敗すると、エンドポイントに DNS resolution failed: とその理由が表示されます。ホスト名に入力ミスがないか確認します。データベースでプライベート ホスト名を使用している場合は、Looker がそれを解決できることを確認します。
Network Reachability の診断
Looker の管理者ロールがある場合は、接続を追加する前にデータベース ホストをテストするか、接続が依存するエンドポイント(ポート 443 の sqladmin.googleapis.com など)をテストできます。
Network Reachability をテストする手順は次のとおりです。
- [接続] ページで、ページ上部にある [Test Reachability] ボタンをクリックします。
- [Network Reachability Diagnostics] ダイアログの [ホスト名またはドメイン] フィールドに、ホスト名または IP アドレスを入力します。
- [ポート] フィールドに、テストするポートを入力します。デフォルトは
443です。 - [Test] をクリックします。
Looker はホスト名に対して最大 5 つの IP アドレスをテストします。テストにかかる時間は最大 3 秒です。ホスト名とポートのテスト結果を示す Network Reachability 診断ダイアログの例を次に示します。
![ホスト名とポートのテスト結果を示す [Network Reachability 診断] ダイアログ。](https://docs.cloud.google.cn/static/looker/docs/images/admin-connections-test-reachability-2620.png?hl=ja)
各 IP アドレスについて、ダイアログにはメッセージ、接続が成功した場合は接続にかかった時間(ミリ秒)、次のいずれかのステータスが表示されます。
- 接続済み: Looker が IP アドレスとポートへの TCP 接続を開きました。
- タイムアウト: Looker が 3 秒以内にレスポンスを受け取らなかった。
- 失敗: 接続が拒否されたか、ネットワークにアクセスできませんでした。メッセージに理由が表示されます。
- SSRF がブロックされました: IP アドレスが制限範囲内にあるため、Looker は IP アドレスをテストしませんでした。これらの制限により、サーバーサイド リクエスト フォージェリ(SSRF)から保護されます。
Looker がホスト名を解決できない場合、またはポートが制限されている場合、ダイアログには結果ではなくエラー メッセージが表示されます。
制限付きアドレスとポート
インスタンスを保護するため、Looker ネットワーク診断では次の範囲の IP アドレスはテストされません。
- ループバック、リンクローカル、マルチキャスト、その他の制限付きアドレス範囲(メタデータ サーバーのアドレス
169.254.169.254を含む)。 - パブリック セキュア接続のみを使用する Looker(Google Cloud コア)インスタンスのプライベート アドレス範囲(
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)。
また、到達可能性をテスト機能では、セキュリティ上の理由で制限されているポート(ポート 22 など)はテストされません。これらのポートのいずれかを入力すると、ダイアログに Port 22 is restricted from diagnostic probing for security reasons などのメッセージが表示されます。
接続の追加
新しいデータベース接続を追加するには、Looker をデータベースに接続するのドキュメント ページに記載されている手順に沿って操作します。
接続の編集
既存の接続を編集するには、[管理] メニューを選択して [接続] ページを開き、[データベース] で [接続] を選択します。接続の [編集] ボタンをクリックします。接続の作成に使用したページ(Looker をデータベースに接続するのドキュメント ページで説明)が表示されますが、関連情報はすでに入力されています。必要な変更を行い、[接続を更新] をクリックします。
すべての接続で利用可能なアクション
すべての接続では、接続の右端にある歯車のプルダウン メニューから次のオプションを選択できます。
| オプション | 説明 |
|---|---|
| SQL Runner | このオプションを選択すると、Looker の SQL Runner に移動し、適切な接続とスキーマがすでに選択されています。 |
| 探索 | このオプションでは、接続用の自動生成された Explore オプションのリストが表示されます。これらはカスタマイズされたデータモデルに基づくものではありませんが、接続のテーブル内の元データに関する簡単なレポートを作成できます。これは通常、実際のデータ分析を目的とするのではなく、モデリング前にテーブルの内容を把握する場合にのみ役立ちます。 |
| 削除 | 既存の接続を削除するには、接続の右端にある歯車アイコンのプルダウン メニューをクリックし、[削除] を選択します。削除を確定するよう求められますが、確定すると元に戻すことはできません。誤って接続を削除すると、その接続を使用するクエリが無効になり、デベロッパーに LookML 検証エラーが発生する可能性があります。ただし、同じ名前で新しい接続を再作成すると、機能は復元されます。 |
一部の接続に対して利用可能なアクション
接続の右側にある歯車のプルダウン メニューには、接続の言語に応じて、次の追加オプションが表示される場合があります。
| オプション | 説明 |
|---|---|
| テーブルを表示 | このオプションを使用すると、Looker の Explore ページが開き、接続のメタデータに基づいて Looker Explore クエリを作成できます。このオプションは、選択したスキーマ名、テーブル名、列数で始まりますが、他の Looker Explore と同様に操作できます。 |
| データベースを表示 | このオプションを使用すると、Looker の Explore ページが開き、接続のメタデータに基づいて Looker Explore クエリを作成できます。このオプションは選択したスキーマ名、カタログ名、テーブル数、列数で始まりますが、他の Looker Explore と同様に操作できます。 |
| プロセスを表示 | このオプションを使用すると、Looker Explore のページが表示されます。このページでは、この接続で実行中のプロセス、プロセスの状態、実行時間などの情報に基づいて Looker Explore クエリを作成できます。Looker の実行速度が遅い場合や、クエリがまったく実行されていない場合に、原因を特定するのに役立ちます。 |
| PDT イベントログを表示 | このオプションを使用すると、Looker の Explore ページが開き、この接続の派生テーブル アクティビティに基づいて Looker Explore クエリを作成できます。利用可能なフィールドの詳細については、永続的な派生テーブルのドキュメント ページをご覧ください。 |
データベース接続を安全に削除する
LookML モデルによって参照されているデータベース接続を削除すると、検証エラーが発生し、デベロッパーがブランチを commit またはマージできなくなる可能性があります。接続を安全に削除する手順は次のとおりです。
- 依存関係を特定する: Development Mode で、
のプロジェクト検索を使用して、接続を参照するすべての LookML モデルファイルを見つけます。connection: CONNECTION_NAME - 依存関係を削除する: これらのモデルファイルの
connectionパラメータを更新して有効な接続を指すようにするか、不要になった依存モデルを削除します。 - コンテンツを検証する: Content Validator を実行して、接続を使用するモデルに依存する Look やダッシュボードを特定して修正します。
- 変更をデプロイする: これらの LookML の変更を commit して本番環境ブランチにデプロイします。
- 接続を削除する: 本番環境ブランチからすべての参照が削除されたら、[Admin] > [Database] > [Connections] に移動して接続を削除します。