AWS ElastiCache

Create ElastiCache for Redis database and Memcache memory caching

Amazon ElastiCache is a serverless caching service delivering real-time, cost-optimized performance for modern applications. DuploCloud supports Memcached, Redis, and Valkey ElastiCache instances.

Creating a Memcached ElastiCache Instance

  1. In the DuploCloud Portal, navigate to Cloud Services -> Database.

  2. Select the ElastiCache tab, and click Add. The Create a ElastiCache page displays.

    The Create an ElastiCache page in the DuploCloud Portal
  3. Enter a database Name.

  4. Specify the number of Replicas.

  5. In the Type list box, select Memcached.

  6. Select the Memcached Version.

  7. Select the node size in the Size list box.

  8. Click Create. The Memcached ElastiCache instance is created.

Pass the cache endpoint to your application through the Environment Variables via the AWS Service.

Creating a Redis or Valkey ElastiCache Instance

  1. In the DuploCloud Portal, navigate to Cloud Services -> Database.

  2. Select the ElastiCache tab, and click Add. The Create an ElastiCache page displays.

The Create an ElastiCache page in the DuploCloud Portal
  1. Enter a database Name.

  2. Specify the number of Replicas.

  3. Optionally, enable Automatic Failover: if the primary node in the cluster fails, one of the read replicas is automatically promoted. This setting requires at least two replicas.

  4. Optionally, enable Cluster Mode and specify the No Of Shards.

  5. In the Type field, select Redis or Valkey.

  6. In the Size list box, select the node size.

  7. Optionally, complete the following fields:

    • Redis Version or Valkey Version: Select the version number of the cache engine to be used. If not set, defaults to the latest version.

    • Parameter Group Name: Specify the name of the parameter group to associate with this cache cluster.

    • KMS: Select the KMS key.

    • Encryption At Transit: Select if Encryption At Transit is needed.

  8. Optionally, complete the snapshot fields to configure backup:

    • Snapshot Name: Select the snapshot/backup you want to use for creating Redis/Valkey.

    • Snapshot ARNs: Specify the ARN of a Redis RDB snapshot file stored in Amazon S3. Example- arn:aws:s3:::s3-backup-foldername/backupobject.rdb

    • Snapshot Retention Limit: Specify retention limit in days. Accepted values - 1-35.

    • Snapshot Window Start Time: The time when your automated snapshot process will begin.

    • Snapshot Window Duration in hours: The length of time allowed for taking the snapshots automatically.

The Snapshot fields on the Create an ElastiCache pane
  1. Optionally, click the CloudWatch link above the Log Delivery Configuration field to enable exporting engine logs and slow logs to Amazon CloudWatch Logs.

    • Complete the fields to configure CloudWatch:

      • Log Format

      • Log Type

      • Log Group

    • Click Add Config. The configuration is added to the Log Delivery Configuration field.

The Add CloudWatch Logs: Log Delivery Configuration pane
  1. Click Create. The Redis or Valkey database instance is created.

Creating an ElastiCache Global Datastore

DuploCloud supports ElastiCache Global Datastores, which allow you to replicate a Redis cluster across AWS regions.

Creating a Global Datastore

When you create a Global Datastore in DuploCloud, a primary Redis cluster, in the current Tenant, and a secondary cluster in a different region are created automatically as part of the process. You can then add additional secondary clusters in other regions as necessary.

  1. Navigate to to Cloud Services Database ElastiCache Global Datastores.

  2. Click Add. The Create a Global Datastore pane displays.

    Create a Global Datastore pane
  3. Complete the fields, as required for your configuration:

Name

Enter a unique name for the datastore. We recommend using the Tenant name as a prefix.

Redis Version

Select the Redis version to deploy.

Size

Select a node size. Only Large or larger nodes are supported, and burstable types (t-class) are not allowed.

Global Replication Group

Enter a name for the replication group.

Global Replication Group Description

Optionally, enter a description for the replication group.

Secondary Cluster Region

Select the Tenant/region where you want the secondary cluster to reside.

Log Delivery Configuration

Configure a log destination to capture Redis logs for monitoring and troubleshooting.

Parameter Group Name

Select the parameter group name for log delivery.

Replicas

Enter the number of replicas.

No of Shards

Specify the number of shards for the cluster.

KMS (Optional)

Select a KMS key to enable server-side encryption for the Global Datastore.

Encryption in Transit

Enable or disable in-transit encryption.

  • When enabled, enter the password clients will use to authenticate to the cluster in the Auth Token (Optional) field.

Secondary Cluster KMS

Select a KMS key to enable server-side encryption for any secondary clusters you add.

Snapshot Retention Limit

Enter retention period in days.

Snapshot Window Start Time

Enter the start time for the snapshot window.

Snapshot Window Duration in Hours

Enter the duration of the snapshot window in hours.

  1. Click Create to provision the ElastiCache Global Datastore.

Adding Regional Clusters

After creating a Global Datastore, you can add secondary clusters (regional clusters) to replicate the primary Redis cluster across other AWS regions.

  1. Navigate to Cloud Services Databases ElastiCache Global Datastores.

  2. Select the Regional Clusters tab.

  3. Click Add. The Add Secondary Cluster pane displays.

    Add Secondary Cluster pane
  4. Complete the following fields:

Name

Enter a unique name for the secondary cluster.

Description

Optionally, enter a description for the cluster.

Tenant

Select the Tenant that will own this secondary cluster.

KMS (Optional)

If a KMS key was selected when creating the Global Datastore, select the same KMS key to enable server-side encryption for the secondary cluster.

Auth Token (Optional)

If a KMS key was selected when creating the Global Datastore, enter the authentication token for client connections.

  1. Click Create to provision the secondary cluster.

Each regional cluster added becomes a read replica of the primary Redis cluster. You can retrieve the primary or secondary cluster endpoint directly from the Redis Cluster tab to connect your application.

Viewing Cluster Details

To view cluster details, including connection endpoints for a Global Datastore:

  1. Navigate to Cloud Services Database ElastiCache Global Datastores.

  2. Select the name of the Global Datastore.

  3. Select the Regional Clusters tab. A list of clusters in the Global Datastore displays.

  4. Click the name of the cluster you want to view details for.

  5. Use the tabs to explore cluster details:

Redis Cluster

Displays cluster details, including the endpoint.

Details

Shows a JSON representation of the cluster configuration and status.

Alerts

Displays any alerts related to the cluster.

Snapshots

Lists available snapshots and backup information for the cluster.

Each cluster provides a single endpoint. The primary endpoint handles write operations, and the secondary endpoint handles read operations.

Cluster detail page with Redis Cluster, Details, Alerts, and Snapshots tabs.

Removing Clusters

To remove a cluster from a Global Datastore:

  1. Navigate to Cloud Services Database ElastiCache Global Datastores.

  2. Select the name of the Global Datastore.

  3. Select the Regional Clusters tab

  4. Click the menu icon () in the row of the cluster you want to remove.

  5. Select Remove.

Troubleshooting Redis Connection Issues in AWS

When a Redis instance in an AWS environment is experiencing connection issues, ensure the Security Group (SG) configuration allows VPN traffic to port 6379. Then, using the nc command, verify the Redis instance's accessibility.

If you encounter local DNS resolution problems, consider changing your DNS provider or connecting directly using the Redis instance's IP address, which can be obtained via the dig command.

For persistent DNS issues, resetting your router or using external DNS query tools may help. If other troubleshooting steps fail, exploring AWS network interfaces can offer additional insights.

Last updated

Was this helpful?