対応プラットフォーム
| プラットフォーム | サポート |
|---|---|
| セルフホスト Redis | 6.x・7.x(バニラおよび Redis Stack) |
| Upstash Redis | 全プランティア |
| Redis Cloud | 全プランティア |
前提条件
- CloudThinker からネットワーク経由で到達可能な Redis インスタンス。
- ACL ユーザー(セルフホスト)または RBAC ユーザー(Upstash/Redis Cloud)を作成するための管理者アクセス。
- クレデンシャルを含む
REDIS_URL接続文字列。
セットアップ
Redis プラットフォームを選択して、具体的な接続手順を確認してください。- セルフホスト Redis
- Upstash Redis
- Redis Cloud
2 種類の一般的なデプロイ形態に対応しています:
- バニラ Redis — モジュールなしの最小イメージ。コアの Redis コマンドのみ必要な場合に使用。
- Redis Stack — RediSearch・RedisJSON・RedisTimeSeries・Bloom をバンドル。Tony が
FT.*・JSON.*・TS.*・BF.*コマンドを必要とする場合に使用。バニラではこれらのコマンドはソフトエラーになります。
Redis を起動する
バニラ Redis(モジュールなし):管理者パスワードは インスタンスを確認します:
--requirepass サーバーフラグで設定します。--appendonly yes は再起動後の耐久性のために AOF を有効にします。Redis Stack(モジュールと RedisInsight UI をポート 8001 で):読み取り専用 ACL ユーザーを作成する
CloudThinker 専用のユーザーを作成します。Redis ACL のユーザー名には
[A-Za-z0-9_-] が使用できます。cloudthinker-readonly を使用してください。on— ユーザーを有効化><readonly-password>— パスワードを設定(>プレフィックスは ACL の構文)~*— 全キーにマッチ。より厳格なスコープには~app:*を使用+@read -@write -@dangerous -@admin— 読み取りのみ。書き込み・FLUSHALL/CONFIG/DEBUG/SHUTDOWN・レプリケーションをブロック- オプション:大規模コレクションで
KEYS・SMEMBERS・HGETALLをブロックするには-@slowを追加
再起動後も ACL を維持する
コンテナ再起動後も ACL が維持されるよう ファイルをマウントして Redis を起動します:サーバーコマンドに
users.acl ファイルをマウントします:--aclfile /data/users.acl を追加してください。ネットワークアクセスを設定する
CloudThinker がデータベースに到達できるよう設定します:
- CloudThinker の IP をファイアウォールまたはセキュリティグループに追加
- Redis がアクセス可能なインターフェースにバインドされていることを確認(
bind 127.0.0.1のみは避ける)
接続詳細
| フィールド | 説明 | 例 |
|---|---|---|
| REDIS_URL | クレデンシャルを含む Redis 接続 URI | redis://cloudthinker-readonly:pass@host:6379 |
| TLS/SSL | TLS を要求するには rediss:// スキームを使用 | Upstash は rediss://、それ以外は任意 |
| Port | Redis ポート | 6379(セルフホスト・Upstash)、13xxx(Redis Cloud) |
| Database index | 論理 DB インデックス | 0 |
必要な権限
CloudThinker ユーザーに推奨される ACL カテゴリ:| カテゴリ | 設定 | 理由 |
|---|---|---|
+@read | 許可 | キーの読み取り、INFO・CLIENT LIST などの実行 |
-@write | 拒否 | SET・DEL などの変更コマンドをブロック |
-@dangerous | 拒否 | FLUSHALL・CONFIG・DEBUG・SHUTDOWN・レプリケーションをブロック |
-@admin | 拒否 | 管理コマンドをブロック |
-@slow(任意) | 拒否 | 大規模コレクションでの KEYS・SMEMBERS・HGETALL をブロック |
エージェントの機能
接続後、Tony は以下を実行できます:| 機能 | 説明 |
|---|---|
| キースペース分析 | キーのパターン・サイズ・TTL 分布の検査 |
| コマンド統計 | INFO commandstats によるコマンドレイテンシとスループットの確認 |
| パフォーマンスメトリクス | メモリ・接続数・エビクション・レプリケーションラグの監視 |
| モジュールインサイト | RediSearch インデックス・RedisJSON ドキュメント・TimeSeries の検査(Redis Stack のみ) |
接続を確認する
プロンプト例
トラブルシューティング
認証失敗(NOAUTH / WRONGPASS)
認証失敗(NOAUTH / WRONGPASS)
- 接続 URL 内のユーザー名とパスワードを確認してください
- セルフホストの場合、
ACL WHOAMIとACL LISTでユーザーが有効になっているか確認してください - Upstash と Redis Cloud の場合、REST または SDK の URL ではなく TCP/Redis CLI の URL をコピーしているか確認してください
NOPERM — コマンドの実行権限がない
NOPERM — コマンドの実行権限がない
- 書き込みコマンドに対しては、読み取り専用ユーザーが正常に機能しています
- 読み取りもブロックされている場合は、ACL ルールを再確認してください —
+@readが付与されている必要があります
接続が拒否またはタイムアウト
接続が拒否またはタイムアウト
- CloudThinker からホストとポートに到達可能か確認してください
- セルフホストの場合、Redis が
127.0.0.1のみにバインドされていないか確認してください - CloudThinker の IP をファイアウォールまたはクラウドプロバイダーの許可リストに追加してください
モジュールコマンドが失敗する(FT.*・JSON.*・TS.*・BF.*)
モジュールコマンドが失敗する(FT.*・JSON.*・TS.*・BF.*)
- バニラ Redis にはモジュールが含まれていません。必要なモジュールをバンドルした Redis Stack(
redis/redis-stack)またはそれに相当するマネージドサービスを使用してください。
セキュリティ
- 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
- デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
- 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
- オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
- TLS には rediss:// を使用 — デプロイが TLS をサポートしている場合は、転送中のデータを暗号化するために
rediss://スキームを使用してください。 - ACL の永続化 — セルフホストのデプロイでは
aclfileを使用して、読み取り専用ユーザーが再起動後も維持されるようにしてください。
関連
Tony Agent
データベース特化の最適化エージェント
MongoDB 接続
MongoDB データベースのセットアップ手順