S3 выглядит дёшево. Пока не посмотришь в счёт.
Коллега рассказал: предложили им сделать бэкап данных в Yandex Cloud. 600ТБ. Посчитали egress из S3. Разговор закончился.
У меня была похожая история, но поменьше.
~60ТБ в S3, три аккаунта, около 50 бакетов. Приложение крутится в GKE. Данные идут из S3 в приложение - платим S3 egress на каждом запросе. Попросили посмотреть: может дешевле держать в GCP Buckets, раз уж инфра там?
Посчитал только хранение: S3 $1,422/мес, GCS $1,237/мес. Разница $185. Egress при переезде $5,530 разово. Окупаемость ~30 месяцев.
Посчитал трафик: $101/мес egress S3→GKE - внутри GCP бесплатно.
Итого: экономия $286/мес. Окупаемость ~19 месяцев.
Но вот что интересно.
Трафик показывает: из 60ТБ за год выкачивается дай бог треть. Остальное - мёртвый груз.
Что реально делать:
Включить Storage Lens - хотя бы бесплатный. Понять что вообще есть в этих бакетах, что читается, что лежит мёртвым грузом. Потом сесть и проверить содержимое: старые ушедшие клиенты, старые версии, просто мусор. Да, долго и муторно. Но скорее всего половину можно просто удалить.
Переписать приложение: при получении файла из S3 - сохранять копию в GCS. Самые используемые файлы переедут сами, постепенно, без разового egress на $5,500. Да, это время разработчика - которого всегда не хватает и которое можно потратить на фичи или закрытие уязвимостей.
Никто этого не делает. Потому что больно, долго, не горит.
А Amazon тебя не торопит. Просто регулярно выставляет счёт.