요약

222

활성 도메인

기존 22 + 신규 200, 모두 enabled

3

머지된 PR

#8156 · #8157 · #8167

820/d

내일 예상 발송량 (D1)

peer 사용률 41% (한도 2,000/d)

$0+$4/월

비용

인프라 무료, SES 발송 운영비

1. 오늘 작업 흐름 (시간순)

시점작업결과
01:50~01:5520개 워밍업 도메인 deliverability 테스트 발송 (140건)SES 100% Accept · 1~2개 제외 inbox 도착
02:00chat.rinda.ai 단독 점검 (DKIM/SPF/DMARC/블랙리스트)기술 결함 0
02:30PR #8156 scheduler 슬롯 분산 + heartbeat livenessalpha 머지 · CD 배포
02:55PR #8157 engage job retry 3 + exponential backoffalpha 머지 · CD 배포
03:00200개 도메인 단어 리스트 생성 (8 카테고리 × 25)기존 20개와 중복 0
03:05~03:28200개 DNS + SES identity 자동 등록 (Python boto3 + Cloudflare API)200/200 success · 1,400 DNS records
03:30PR #8167 variant enum + ramp 분기 (restrained: plateau 7/d)alpha 머지 · migration 0447
03:50DB seed: workspace_sending_domains 200 + warmup_account 200 (enable=false)INSERT 0 200 × 2
04:00200개 모두 enable=true + peer cap 50 → 200UPDATE 200 + UPDATE 10

2. 200개 도메인 — 단어 리스트 (8 카테고리)

모두 {word}.rinda.ai 패턴. 기존 20개와 중복 없음.

카테고리도메인 (각 25개)
인사 (Greetings)greet · howdy · hola · hiya · bonjour · ciao · aloha · namaste · hail · salute · smile · wink · grin · nod · bow · cheer · clap · shake · wave · hug · kiss · pat · nudge · beam · glow
신호 (Signals)beep · buzz · chime · bell · alarm · signal · beacon · flash · pulse · echo · chirp · tweet · hoot · peep · holler · shout · yell · ring · dial · tone · sound · noise · blare · gong · drum
우편 (Mail)inbox · outbox · envelope · stamp · parcel · package · courier · carrier · runner · herald · messenger · telegram · fax · wire · cable · seal · postcard · mailbag · postage · deliver · dispatch · fetch · ship · drop · hand
시간 (Time)moment · instant · blink · second · minute · hour · day · week · today · now · soon · daily · weekly · morning · noon · evening · dawn · dusk · sunrise · sunset · fresh · quick · fast · swift · rapid
연결 (Links)link · bridge · relay · route · hub · node · port · gate · door · entry · path · lane · road · trail · way · channel · line · cord · thread · knot · tie · bond · web · mesh · loop
액션 (Actions)push · pull · fly · dash · zoom · rush · race · hurry · hustle · jump · leap · hop · skip · dance · spin · twirl · glide · slide · drift · float · sail · swim · climb · run · walk
관계 (People)friend · mate · buddy · pal · fellow · neighbor · partner · ally · comrade · kin · family · team · crew · squad · circle · club · guild · troop · band · group · gang · posse · tribe · clan · folk
자연 (Nature)river · lake · ocean · mountain · valley · forest · garden · meadow · field · hill · peak · cliff · shore · beach · island · harbor · bay · cove · creek · brook · stream · pond · pool · marsh · oasis

3. PR 3건 코드 변경 (시간순)

PR #8156

merged

scheduler 슬롯 분산 + heartbeat liveness

  • jitterDelayMs(0~6h)computeBusinessSlotDelayMs (09~18시 KST 균등)
  • 도메인 mass-fire 회피 (accountIdx × 7 % 30분 offset)
  • SCHEDULER_HEARTBEAT_KEY Redis TTL 26h
  • recovery worker 가 heartbeat 부재 시 backup-trigger 발사 (최악 30분 자동 회복)

→ 5/27~30 4일 공백 + 80% 오전 집중 + 도메인 분산 일거 해소

PR #8157

merged

engage job retry 3 + exponential backoff

  • 7개 engage job (open/reply/star/archive/spam_check×3) 에 attempts: 3 + backoff exponential 30s
  • alreadyDone() idempotency 가드로 중복 INSERT 차단
  • 컨테이너 재시작 시 in-flight job 영구 유실 차단

→ 5/22~27 star_pct 13~46% dip 원인 (retry 부재) 해소

PR #8167

merged

variant enum + ramp 분기

  • warmup_account.variant enum (standard / restrained)
  • migration 0447 (enum 생성 + ALTER ADD COLUMN, default standard)
  • dailyVolume(day, variant, _prev) 분기
  • scheduler 호출처 1군데 수정

→ 신규 200개를 별도 정책으로 분리 발송 가능

4. Ramp Curve 정책 (variant 분기)

standard (기존 22개)

Daytarget/d
D1-3 (seed start)5
D4-7 (seed end)10
D8-14 (build w2)15
D15-21 (build w3)20
D22+ (cruise plateau)23 영구

현재 D6, 도메인당 10/d → 220/d

restrained (신규 200개)

Daytarget/d
D1-3 (seed start)3
D4-7 (seed end)5
D8+ (plateau 영구)7 영구

내일 D1 → 도메인당 3/d → 600/d

5. 캐파시티 시뮬레이션

일자 (D)기존 standard신규 restrained합계/일Peer 사용률상태
D1 (내일)22 × 10 = 220200 × 3 = 60082041%안전
D422 × 10 = 220200 × 5 = 1,0001,22061%안전
D722 × 15 = 330200 × 5 = 1,0001,33067%안전
D822 × 15 = 330200 × 7 = 1,4001,73087%안전
D22+ (plateau)22 × 23 = 506200 × 7 = 1,4001,90695%⚠ 한계 근접

Peer 풀 한도 = 10 peer × 200/peer/d = 2,000/d. D22+ plateau 도달 시 95% 한계. 추가 peer 확장 또는 cap 상향 검토 권장.

6. 인프라 현황

AWS SES

Account
793175550504 (grindaai)
Region
ap-northeast-2
Identity 총
221 (218 SUCCESS / 3 PENDING)
ConfigSet
rinda-marketing 자동 attach
MailFrom
bounces.{domain} 200개 추가
24h quota
8,460 / 200,000 (4.2%)

Cloudflare DNS

Account
grinda (admin@grinda.ai)
Zone
rinda.ai (Pro plan, $0)
DNS records
1,645 (이전 245 + 신규 1,400)
레코드 종류 (도메인당 7개)
DKIM CNAME 3 + SPF + DMARC + MailFrom MX + MailFrom SPF

Database (alpha)

warmup_account 총
222 (모두 enabled)
standard
22 (기존)
restrained
200 (신규)
peer_inbox active
10명 (rcn2mail)
peer cap
200/peer/d
migration
0447_common_betty_brant.sql

7. 자동화 스크립트

200개 도메인 풀스택 등록 — 도메인당 ~7초 × 200 = 약 23분.

도메인당 7개 DNS records + SES 작업
1. SES create-email-identity → DKIM tokens 3개
2. SES put-email-identity-mail-from-attributes → bounces.{domain}
3. SES put-email-identity-configuration-set-attributes → rinda-marketing
4. Cloudflare DNS 7 records:
   - DKIM 3 CNAME: {token}._domainkey.{domain} → {token}.dkim.amazonses.com
   - SPF TXT:      {domain} → v=spf1 include:amazonses.com ~all
   - DMARC TXT:    _dmarc.{domain} → v=DMARC1; p=none; rua=mailto:dmarc@rinda.ai
   - MailFrom MX:  bounces.{domain} → 10 feedback-smtp.ap-northeast-2.amazonses.com
   - MailFrom SPF: bounces.{domain} → v=spf1 include:amazonses.com ~all

위치: ~/Downloads/warmup-onboard/onboard.py
도메인 리스트: ~/Downloads/warmup-onboard/domains.json
실행 로그: ~/Downloads/warmup-onboard/results.jsonl (200건 모두 success)

8. 비용

항목비용설명
도메인 등록 (rinda.ai subdomain)$0이미 보유한 rinda.ai zone subdomain
Cloudflare DNS$0zone Pro plan grandfathered, 레코드 무제한
AWS SES Identity$010,000개 한도, 현재 221개
AWS SES 발송 ($0.10/1000)+$4.2/월220 × 7 × 30 = 46,200건/월
총 추가 비용+$4.2/월운영 발송비만

9. 내일 검증 포인트 (KST 09:00~18:00)

cron 발사 후 즉시 확인

  1. scheduler 로그 [WarmupSchedulerWorker] account-planned 에 신규 200개 출력 + target=3 확인
  2. warmup_message 신규 sent_at 분포 09~18시 균등 (PR #8156 효과)
  3. peer 처리량 도메인별 균등 (이전 dip 없음)
  4. 도메인별 inbox 도착률 (기존 대비)
  5. 8일차 (06/13) 도달 시 plateau 7/d 진입 — peer 사용률 87→95% 한계 모니터링

안전 상태 (현재)

  • D1 발송량 820/d · peer 사용률 41% — capacity 한계의 절반 이하
  • 모든 도메인 DKIM/SPF/DMARC SUCCESS · 블랙리스트 등재 0
  • 워밍업 시스템 자체 placement 추적상 spam 0건 (누적 1,520건 중)

10. 향후 plan

우선작업시점
🟡 P1Spam 분류 도메인 자동 비활성화 (placement='spam' 누적 ≥ 5 → enable=false)1주 내
🟡 P1Peer 일일 처리량 alert (peer당 > 180/d → Slack)1주 내
🟢 P2replyTargetRate dead code 활성화 (cruise 40% / scale 30% 자동 강하)cruise 진입 전 (3주 후)
🟢 P2Google Postmaster Tools rinda.ai 등록 (도메인별 reputation 가시화)수동, 1회
🟢 P3D22+ 도달 시 peer 풀 확장 (10 → 15명) 또는 cap 200 → 2503~4주 후