githubEdit

AWS ElastiCache

Create ElastiCache for Redis database and Memcache memory caching

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

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 a ElastiCache page in the DuploCloud Portal
  3. Enter a database Name.

  4. In the Type list box, select Memcached.

  5. Select the Memcached Version.

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

  7. Specify the number of Replicas.

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

circle-info

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. Complete the following fields as required for your Redis or Valkey instance:

Serverless

Select Yes or No to enable serverless mode.

Name

Enter a unique name for the cache. DuploCloud suggests using the tenant name as a prefix.

Type

Select Redis or Valkey from the dropdown.

Version

Select the appropriate Redis or Valkey version.

Size

Select the instance size for the cluster.

Log Delivery Configuration

Select or configure log delivery options.

Parameter Group Name

Enter a parameter group for the cluster.

Replicas

Specify the initial number of cache nodes that the cache cluster will have.

Automatic Failover

Enable or disable automatic failover to the secondary datastore if the primary region becomes unavailable.

Enable Cluster Mode

Enable to create Redis in Cluster mode.

KMS (Optional)

Select a KMS key for encryption if needed.

Encryption At Transit

Select if Encryption At Transit is needed.

Encryption At Rest

Valkey only – Enable/disable encryption of data stored on disk using AWS-managed keys. Recommended for protecting sensitive data at rest.

Snapshot Name

Enter a name for a snapshot if desired.

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

Enter the number of days to retain snapshots.

Snapshot Window Start Time

Enter the start time for the snapshot window (e.g., 12:00).

Snapshot Window Duration (Hours)

Specify the duration of the snapshot window in hours.

The Snapshot fields on the Create an ElastiCache pane
  1. Click Create to create the Reds or Valkey instance.

Updating Snapshot Retention Limit

After a Redis or Valkey (standard) ElastiCache instance is created, most settings cannot be changed without deleting and recreating the instance. However, you can update the Snapshot Retention Limit at any time.

circle-exclamation

To update the Snapshot Retention Limit:

  1. Navigate to Cloud Services -> Database.

  2. Select the ElastiCache tab.

  3. Click on the name of the ElastiCache instance in the NAME column.

  4. Click Actions, and select Update Snapshot Retention Limit. The Update Snapshot Retention Limit pane displays.

    Update Snapshot Retention Limit pane
  5. Select the desired Snapshot Retention Limit (Days) (between 1 and 35).

  6. Click Update to save your changes.

Creating a Serverless Valkey ElastiCache Instance

Serverless Valkey clusters automatically scale based on workload demand. Unlike standard Redis or Valkey clusters, node size, replicas, and cluster mode are automatically managed by the system.

To create a Serverless Valkey instance, complete the following steps:

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

  2. Click Add. The Create a ElastiCache page displays.

  3. Select the Serverless option at the top of the page.

  4. Complete the following fields:

Name

Enter a unique name for the Valkey Serverless cluster.

Type

Displays Valkey; no action needed as the cache engine is pre-selected.

Valkey Version

Select the version of the Valkey cache engine to deploy.

KMS

Select the KMS key to use for encryption at rest (e.g., duploservices-sa-4nov).

Description

Optionally enter a description for the cluster to help identify it.

  1. Click Create. DuploCloud provisions the Serverless Valkey cluster automatically and the system manages scaling, availability, and endpoints.

circle-info

Node size, number of replicas, and cluster mode fields are automatically managed and do not require configuration.

Creating an ElastiCache Global Datastore

DuploCloud supports ElastiCache Global Datastores, which allow you to replicate standard Redis and standard Valkey clusters across multiple AWS regions. Memcached and Serverless Valkey clusters are not supported for Global Datastores.

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. You can 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.

circle-info

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.

circle-info

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.

circle-exclamation

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 interfacesarrow-up-right can offer additional insights.

Last updated

Was this helpful?