What actions do I need to take for an ElastiCache self-service update?
I received a notification for an Amazon ElastiCache self-service update and I want to know what actions I need to take.
Amazon ElastiCache automatically monitors your fleet of Redis and MemCached nodes to apply service updates as they become available. Service updates help strengthen security, reliability, and operational performance of Amazon ElastiCache. Typically, you set up a predefined maintenance window so that Amazon ElastiCache can apply these updates. However, in some cases you might find this approach too rigid and likely to constrain your business flows. Self-service update features allow you to apply updates at your discretion.
How can I view service update notifications?
If you have qualifying clusters, Amazon ElastiCache notifies you of available updates through the following methods:
- ElastiCache console notification
- Amazon Simple Notification Service (SNS) messages
- AWS Personal Health Dashboard (PHD) notifications
- Amazon CloudWatch Events
You might receive multiple notifications for the service update throughout the life cycle of the update. The number of notifications that you receive for a service update depends on the type of update, such as mandatory or non mandatory. Notifications also depend on what actions you perform on your cluster. For example, if you apply the mandatory update before the deadline, you don't receive reminders or auto update notifications.
For information on setting up SNS notifications, see Monitoring ElastiCache events.
Note: Notifications aren't sent for nodes launched or replaced after the release date specified in the Service Update description.
How can I check available service updates?
After receiving notification about available service updates, you can retrieve them using the AWS Command Line Interface (AWS CLI) describe-service-updates command. For more information, see describe-service-updates.
Note: If you receive errors when running AWS CLI commands, make sure that you're using the most recent AWS CLI version.
You can also check available service updates from the ElastiCache console. Use the following instructions to view updates from the console:
- Open the ElastiCache console.
- Choose Service updates. You can view all service updates, descriptions, and the status for your ElastiCache fleet.
How do I determine what's being fixed in the service update?
Check the Update description section in the service update details to understand the fix or improvement.
How do I apply the service update?
You can apply the service updates as soon as it's released and is available. It's a best practice to apply the update as soon as you can after receiving the service update notification.
To apply a service update on your cluster, run the AWS CLI batch-apply-update-action command. For more information, see batch-apply-update-action.
To apply the service update using the ElastiCache console, use the following instructions
- Open the ElastiCache console.
- Choose Service Updates.
- Select the service update that you want to apply and then choose Apply now. For more information, see Applying the service updates using the console.
Note: You can apply only those service updates with an Available or Scheduled status.
What is the impact of applying a service update?
For Redis, the update is applied to no more than one node at a time within each shard. The nodes being updated experience downtime of few seconds, while the rest of the Redis cluster continues to serve traffic. The replacement might take longer in certain instance configurations and traffic patterns. For example, Redis primary nodes might not have enough free memory, and might be experiencing high write traffic.
For Memcached nodes, the replacement process brings up an empty new node and terminates the current node. The cache contents are removed to start fresh. The new node is unavailable for a short period during the switch. After they're switched, your application might see performance degradation while the empty new node is populated with cache data. To minimize the impact, the update is applied to one node at a time. Because Memcached nodes don't need to sync, their replacement completes faster, regardless of node sizes.
Note: For both Redis and MemCached, there is no change in the cluster configuration. You might see a delay in your Amazon CloudWatch metrics that catch up as soon as possible.
To minimize impact during the service update, refer to the following three questions in Amazon ElastiCache managed maintenance and service updates help page:
- How long does a node replacement take?
- How does a node replacement impact my application?
- What best practices should I follow for a smooth replacement experience and minimize data loss?
Is the service update mandatory?
If the Auto-update after due date attribute is set to Yes, then it's a mandatory service update and must be applied.
What do I do if the service updates Apply-by date has passed?
If you don't apply the updates by the Apply-by date, Amazon ElastiCache starts scheduling the update in your maintenance window. The update is scheduled in the cluster’s maintenance window. You will receive a new notification one week before the scheduled date. Amazon ElastiCache won't apply the update in your maintenance window without advance notification.
Note: You can still apply the service update before the scheduled automatic update date even after the Apply-by date. After you apply the update, the scheduled automatic update is voided.
What do I do with expired service updates?
You can't apply an expired service update. However, new nodes contain all the applicable service updates. You can manually replace the existing nodes that weren't updated to get the latest updates. Nodes launched after the service update's Release date automatically receive past updates. For more information on replacing nodes manually, see Replacing nodes (Redis) and Replacing nodes (MemCached).
Note: If you miss applying the update before the Update expiration date, the update is included in the next service update.
What do I do if I there are multiple service updates for the same cluster?
Service updates are always cumulative. If you have more than one service update for the same cluster for security and performance improvement, you can apply the latest one. All outstanding applicable updates are applied.
How do I reschedule a mandatory service update?
Security is a shared responsibility. So, it's a best practice to apply the service update as soon as possible. If the scheduled time isn't suitable for you, you can defer the service update by changing the maintenance window. After you change the maintenance window and the scheduled date has passed, the service update is rescheduled to the newly specified window in the following weeks. You receive a new notification one week before the new date.
How do I reschedule an optional service update?
It's a best practice to apply all self-service updates in a timely manner to maintain compliance, regardless of whether the update is mandatory or not. If the service update has the attribute Auto-update after due date set to No, Amazon ElastiCache won't auto apply the update. If you don't install the update by the Update expiration date, it's skipped and there is no action needed. If you want to apply expired updates, see the previous section: What do I do with expired service updates?
How do I get additional help?
If you find an issue during or after applying a service update, contact the AWS Support team.