지원 플랫폼
| 플랫폼 | 지원 |
|---|---|
| 자체 호스팅 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
두 가지 일반적인 배포 형태를 지원합니다:
- 바닐라 Redis — 모듈 없이 최소 이미지. 코어 Redis 명령만 필요한 경우 사용.
- Redis Stack — RediSearch, RedisJSON, RedisTimeSeries, Bloom을 번들. Tony가
FT.*,JSON.*,TS.*,BF.*명령을 사용해야 할 때 사용. 바닐라에서는 이 명령들이 소프트 실패.
Redis 시작
바닐라 Redis (모듈 없음):관리자 비밀번호는 인스턴스 확인:
--requirepass 서버 플래그로 설정합니다. --appendonly yes는 재시작 간 내구성을 위해 AOF를 활성화합니다.Redis Stack (모듈 및 포트 8001의 RedisInsight UI 포함):읽기 전용 ACL 사용자 생성
CloudThinker 전용 사용자를 생성하세요. Redis ACL 사용자 이름은
[A-Za-z0-9_-]를 허용합니다. cloudthinker-readonly를 사용하세요.on— 사용자 활성화><readonly-password>— 비밀번호 설정 (>접두사는 ACL 문법)~*— 모든 키 일치; 더 엄격한 범위 지정은~app:*사용+@read -@write -@dangerous -@admin— 읽기만; 쓰기,FLUSHALL/CONFIG/DEBUG/SHUTDOWN, 복제 차단- 선택 사항:
-@slow를 추가하여 대용량 컬렉션에서KEYS,SMEMBERS,HGETALL차단
재시작 후에도 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 에이전트
데이터베이스 중심 최적화 에이전트
MongoDB 연결
MongoDB 데이터베이스 설정 방법