Облачное хранилище Cost Optimization: Save Up to 70%
Сократите cloud storage costs с proven optimization strategies. Хранилище class selection, lifecycle policies, и cost monitoring techniques.
Сократить счёт за облачное хранилище на 50–70% позволяют пять последовательных шагов: перевести тёплые данные из S3 Standard ($0,023/ГБ) в S3 Glacier Instant ($0,004/ГБ) или Backblaze B2 ($0,006/ГБ); устранить плату за исходящий трафик через Cloudflare R2 (нулевой egress) для пользовательских загрузок; перевести холодные данные в Glacier Deep Archive ($0,00099/ГБ); удалить осиротевшие незавершённые multipart-загрузки и старые снимки; ввести бюджеты на команду с оповещениями через CloudWatch или Azure Cost Management. Рабочая нагрузка 100 ТБ за $2 300 в месяц на S3 Standard падает до $690 на Glacier Instant и $99 на Deep Archive — это не маркетинг, а арифметика.
Сначала — инвентаризация расходов
Оптимизация без измерений — это угадывание. До любых изменений получите инвентарь хранилища:
aws s3api list-buckets --query 'Buckets[].Name' --output text | \
xargs -I{} aws s3 ls s3://{} --recursive --summarize
Лучше: запустите S3 Storage Lens или анализатор хранилища в Azure Cost Management. Нужны данные по бакетам: количество объектов, суммарный объём, средний размер объекта и распределение по классам хранения. Правило 80/20 почти всегда работает — один-два бакета содержат 80% расходов, и именно там оптимизация даёт максимальный эффект.
Пометьте каждый бакет тегами owner, env, project, lifecycle-policy — тогда отчёты о затратах будут адресованы конкретным людям, способным принять меры.
Выбор правильного класса хранения под каждый паттерн доступа
Классы хранения существуют, потому что единый тариф не подходит каждой рабочей нагрузке. Укрупнённые категории:
- Горячее (ежедневные чтения): S3 Standard, Azure Hot, GCS Standard. Наценка за малую задержку.
- Тёплое (ежемесячные чтения): S3 Standard-IA, Azure Cool, GCS Nearline. На 40–60% дешевле.
- Холодное (ежеквартальные чтения): S3 Glacier Instant, Azure Archive, GCS Coldline. На 80% дешевле Standard.
- Архив (ежегодно или никогда): Glacier Flexible / Deep Archive. На 95% дешевле.
Попадание файла не в тот класс обходится дважды: либо вы переплачиваете на премиальных классах, либо платите комиссию за восстановление каждый раз, когда обращаетесь к холодному файлу. Glacier Deep Archive берёт $0,02 за ГБ восстановления плюс комиссию за запрос; разовое извлечение датасета в 1 ТБ стоит $20+ сверх экономии на хранении.
Безопасный вариант по умолчанию для новых бакетов: S3 Intelligent-Tiering — автоматически перемещает объекты между уровнями доступа по истории использования. Комиссия за мониторинг 2,5 цента за 1000 объектов оправдана для рабочих нагрузок с непредсказуемым паттерном.
Lifecycle-политики, выполняющие основную работу
Типичная lifecycle-политика самостоятельно снижает 60% расходов:
{
"Rules": [{
"ID": "age-out",
"Status": "Enabled",
"Transitions": [
{ "Days": 30, "StorageClass": "STANDARD_IA" },
{ "Days": 90, "StorageClass": "GLACIER_IR" },
{ "Days": 365, "StorageClass": "DEEP_ARCHIVE" }
],
"Expiration": { "Days": 2555 },
"AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 }
}]
}
Согласовывайте пороги с реальным затуханием доступа. Для транзакционных логов: 14 дней горячее, 30 дней тёплое, 90 дней холодное. Для медиаархивов первый переход может быть 90+ дней. Строка AbortIncompleteMultipartUpload принципиально важна: брошенные multipart-сессии способны незаметно накопить сотни ГБ оплачиваемого хранилища, которое никто не видит.
Устранение платы за исходящий трафик
Egress нередко составляет 30–50% счёта за облачное хранилище и является наиболее простым в атаке. Варианты:
- Cloudflare R2: нулевой egress, S3-совместимый, $0,015/ГБ хранения. Для пользовательских загрузок через CDN — очевидный выбор.
- Backblaze B2 + Cloudflare Bandwidth Alliance: egress в Cloudflare бесплатный, далее CDN обслуживает пользователя.
- Wasabi: egress бесплатен в объёме до 1× хранимого объёма в месяц.
- AWS S3 + CloudFront: egress CloudFront ($0,085/ГБ) дешевле прямого egress S3, и между S3 и CloudFront в одном регионе — нулевой.
Для внутренних рабочих нагрузок включите VPC Gateway Endpoints для S3 — они устраняют комиссию за обработку NAT Gateway (которая может превысить стоимость хранения). При репликации между регионами явно указывайте регионы и минимизируйте трафик, удерживая cross-region egress ниже $0,02/ГБ.
Сжатие и дедупликация
Прежде чем платить за хранение, сократите то, что храните:
- Текст и логи: сжатие zstd обычно даёт соотношение 8:1. Пайл логов 10 ТБ превращается в 1,25 ТБ хранимого.
- Изображения: перекодирование PNG в WebP или AVIF даёт 60–80% уменьшения размера пользовательских ресурсов.
- Видео: H.265 или AV1 вместо H.264 — файлы на 30–50% меньше при эквивалентном качестве.
- Резервные копии: restic и Borg дедуплицируют между снимками — рабочий набор 1 ТБ с ежедневными резервными копиями сжимается примерно до 1,2 ТБ при хранении за 30 дней.
Сжатие — это CPU за байты. При стоимости хранения $0,023/ГБ/мес. против EC2 ~$0,05/час, сжатие почти всегда окупается за дни.
Удаление забытого
Давно работающие аккаунты накапливают незаметный мусор, который обнаруживается только при аудите:
- Осиротевшие EBS-снимки: снимки старше своих исходных томов или старше 90 дней без тегов
- Старые AMI: каждый деплой публикует новый AMI; старые продолжают тарифицироваться до отмены регистрации
- Бакеты с версионированием без lifecycle: каждая версия объекта считается в объём хранения, а версионирование включено по умолчанию
- Хранение логов: CloudWatch Logs по умолчанию хранит бессрочно — годы тарифицируемых логов
- Заброшенные бакеты: проекты уволившихся сотрудников, тестовые среды миграций прошлых лет
Ежеквартальный обход через AWS Trusted Advisor или aws-nuke в непродакшен-аккаунте выявляет кандидатов. Для продакшена требуйте двухнедельного уведомления владельцам до удаления и храните снимок восстановления 30 дней после.
Зарезервированные мощности и планы экономии
AWS и Azure предлагают предоплатные скидки на предсказуемое хранилище. Классы хранения S3 резервирования не имеют, но EBS и EFS — через Compute Savings Plans. Azure предлагает Reserved Capacity для Blob Storage: обязательство на 100 ТБ на год экономит около 17%.
Резервирование оправдано только при уверенном прогнозе использования. Если оптимизация ещё не завершена — сначала завершите её. Зарезервированные мощности на неоптимизированном хранилище — это предоплата мусора.
Мониторинг и оповещения о расходах
Ежемесячный обзор затрат приходит слишком поздно — нужны ежедневные сигналы. Настройте:
- Ежедневные оповещения об аномалиях через AWS Cost Anomaly Detection или Azure Anomaly Detection. Уведомление в Telegram при отклонении суточных расходов на любой сервис более чем на 20% от 7-дневного среднего.
- Бюджеты по бакету с жёсткими сигналами тревоги при 80%, 100% и 120% прогнозируемых ежемесячных расходов.
- Оповещения о скачках egress: GET-трафик на отдельном бакете, превышающий 2× базовый уровень за час — сигнал утёкшего URL или скрейпера.
- Прогнозы роста: экстраполируйте рост хранилища на 6 месяцев вперёд и отмечайте бакеты, которые при текущей траектории превысят $10 000/мес.
Дашборды хороши; оповещения лучше дашбордов. Никто не проверяет дашборд, пока не получит счёт.
Управление: затраты как KPI
Оптимизация затрат без непрерывности не закрепляется. Три практики, сохраняющие результат:
- FinOps-встречи: ежемесячные 30-минутные встречи по командам, выделяющие топ-3 драйвера затрат и один пункт действий.
- Chargeback или showback: распределение облачных затрат по продуктовым линиям. Команда, выпускающая новую аналитическую функцию, ощутит плату за S3 PUT.
- Шаблоны PR с обязательными оценками затрат: новая инфраструктура в Terraform PR должна включать строку с ожидаемой ежемесячной дельтой (здесь интегрируется Infracost).
HexaTransfer держит затраты низкими, храня только шифротекст (без генерации превью, без серверной расшифровки) в объектном хранилище с нулевым egress. Попробуйте на hexatransfer.com — бесплатно, без аккаунта, до 10 ГБ.
Всё вместе
Реалистичный 6-месячный план для 100 ТБ: неделя 1 — инвентаризация и тегирование всех бакетов; недели 2–3 — применение lifecycle-политик с переходами 30/90/365 дней; месяц 2 — перевод пользовательских загрузок на R2 и устранение egress; месяц 3 — сжатие логов через zstd и перекодирование медиа; месяц 4 — очистка осиротевших снимков, старых AMI и заброшенных бакетов; месяц 5 — запуск FinOps-встреч и ежедневных оповещений о затратах; месяц 6 — оценка зарезервированных мощностей после стабилизации расходов. Команда, выполнившая этот план, как правило, достигает 50–70% экономии без героической реархитектуры — только дисциплина, применяемая к небольшим, чётко ограниченным шагам.
Безопасная отправка больших файлов со сквозным шифрованием
Передавайте файлы до 10 ГБ бесплатно со сквозным шифрованием. Регистрация не требуется. Ваши файлы шифруются в браузере перед загрузкой — никто другой не может их прочитать.
Отправить файл