У нас есть веб-приложение, размещенное на EC2. Мы используем два сервера Ubuntu: один - веб-сервер, второй - сервер базы данных. Веб-серверу назначен общедоступный эластичный IP-адрес. Теперь мы хотим отправлять письма с уведомлениями из приложения (уведомления об изменениях в системе, сделанных другими пользователями). Самым простым решением было бы установить SMTP-сервер postfix на веб-сервере и зарегистрировать его эластичный IP-адрес в форме регистрации сервера электронной почты Amazon (чтобы они регистрировали обратный DNS, снимали ограничения на передачу почты и т. Д.). Надеюсь, это сработает без особых проблем (поправьте меня, если я ошибаюсь).
Если нагрузка на веб-сервер возрастет, мы планируем запустить дополнительные экземпляры EC2 с репликами веб-сервера, настроить балансировщик нагрузки Amazon перед ними и переназначить эластичный IP-адрес на этот балансировщик нагрузки - так, чтобы снаружи он все еще выглядел как один сервер. Но что тогда с SMTP-сервером?
Я думаю, что лучшим решением было бы запустить локальный сервер postfix на каждом из этих веб-серверов, чтобы приложение, работающее на каждом веб-сервере, всегда контактировало с локальным сервером postfix через localhost. Тем не менее, со стороны это будет выглядеть как один запущенный почтовый сервер из-за одного общедоступного IP-адреса. Но я не разбираюсь в SMTP, как работает процесс отправки писем и т. Д.
Возможно, я не знаю чего-то, что могло бы сломать такую установку. Как вы думаете, такой подход подходит?
У меня сложилось впечатление, что многие (все?) IP-адреса AWS уже занесены в черный список как источники спама, поэтому доставляемость почты, отправляемой с них, будет не очень хорошей.
Кроме того, использование хоста AWS в качестве почтового сервера кажется мне плохим выбором, потому что он может исчезнуть в любой момент - вместе с недоставленным электронным письмом.
Было бы разумнее, если бы каждый хост AWS передавал почту либо сервису, который платит за обработку исходящей почты, либо контролируемому вами VPS или традиционному серверу, который будет доступен примерно круглосуточно. Это значительно упростит настройку записи SPF и т. Д., Чтобы максимизировать шансы того, что кто-то увидит вашу почту.
Вы можете взглянуть на Рекомендации по SMTP сервисам для массовой рассылки или Ретранслятор Sendmail из Amazon EC2? для получения дополнительных идей.
Думаю, я уже знаю ответ. Это не сработает, потому что серверы smtp будут отправлять почту напрямую, а не туннелировать через эластичный балансировщик нагрузки. Таким образом, их IP-адрес будет отличаться от общедоступного IP-адреса, назначенного балансировщику нагрузки, а обратный DNS-сервер не будет соответствовать, поэтому сообщения будут потенциально помечены как спам. Похоже, мне нужен один сервер с постоянным IP-адресом для запуска SMTP-сервера.