対応プラットフォーム
前提条件
- CloudThinker からネットワーク経由で到達可能な PostgreSQL インスタンス。
- 専用ユーザーの作成と権限付与に必要な管理者アクセス。
- クエリレベルの分析が必要な場合は
pg_stat_statements拡張のインストール(低速クエリデータに必要)。
セットアップ
1
管理者として接続する
管理者アカウントで PostgreSQL インスタンスに接続します:
2
読み取り専用ユーザーを作成する
CloudThinker 専用のユーザーを作成します:
3
接続とスキーマのアクセスを付与する
接続とスキーマの使用を許可します:
4
SELECT 権限を付与する
既存および今後作成されるすべてのテーブルとビューに SELECT を付与します:
5
pg_stat_statements を有効化する
この拡張はクエリ分析に必要です:RDS/Aurora の場合はパラメータグループに追加します:
6
ネットワークアクセスを設定する
CloudThinker がデータベースに到達できるよう設定します:
- CloudThinker の IP をセキュリティグループまたはファイアウォールに追加
- RDS の場合:パブリックアクセスを有効化するか VPC ピアリングを使用
7
CloudThinker に接続を追加する
Connections → PostgreSQL に移動し、以下を入力します:
- Host:データベースのホスト名または IP
- Port:データベースポート(デフォルト:
5432) - Database:データベース名
- Username:
cloudthinker_readonly - Password:上記で設定したパスワード
- SSL mode:
require(推奨)
接続詳細
接続文字列の形式:
必要な権限
最小権限
推奨(フル分析)
エージェントの機能
接続後、Tony は以下を実行できます:接続を確認する
プロンプト例
トラブルシューティング
接続が拒否される
接続が拒否される
- ホストとポートが正しいか確認してください
- セキュリティグループまたはファイアウォールが CloudThinker の IP を許可しているか確認してください
- RDS の場合:「Publicly accessible」が有効になっているか、VPC ピアリングを使用しているか確認してください
- PostgreSQL が正しいインターフェースでリッスンしているか確認してください
認証に失敗した
認証に失敗した
- ユーザー名とパスワードが正しいか確認してください
pg_hba.confが接続方式を許可しているか確認してください- ユーザーがデータベースに
CONNECT権限を持っているか確認してください
pg_stat_statements が見つからない
pg_stat_statements が見つからない
- 拡張がインストールされているか確認:
SELECT * FROM pg_extension WHERE extname = 'pg_stat_statements'; shared_preload_librariesにpg_stat_statementsが含まれているか確認してくださいshared_preload_libraries変更後は PostgreSQL を再起動してください- RDS の場合:パラメータグループを変更してインスタンスを再起動してください
権限が拒否された
権限が拒否された
- ユーザーが必要なテーブルに
SELECT権限を持っているか確認してください - PostgreSQL 14+ では
pg_read_all_statsロールを付与してください - psql で
\dn+を使ってスキーマ権限を確認してください
セキュリティ
- 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
- デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
- 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
- オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
- SSL 必須 — 転送中のデータを暗号化するために、常に SSL モード
require以上を使用してください。 - 最小権限 — CloudThinker ユーザーには
SELECTのみを付与し、書き込みアクセスは絶対に付与しないでください。
関連
Tony Agent
データベース特化の最適化エージェント
MySQL 接続
MySQL データベースの同様のセットアップ