Самое простое решение добавить уникальный индекс на поле, которое должно быть уникальным. В таком случаи монга не даст вставить новый документ с дублирующимся значением.
В первую очередь нужно начать изучение с VPC, EC2 и ELB.
Для базовой безопасности достаточно минимального понимания VPC. Грубо говоря VPC - это ваша личная сеть внутри AWS. По умолчанию машинки добавленные в вашу VPC не доступны снаружи. Входящий трафик можно прокидовать через ELB.
Для конфигурирования посоветую https://www.terraform.io/. Настраивая AWS через него конфигурацию всегда можно будет воспроизвести. И легче будет окинуть взглядом инфраструктуру.
Есть ещё одни вариант — использовать облачные сервисы, который сам умеет хранить, "нарезать" и раздавать картинки.
Я пользовался cloudinary.com, но у меня были небольшие нагрузки. Так что я не могу сказать на сколько эффективно он будет справляться. Если не будет устраивать cloudinary, то, думаю, что найдутся и другие аналоги.
Использовать puma не обязательно. Но можно если хочется.
Если хотите на сервере держать несколько ресурсов, то достаточно настроить рельсовые сервера на разные порты или unix-сокеты.
А в настройках nginx нужно будет прописать несколько секция server. В каждой секции будет свой server_name (доменное имя ресурса) и каждая секция будет проксировать (через секцию proxy_pass) запросы на свой рельсовый сервер (порт или unix-сокет). И нужно не забыть настроить для каждой секции директиву root так что бы она смотрела на public директорию нужного ресурса.