Назад | Перейти на главную страницу

EC2 не может отправлять электронную почту SES за ELB

Мы запускаем вики в EC2, который находится за Elastic Load Balancer, EC2 не имеет общедоступного IP-адреса, и трафик из Интернета направляется в ELB через Route53. Мы заметили, что вики не отправляет электронные письма, и во время устранения неполадок я понял, что если я добавлю эластичный IP, тогда вики будет отправлять электронные письма нормально. Возможно, стоит отметить, что база данных и EC2 являются частью одного VPC, региона и учетной записи, но EC2 и Simple Email Service принадлежат разным учетным записям AWS.

Я проверил группу безопасности EC2, группу безопасности ELB и ACL сети VPC, все они разрешают исходящий трафик повсюду, что оставляет меня в недоумении, почему он не может подключиться к SES

В идеале нам не нужен публичный IP-адрес на EC2 для отправки электронной почты.

Есть ли что-нибудь, что я должен проверить, или есть известный способ заставить это работать?

Поскольку вы можете добавить эластичный IP-адрес в свой экземпляр EC2, я предполагаю, что он находится в публичной подсети. В вашей настройке вы не можете подключиться к Интернету (конечная точка SES в другом регионе) из вашего экземпляра EC2. Однако ваш балансировщик нагрузки (в той же общедоступной подсети) может подключиться к вашему экземпляру EC2, поэтому ваш сайт работает.

Самым простым решением было бы разместить ваш экземпляр EC2 в вашей частной подсети (например, в той, где находится ваша база данных). Затем вы можете маршрутизировать через свой NAT-шлюз в Интернет и иметь возможность отправлять почту через SES.

Обходной путь - присвоить экземпляру любой публичный IP-адрес. Это не обязательно должен быть эластичный IP.