In the ElastiCache Dashboard, select Redis clusters under the Clusters tab. Here, you will see a list of Redis clusters.
Click on a cluster to view its details, including Node groups, Endpoint, Security, Parameter group, and Monitoring.
Nodes:
Under the selected cluster, go to the Nodes tab to see the individual nodes that make up the cluster. You can review details like Node type, Availability Zone, and Status.
Parameter Groups:
In the left-hand menu, select Parameter Groups to explore the parameter settings that control the behavior of Redis. Parameter groups allow you to customize settings for your Redis clusters.
3. Exploring the AWS Well-Architected Framework Pillars
Within the cluster's details, review the Node type and Engine version to ensure that the latest and most appropriate Redis version is being used for optimal performance.
Monitoring and Metrics:
Click on the Monitoring tab for the selected cluster to view key metrics like CPU Utilization, Memory Usage, Evictions, and Cache Hits/Misses. Regularly monitoring these metrics helps you maintain operational efficiency and quickly address potential issues.
Event Notifications:
In the Events section (found in the left-hand menu), check for any recent notifications related to the cluster. Reviewing events provides insights into operational changes, potential errors, or maintenance activities.
Backups:
If Automatic backups are enabled for your Redis cluster, verify the Snapshot retention policy in the cluster configuration. Regular backups are critical for operational recovery in case of failures.
In the Network and security section of the cluster’s details, verify that the cluster is running inside a VPC. Ensure it is deployed in private subnets, not public ones, to protect it from unauthorized access.
Security Groups:
Check the Security groups associated with the Redis cluster. The security groups should be configured to restrict inbound access only to specific IP addresses or instances that need to connect to the cluster.
Encryption:
Review the Encryption in-transit and Encryption at-rest settings in the cluster’s Configuration section. Enabling both encryption in transit (using TLS) and at rest (using KMS) ensures that sensitive data is secure.
Redis AUTH:
Verify if Redis AUTH (password-based authentication) is enabled. This provides an additional layer of security by requiring a password for all client connections to the Redis cluster.
In the Cluster details, check if the Multi-AZ with automatic failover is enabled. This configuration ensures high availability and reliability by automatically failing over to a replica in case of a primary node failure.
Replication:
Under the Nodes tab, review the replication configuration. Ensure that the cluster has read replicas set up to provide redundancy and offload read requests from the primary node.
Backup and Snapshot:
Check if Automatic backups are enabled and review the Snapshot retention period. Regular snapshots support data recovery and contribute to the overall reliability of your cache infrastructure.
Parameter Group Settings:
In the Parameter Groups section, review the parameter group settings for your Redis cluster. Properly tuned parameters (e.g., memory management settings) help prevent issues like memory exhaustion, enhancing reliability.
In the Cluster details, review the Node type (e.g., cache.t2.micro, cache.m5.large). Ensure that the selected node type is suitable for your workload. Adjust the node size to avoid over-provisioning and optimize costs.
Auto Scaling:
While ElastiCache does not have built-in auto-scaling, regularly monitor metrics like CPU utilization and Memory usage to manually adjust the number of nodes or node size based on demand. This helps ensure you are only paying for the resources you need.
Snapshots:
Review the Automatic snapshot retention settings. Retaining too many snapshots can increase storage costs. Ensure that the snapshot retention policy aligns with your data recovery requirements to optimize costs.
Reserved Nodes:
Check if Reserved Node options are in use. If your Redis cluster has predictable, steady-state usage, purchasing Reserved Nodes can significantly reduce long-term costs compared to On-Demand pricing.
Under the Monitoring tab, review performance metrics such as Cache Hits/Misses, Evictions, CPU Utilization, and Network Bytes In/Out. Monitoring these metrics helps identify performance bottlenecks, enabling you to fine-tune the configuration for efficiency.
Parameter Tuning:
Navigate to Parameter Groups and review the parameters associated with your Redis cluster. Tuning parameters (e.g., maxmemory-policy, timeout) can optimize memory usage and enhance the cluster’s performance.
Cluster Configuration:
Check the Cluster mode in the Cluster details. Using Cluster mode enabled (sharding) can improve performance for workloads that require horizontal scaling across multiple nodes.
Read Replicas:
Ensure that the cluster is using Read replicas to offload read traffic from the primary node, which helps maintain performance during high-demand periods.
Use CloudWatch (accessible from the left-hand menu) to set up alarms based on key performance and resource usage metrics. Alarms provide proactive monitoring, helping to maintain performance and prevent potential outages.
Log in to the AWS Management Console of securitytooling account.
AWS Config and Security Hub:
If AWS Config and Security Hub are enabled, review compliance findings related to ElastiCache to ensure that your configurations adhere to security and operational best practices, such as enabling encryption and limiting public access.