O Memcache (e o ElastiCache por extensão) não é um armazenamento de dados persistente e seguro. É um mecanismo de cache. Seu objetivo é melhorar a velocidade da aplicação. Por seu design, o memcache irá remover dados antigos à medida que novos dados chegam, se os limites de memória estiverem sendo atingidos.
Replicação e "tolerância a falhas" não fazem parte do sistema memcache.
Por esse motivo, seu aplicativo não deve depender dos dados presentes. Em vez disso, ele deve ficar feliz em acessar dados armazenados em cache e armazenar dados para armazenamento em cache quando não forem atingidos.
Se você estiver procurando por uma interface de cliente memcache "fácil", dependendo do seu idioma de desenvolvimento, você pode verificar o ServiceStack (www.servicestack.net). Eles têm uma biblioteca .NET chamada ServiceStack.Caching, que você pode usar como um cliente memcache. Eu não tentei, mas eu diria (e espero) que também funcione com o ElastiCache.