🔗 ローカルデータベースとの接続
このガイドは、ローカルで実行中のデータベースをQueryPie AIサービスに接続する方法を案内します。適切なDSN(Data Source Name)文字列生成と、リモートアクセスのためのセキュリティトンネル設定方法を扱います。
概要
ローカル開発環境で作業する際、ローカルマシンで実行中のデータベースをQueryPie AI Hubに接続する必要がある場合があります。
ローカルデータベースに接続するには、以下の項目を準備してください。
- ローカルデータベースインスタンス(例:PostgreSQL、MySQL、Redisなど)
- ローカルデータベースをインターネット経由でアクセス可能にするトンネルサービス
- 適切なDSN文字列構成
トンネルサービスオプション
トンネルサービスとしては、ngrok、Cloudflare Tunnelなどを使用できます。
ngrok
追加機能を提供する人気のトンネリングソリューションです。
brew install ngrok
ngrok tcp 5432
DSN文字列は以下のように入力できます。
postgresql://username:password@X.tcp.ngrok.io:XXXXX/dbname
Cloudflare Tunnel
Cloudflare Tunnelは無料で安定したトンネリングサービスです。
brew install cloudflared
cloudflared tunnel --url tcp://localhost:5432
完全な設定例
PostgreSQLとngrokを使用した完全な設定過程を見てみましょう:
1. ローカルPostgreSQLサーバー開始
PostgreSQLがデフォルトポート5432で実行されているか確認します。
brew services start postgresql
2. ngrokトンネル作成
名前付きトンネルを作成します。
ngrok tcp 5432
トンネルが作成されると、以下のような出力を見ることができます。
Session Status online
Account your-account (Plan: Free)
Version 3.x.x
Region United States (us)
Latency -
Web Interface http://127.0.0.1:4040
Forwarding tcp://0.tcp.ngrok.io:12345 -> localhost:5432
3. QueryPie AIでDSN文字列構成
上記のngrok出力で提供された情報を使用してDSN文字列を生成します:
postgresql://username:password@0.tcp.ngrok.io:12345/dbname
このDSN文字列を使用してQueryPie AI Hubでデータベースを追加できます。
セキュリティ考慮事項
ローカルデータベースをインターネットに公開する際は、常に以下の事項を遵守してください。
- 🔒 強力なパスワードとユーザー名を使用してください。
- 🌐 既知のIP範囲からのみ接続を許可してください。
- 🔐 SSL暗号化接続を使用してください。QueryPie AI HubでもSSL接続をサポートしています。
- 📊 データベース接続ログを維持し、モニタリングしてください。
- ⏱️ 開発時には一時的なトンネルを使用した後、すぐに終了してください。
トラブルシューティング
トンネリング接続を使用する際に発生する一般的な問題と解決方法を案内します。
1. 接続タイムアウト
- トンネルが実行中か確認してください。
- ローカルデータベースが外部接続を許可するか確認してください。
- ファイアウォールルールが接続を許可するか確認してください。
2. 認証エラー
- データベース認証情報を確認してください。
- データベースユーザーが適切な権限を持っているか確認してください。
- DSN文字列形式が正しいか確認してください。
3. SSL/TLS問題
- 必要な場合、SSL証明書を構成してください。
- セキュリティ接続のため、DSN文字列に
sslmode=require
を追加してください。
4. ポート競合
- 他のサービスが同じポートを使用しているか確認してください。
- 必要な場合、他のポートに変更してください。
Roadmap: Tunneling
今後、ローカルプロキシにトンネリング機能が追加される予定です。(2025年第3四半期予定)
ローカルプロキシに搭載されるトンネリング機能を通じて、QueryPie AI Hubとユーザーのネットワークが接続できるようになります。
これにより、以下のようなことができるようになります。
- ユーザーネットワークで実行中のMCP Serverを接続して使用
- QueryPieを使用中であれば、QueryPieを通じたより安全なDB、Server、Kubernetesアクセス
- QueryPieを使用していなくても、DB、Server、Kubernetesアクセスサポート