Перейти к содержанию
HexaTransfer
Вернуться к блогу
Облако и хранение

Облачное хранилище 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 ГБ бесплатно со сквозным шифрованием. Регистрация не требуется. Ваши файлы шифруются в браузере перед загрузкой — никто другой не может их прочитать.

Отправить файл