対応プラットフォーム
| プラットフォーム | サポート |
|---|---|
| セルフホスト MongoDB | 4.x・5.x・6.x・7.x |
| MongoDB Atlas | 全バージョン |
前提条件
- CloudThinker からネットワーク経由で到達可能な MongoDB インスタンスまたは Atlas クラスター。
- 専用データベースユーザーの作成とロール割り当てに必要な管理者アクセス。
- クレデンシャルを含む MongoDB 接続文字列。
セットアップ
MongoDB プラットフォームを選択して、具体的な接続手順を確認してください。- セルフホスト MongoDB
- MongoDB Atlas
管理者として接続する
Mongo シェル(
mongosh)を使って管理者権限で MongoDB インスタンスに接続します。<admin-user>・<admin-password>・<your-host> をご自身のクレデンシャルに置き換えてください。/admin データベースが必要です。読み取り専用ユーザーを作成する
MongoDB の組み込みロールを使って CloudThinker 専用のユーザーを作成します:
clusterMonitor ロールはパフォーマンスメトリクスの分析に推奨されます。ネットワークアクセスを設定する
CloudThinker がデータベースに到達できるよう設定します:
- CloudThinker の IP をファイアウォールまたはセキュリティグループに追加
mongod.confで MongoDB がアクセス可能な IP アドレスにバインドされていることを確認
接続詳細
| フィールド | 説明 | 例 |
|---|---|---|
| 接続文字列 | クレデンシャルを含む完全な MongoDB URI | mongodb+srv://user:pass@host/admin?tls=true |
| TLS/SSL | 接続に TLS を強制 — URI に tls=true を使用 | true |
| Read preference | 読み取り操作をルーティングするノード | primary |
| Connection timeout | 接続待機秒数 | 10 |
必要な権限
| ロール | 用途 |
|---|---|
readAnyDatabase | 全コレクションのクエリとインデックス使用状況の分析 |
clusterMonitor | パフォーマンスメトリクスのための serverStatus・replSetGetStatus およびその他の診断コマンドへのアクセス |
エージェントの機能
接続後、Tony は以下を実行できます:| 機能 | 説明 |
|---|---|
| クエリ分析 | 低速クエリの特定、explain() による実行計画の分析 |
| インデックス推奨 | 不足しているインデックスの発見、未使用インデックスの特定 |
| パフォーマンスメトリクス | 接続数・メモリ使用量・レプリケーションラグの監視 |
接続を確認する
プロンプト例
トラブルシューティング
認証に失敗した
認証に失敗した
- ユーザー名とパスワードが正しいか確認してください
- ユーザーが
adminデータベースで作成されているか、接続文字列に?authSource=adminが付いているか確認してください - Atlas の場合:Database Access でユーザーが正しい権限で作成されているか確認してください
接続が拒否またはタイムアウト
接続が拒否またはタイムアウト
- CloudThinker の IP が Atlas のネットワークアクセスリストまたはファイアウォールに追加されているか確認してください
- ローカル MongoDB の場合、
mongod.confのbindIpが127.0.0.1のみに設定されていないか確認してください
パフォーマンスメトリクスが利用できない
パフォーマンスメトリクスが利用できない
- Tony が
serverStatusとreplSetGetStatusを実行するにはclusterMonitorロールが必要です adminデータベースで CloudThinker ユーザーにclusterMonitorロールを追加して再接続してください
セキュリティ
- 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
- デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
- 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
- オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
- TLS 必須 — 転送中のデータを暗号化するために、接続文字列には常に
tls=trueを使用してください。 - 最小ロール —
readAnyDatabaseとclusterMonitorのみを付与し、書き込みや管理ロールは絶対に付与しないでください。
関連
Tony Agent
データベース特化の最適化エージェント
PostgreSQL 接続
PostgreSQL データベースのセットアップ手順