

# Event Notifications and Amazon SNS
<a name="memorydbsns"></a>

MemoryDB can publish messages using Amazon Simple Notification Service (SNS) when significant events happen on a cluster. This feature can be used to refresh the server-lists on client machines connected to individual node endpoints of a cluster.

**Note**  
For more information on Amazon Simple Notification Service (SNS), including information on pricing and links to the Amazon SNS documentation, see the [Amazon SNS product page](https://aws.amazon.com/sns).

Notifications are published to a specified Amazon SNS *topic*. The following are requirements for notifications:
+ Only one topic can be configured for MemoryDB notifications.
+ The AWS account that owns the Amazon SNS topic must be the same account that owns the cluster on which notifications are enabled.

## MemoryDB Events
<a name="memorydbSNS.Events"></a>

The following MemoryDB events trigger Amazon SNS notifications:


| Event Name | Message | Description | 
| --- | --- | --- | 
| MemoryDB:AddNodeComplete |  "Modified number of nodes from %d to %d"  | A node has been added to the cluster and is ready for use. | 
| MemoryDB:AddNodeFailed due to insufficient free IP addresses |  "Failed to modify number of nodes from %d to %d due to insufficient free IP addresses"  | A node could not be added because there are not enough available IP addresses. | 
| MemoryDB:ClusterParametersChanged | "Updated parameter group for the cluster"In case of create, also send `"Updated to use a ParameterGroup %s"` | One or more cluster parameters have been changed. | 
| MemoryDB:ClusterProvisioningComplete |  "Cluster created."  | The provisioning of a cluster is completed, and the nodes in the cluster are ready to use. | 
| MemoryDB:ClusterProvisioningFailed due to incompatible network state |  "Failed to create cluster due to incompatible network state. %s"  | An attempt was made to launch a new cluster into a nonexistent virtual private cloud (VPC). | 
| MemoryDB:ClusterRestoreFailed |  "Restore from %s failed for node %s. %s"  | MemoryDB was unable to populate the cluster with snapshot data. This could be due to a nonexistent snapshot file in Amazon S3, or incorrect permissions on that file. If you describe the cluster, the status will be `restore-failed`. You will need to delete the cluster and start over.<br />For more information, see [Seeding a new cluster with an externally created snapshot](snapshots-seeding-redis.md). | 
| MemoryDB:ClusterScalingComplete  | `"Succeeded applying modification to node type to %s."` | Scale up for cluster completed successfully. | 
| MemoryDB:ClusterScalingFailed | `"Failed applying modification to node type to %s."` | Scale-up operation on cluster failed.  | 
| MemoryDB:NodeReplaceStarted |  "Recovering node %s"  | MemoryDB has detected that the host running a node is degraded or unreachable and has started replacing the node. The DNS entry for the replaced node is not changed. <br />In most instances, you do not need to refresh the server-list for your clients when this event occurs. However, some client libraries may stop using the node even after MemoryDB has replaced the node; in this case, the application should refresh the server-list when this event occurs. | 
| MemoryDB:NodeReplaceComplete |  "Finished recovery for node %s"  | MemoryDB has detected that the host running a node is degraded or unreachable and has completed replacing the node. The DNS entry for the replaced node is not changed. <br />In most instances, you do not need to refresh the server-list for your clients when this event occurs. However, some client libraries may stop using the node even after MemoryDB has replaced the node; in this case, the application should refresh the server-list when this event occurs. | 
| MemoryDB:CreateClusterComplete |  "Cluster created"  | The cluster was successfully created. | 
| MemoryDB:CreateClusterFailed |  "Failed to create cluster due to unsuccessful creation of its node(s)." and "Deleting all nodes belonging to this cluster."  | The cluster was not created. | 
| MemoryDB:DeleteClusterComplete |  "Cluster deleted."  | The deletion of a cluster and all associated nodes has completed. | 
| MemoryDB:FailoverComplete | `"Failover to replica node %s completed"` | Failover over to a replica node was successful. | 
| MemoryDB:NodeReplacementCanceled |  "The replacement of node %s which was scheduled during the maintenance window from start time: %s, end time: %s has been canceled"  | A node in your cluster that was scheduled for replacement is no longer scheduled for replacement.  | 
| MemoryDB:NodeReplacementRescheduled |  "The replacement in maintenance window for node %s has been re-scheduled from previous start time: %s, previous end time: %s to new start time: %s, new end time: %s"  | A node in your cluster previously scheduled for replacement has been rescheduled for replacement during the new window described in the notification. <br />For information on what actions you can take, see [Replacing nodes](nodes.nodereplacement.md). | 
| MemoryDB:NodeReplacementScheduled |  "The node %s is scheduled for replacement during the maintenance window from start time: %s to end time: %s"  | A node in your cluster is scheduled for replacement during the window described in the notification. <br />For information on what actions you can take, see [Replacing nodes](nodes.nodereplacement.md). | 
| MemoryDB:RemoveNodeComplete |  "Removed node %s"  | A node has been removed from the cluster. | 
| MemoryDB:SnapshotComplete |  "Snapshot %s succeeded for node %s"  | A snapshot has completed successfully. | 
| MemoryDB:SnapshotFailed |  "Snapshot %s failed for node %s"  | A snapshot has failed. See the cluster’s events for more a detailed cause.<br />If you describe the snapshot, see [DescribeSnapshots](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeSnapshots.html), the status will be `failed`. | 