Skip to main content
Redis データベースを接続して、Tony(データベースエンジニア)がキースペースの使用状況を検査し、コマンドパターンを分析し、データベースの健全性を監視できるようにします。

対応プラットフォーム

前提条件

  • CloudThinker からネットワーク経由で到達可能な Redis インスタンス。
  • ACL ユーザー(セルフホスト)または RBAC ユーザー(Upstash/Redis Cloud)を作成するための管理者アクセス。
  • クレデンシャルを含む REDIS_URL 接続文字列。

セットアップ

Redis プラットフォームを選択して、具体的な接続手順を確認してください。
2 種類の一般的なデプロイ形態に対応しています:
  • バニラ Redis — モジュールなしの最小イメージ。コアの Redis コマンドのみ必要な場合に使用。
  • Redis Stack — RediSearch・RedisJSON・RedisTimeSeries・Bloom をバンドル。Tony が FT.*JSON.*TS.*BF.* コマンドを必要とする場合に使用。バニラではこれらのコマンドはソフトエラーになります。
1

Redis を起動する

バニラ Redis(モジュールなし):
管理者パスワードは --requirepass サーバーフラグで設定します。--appendonly yes は再起動後の耐久性のために AOF を有効にします。Redis Stack(モジュールと RedisInsight UI をポート 8001 で):
インスタンスを確認します:
2

読み取り専用 ACL ユーザーを作成する

CloudThinker 専用のユーザーを作成します。Redis ACL のユーザー名には [A-Za-z0-9_-] が使用できます。cloudthinker-readonly を使用してください。
  • on — ユーザーを有効化
  • ><readonly-password> — パスワードを設定(> プレフィックスは ACL の構文)
  • ~* — 全キーにマッチ。より厳格なスコープには ~app:* を使用
  • +@read -@write -@dangerous -@admin — 読み取りのみ。書き込み・FLUSHALL/CONFIG/DEBUG/SHUTDOWN・レプリケーションをブロック
  • オプション:大規模コレクションで KEYSSMEMBERSHGETALL をブロックするには -@slow を追加
3

再起動後も ACL を維持する

コンテナ再起動後も ACL が維持されるよう users.acl ファイルをマウントします:
ファイルをマウントして Redis を起動します:
サーバーコマンドに --aclfile /data/users.acl を追加してください。
4

読み取り専用ユーザーを確認する

5

ネットワークアクセスを設定する

CloudThinker がデータベースに到達できるよう設定します:
  • CloudThinker の IP をファイアウォールまたはセキュリティグループに追加
  • Redis がアクセス可能なインターフェースにバインドされていることを確認(bind 127.0.0.1 のみは避ける)
6

CloudThinker に接続を追加する

Connections → Redis に移動し、REDIS_URL として接続文字列を入力します:
デプロイが TLS を終端している場合は rediss://(2 番目の s に注意)を使用してください。Connect をクリックします。成功すると CloudThinker は Connected ステータスを表示します。

接続詳細

必要な権限

CloudThinker ユーザーに推奨される ACL カテゴリ:
キースコープ(全キーには ~*、プレフィックス制限には ~app:*)で CloudThinker ユーザーがアクセスできる範囲を絞れます。まず ~* から始め、必要に応じて絞り込んでください。

エージェントの機能

接続後、Tony は以下を実行できます:

接続を確認する

プロンプト例

トラブルシューティング

  • 接続 URL 内のユーザー名とパスワードを確認してください
  • セルフホストの場合、ACL WHOAMIACL LIST でユーザーが有効になっているか確認してください
  • Upstash と Redis Cloud の場合、REST または SDK の URL ではなく TCP/Redis CLI の URL をコピーしているか確認してください
  • 書き込みコマンドに対しては、読み取り専用ユーザーが正常に機能しています
  • 読み取りもブロックされている場合は、ACL ルールを再確認してください — +@read が付与されている必要があります
  • CloudThinker からホストとポートに到達可能か確認してください
  • セルフホストの場合、Redis が 127.0.0.1 のみにバインドされていないか確認してください
  • CloudThinker の IP をファイアウォールまたはクラウドプロバイダーの許可リストに追加してください
  • バニラ Redis にはモジュールが含まれていません。必要なモジュールをバンドルした Redis Stack(redis/redis-stack)またはそれに相当するマネージドサービスを使用してください。

セキュリティ

  • 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
  • デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
  • 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
  • オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
  • TLS には rediss:// を使用 — デプロイが TLS をサポートしている場合は、転送中のデータを暗号化するために rediss:// スキームを使用してください。
  • ACL の永続化 — セルフホストのデプロイでは aclfile を使用して、読み取り専用ユーザーが再起動後も維持されるようにしてください。

関連

Tony Agent

データベース特化の最適化エージェント

MongoDB 接続

MongoDB データベースのセットアップ手順