Добавляли вторую S3 репликацию - была в азии для скорости, добавили орегон для бэкапа.
Написали новое правило репликации с filter {} как в примерах. Старое правило оставили без него - зачем? Поле пустое, параметров там никаких.
Сэкономили на строках и буквах.
api error InvalidRequest: Number of distinct destination bucket ARNs cannot exceed 1
Внезапно выяснилось:
S3 replication есть в двух версиях конфига. V1 - без filter. V2 - с filter, даже пустым. Multiple destinations поддерживаются только в V2. И если в одном конфиге есть хотя бы один V2 rule - все остальные тоже должны быть V2.
Без filter {} AWS молча считает rule версией V1.
В официальной документации есть в примерах и написано что его можно заполнить через . Что его отсутствие определяет версию конфига - не написано.
Хорошая техническая документация должна быть однозначной. Встречается очень редко.
Фикс: добавили filter {} к старому правилу, оба стали V2, multiple destinations заработал.