Connect AnomalyArmor to your Amazon Redshift cluster to monitor schema changes and data freshness. This guide covers both provisioned clusters and Redshift Serverless.Documentation Index
Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
Use this file to discover all available pages before exploring further.
Supported Platforms
| Platform | Notes |
|---|---|
| Redshift Provisioned | All node types (RA3, DC2, DS2) |
| Redshift Serverless | Workgroups with any RPU configuration |
Connection Settings
| Field | Description | Example |
|---|---|---|
| Connection Name | Friendly identifier | Production Redshift |
| Host | Cluster or workgroup endpoint | my-cluster.abc123.us-east-1.redshift.amazonaws.com |
| Port | Database port | 5439 |
| Database | Database name | dev |
| Username | Database user | anomalyarmor |
| Password | User password | See credentials section |
Finding Your Connection Details
- Provisioned Cluster
- Redshift Serverless
- Go to AWS Console > Amazon Redshift > Clusters
- Click on your cluster name
- Find the Endpoint in the cluster details
- Copy the hostname portion (everything before the port)
Creating a Read-Only User
Create a dedicated user with minimal permissions:Verifying Permissions
Test that the user can access metadata:Network Configuration
Security Groups
Add an inbound rule to your Redshift cluster’s security group:- Go to AWS Console > VPC > Security Groups
- Find the security group attached to your Redshift cluster
- Edit inbound rules
- Add rule:
- Type: Custom TCP
- Port:
5439 - Source: AnomalyArmor IP addresses (see Settings > Security)
Public Accessibility
For AnomalyArmor to connect: Option 1: Publicly Accessible Cluster- Enable “Publicly accessible” in cluster settings
- Configure security group as shown above
Redshift clusters in private subnets with no public access require NAT Gateway or VPC peering. Contact us for Enterprise networking options.
SSL/TLS
Redshift requires SSL by default. AnomalyArmor automatically uses SSL for all Redshift connections.Redshift Serverless Considerations
Automatic Scaling
Redshift Serverless scales compute automatically. Our discovery queries are lightweight and consume minimal RPUs.Idle Workgroups
If your workgroup has been idle, the first query may take a few seconds while compute scales up. This is normal behavior.Database Name
Redshift Serverless typically usesdev as the default database. Check your workgroup settings if unsure.
What We Monitor
AnomalyArmor discovers and monitors:| Object Type | Monitored | Notes |
|---|---|---|
| Tables | Yes | All user-created tables |
| Views | Yes | Regular views |
| Materialized Views | Yes | Treated as tables |
| External Tables | Yes | Redshift Spectrum tables (if permissions granted) |
| System Tables | No | Excluded automatically |
Metadata Captured
For each table and view:- Table name and schema
- Column names and data types
- Nullable constraints
- Default values
- Last modified timestamp (for freshness)
What We Query
AnomalyArmor runs these types of queries:Multiple Schemas
To monitor multiple schemas, grant permissions on each:Redshift Spectrum (External Tables)
If you use Redshift Spectrum for querying S3:Troubleshooting
Connection refused
Connection refused
Causes:
- Security group not configured
- Cluster not publicly accessible
- Wrong endpoint
- Verify AnomalyArmor IPs are in security group inbound rules
- Check “Publicly accessible” setting in cluster configuration
- Verify endpoint is correct (check AWS Console)
- Test connectivity:
nc -zv your-endpoint 5439
Connection timeout
Connection timeout
Causes:
- Firewall blocking connection
- Cluster in private subnet without proper routing
- Verify security group allows port 5439 from AnomalyArmor IPs
- If private subnet, ensure NAT Gateway is configured
- Consider enabling “Publicly accessible” for the cluster
- Contact us for VPC peering options (Enterprise)
Authentication failed
Authentication failed
Causes:
- Wrong password
- User doesn’t exist
- Case sensitivity issues
- Verify password (copy-paste to avoid typos)
- Confirm user exists:
SELECT usename FROM pg_user; - Remember: Redshift usernames are case-sensitive when quoted
- Try resetting the password:
Database does not exist
Database does not exist
Causes:
- Wrong database name
- Case sensitivity
- List databases:
SELECT datname FROM pg_database; - Redshift Serverless default is usually
dev - Database names are case-sensitive
No tables found in discovery
No tables found in discovery
Causes:
- User lacks SELECT permission
- Schema permissions missing
- No tables in monitored schemas
- Test as the user:
- Grant schema access:
- Verify tables exist in expected schemas
SSL connection error
SSL connection error
Causes:
- SSL configuration mismatch
- AnomalyArmor uses SSL by default (required for Redshift)
- Ensure your cluster has SSL enabled (default setting)
- Contact support if you have custom SSL requirements
Best Practices
Use a Dedicated User
Create a read-only user specifically for AnomalyArmor:- Don’t use admin accounts
- Don’t share credentials with other tools
- Use a strong, unique password
Use Read Replicas (if available)
If you have Redshift RA3 with data sharing or multiple clusters, consider pointing AnomalyArmor at a read replica to isolate monitoring queries from production workloads.Grant Minimal Permissions
Only grant access to schemas you want to monitor. Avoid:Schedule Discovery After ETL
If you have predictable ETL schedules, run discovery after ETL completes:| Schedule | Time |
|---|---|
| ETL | 2:00 AM daily |
| Discovery | 3:00 AM daily |
Limitations
- IAM authentication: Not yet supported (username/password only)
- Cross-database queries: One connection per database
- Concurrency scaling: Queries run on main cluster, not concurrency scaling
- Stored procedures: Not monitored (tables and views only)
Coming Soon
- IAM role-based authentication
- Redshift-specific metrics (WLM queue status, disk usage)
- Cross-cluster data sharing support
Common Questions
Does AnomalyArmor support both provisioned Redshift clusters and Redshift Serverless?
Yes. Both use the same PostgreSQL-wire-compatible connector. For Serverless, set the endpoint to the workgroup’s connection URL. For provisioned, use the cluster endpoint. SSL is required in both cases.Can AnomalyArmor monitor Redshift Spectrum external tables?
Yes. External tables (backed by S3) are discovered and cataloged alongside local Redshift tables. Freshness works if the external table has a timestamp column queryable via a standardMAX(ts) - Spectrum resolves this against S3 metadata when partitioned appropriately.
Do I need to VACUUM or ANALYZE for AnomalyArmor to work correctly?
No for discovery or schema drift - those read the catalog directly. For row-count and statistical metrics, Redshift’sSVV_TABLE_INFO and SVV_ALL_COLUMNS views are used; these are maintained by Redshift automatically. You don’t need to add any VACUUM / ANALYZE to your maintenance.
Can I connect AnomalyArmor to Redshift in a private VPC without IP allowlisting?
Yes, via VPC peering or AWS PrivateLink (Enterprise plans). Both keep traffic off the public internet. For non-Enterprise, allowlist AnomalyArmor’s static IPs in your Redshift cluster’s security group.Next Steps
Run Discovery
Scan your Redshift cluster
Set Up Alerts
Get notified of schema changes
