Как отслеживать и оптимизировать стоимость исходящего трафика EC2

Быстрые ссылки
- EC2: почему исходящий трафик стоит денег
- Как смотреть объём трафика в CloudWatch
- Как посмотреть реальную стоимость трафика через Cost Explorer
Почему исходящий трафик EC2 стоит денег
Данные, которые попадают на ваши инстансы (входящий трафик), бесплатны. Однако данные, которые инстансы отдают в интернет, тарифицируются. Цена зависит от региона. В большинстве регионов базовая ставка составляет примерно $0.09 за ГБ. AWS даёт 1 ГБ бесплатного исходящего трафика (это доступно даже при окончании free tier). После передачи более 10 ТБ стоимость снижается по шкале скидок.
Перенос данных между регионами тоже платный: примерно $0.01 за ГБ при передаче в US East и $0.02 за большинство других направлений. Передача между зонами доступности (AZ) стоит ~ $0.01 в каждом направлении, если вы используете публичные IP. Передача внутри одной зоны доступности бесплатна при использовании приватных IP. Поэтому размещайте связанные машины в одной AZ и используйте приватные адреса для межмашинного общения.
Если у вас много статики, рассмотрите хранение её в S3 и доставку через CloudFront. Хранение в S3 обычно дешевле, чем держать статику на EBS, а CloudFront в большинстве случаев стоит около $0.085 за ГБ и имеет 50 ГБ бесплатного трафика в рамках free tier. Трафик из S3 в CloudFront не тарифицируется.
Важно: приведённые тарифы — ориентировочные. Всегда сверяйтесь с актуальными ценами в консоли AWS или в таблице цен на сайте AWS для вашего региона.
Как смотреть объём исходящего трафика в CloudWatch
AWS предоставляет метрику NetworkOut для каждого EC2-инстанса в CloudWatch. Это та метрика, которая показывает объём отправленных байт.
Шаги для просмотра:
- Откройте CloudWatch в консоли AWS.
- Перейдите в Metrics → EC2.
- Выберите NetworkOut для нужного инстанса.
- Убедитесь, что агрегация графика стоит на Sum, а не на Average. Sum покажет суммарный объём за период, Average — среднюю скорость.
- Выберите временной интервал и, при необходимости, выделите область на графике для детального просмотра.

CloudWatch позволяет настроить оповещения при аномалиях и резких всплесках трафика. Это полезно, когда неожиданный рост трафика может привести к большому счёту.
Ограничение CloudWatch: по умолчанию вы видите линию времени и динамическую метку. Чтобы увидеть суммарный объём за период, создайте Dynamic Label с функцией SUM. Тогда под названием метрики появится суммарное значение в байтах.

CloudWatch вернёт число в байтах. Пересчёт делайте вручную: разделите на 1024 для КБ, ещё раз для МБ, и ещё раз для ГБ. Учтите, что динамическая метка не всегда пересчитывается при интерактивном зуме; для точного результата указывайте точный временной диапазон (например: 2019-09-13 04:42 - 2019-09-13 05:42).

Как увидеть реальную стоимость трафика через Cost Explorer
Чтобы узнать, сколько конкретно вы платите за исходящий трафик EC2:
- Откройте Billing → Cost & Usage (Cost Explorer).
- Включите фильтр по Usage Type и укажите фильтр по сервису EC2.
- При необходимости используйте дополнительные фильтры: тег инстанса, аккаунт, регион.
- Выберите временной диапазон (по умолчанию показывает последние 6 месяцев; для детального анализа выберите неделю или месяц).
Так вы увидите деньги, списанные именно за трафик EC2, а не только объём в байтах.

Мини‑методология: как точно посчитать расходы на трафик
- Снимите суммарные байты за период из CloudWatch (SUM NetworkOut). Запишите значение в байтах.
- Пересчитайте байты в ГБ: ГБ = байты / 1024 / 1024 / 1024.
- Уточните применимую ставку в вашем регионе (например, $0.09/ГБ). Если трафик идёт между регионами или AZ, учтите особые тарифы.
- Примените градации скидок, если суммарный трафик превышает пороги (например, 10 ТБ).
- Сравните полученную сумму с данными Cost Explorer, чтобы проверить корректность расчетов.
Альтернативные подходы и рекомендации по оптимизации
- Перенесите статические файлы в S3 и используйте CloudFront для доставки. Это уменьшит нагрузку на EC2 и часто сократит стоимость за ГБ.
- Используйте приватные IP и размещайте связанные сервисы в одной AZ, чтобы избежать платы за межзоновые передачи.
- Применяйте VPC endpoints и приватные соединения для уменьшения публичных трансферов.
- Рассмотрите сторонние CDN, если у них есть выгодные тарифы или присутствие в нужных регионах.
Когда это не поможет
- Если основная нагрузка генерируется динамическим контентом с частыми изменениями, кэширование через CDN может не дать значительного снижения трафика.
- Если ваши пользователи находятся в тех же AZ, что и серверы, дополнительные оптимизации по трансферу между регионами не помогут.
Факты и ключевые числа
- Ориентировочная стоимость исходящего трафика EC2: $0.09/ГБ.
- Бесплатно: 1 ГБ исходящего трафика для аккаунта.
- Снижение цены: после передачи 10 ТБ доступны скидки.
- Межрегиональные передачи: ~ $0.01/ГБ в US East, ~ $0.02/ГБ для некоторых других направлений.
- AZ-переводы: ~ $0.01/ГБ в каждом направлении при использовании публичных IP.
- CloudFront: ~ $0.085/ГБ и 50 ГБ бесплатного трафика в рамках free tier.
Роль‑ориентированные чек‑листы
DevOps:
- Проверить NetworkOut для всех инстансов.
- Настроить оповещения в CloudWatch на резкий рост трафика.
- Перенести статику в S3 и выставить CloudFront.
- Настроить приватные IP внутри VPC и единые AZ по необходимости.
Финансы:
- Настроить Cost Explorer и фильтры по Usage Type.
- Связать расходы с тегами проектов и командами.
- Проверять аномалии расходов еженедельно.
Продукт:
- Оценить, какой контент можно кэшировать.
- Рассмотреть компромисс между задержкой и стоимостью доставки.
- Приоритизировать регионы для размещения контента с учётом аудитории.
Риски и меры
- Риск: неожиданный всплеск трафика → Мера: оповещения в CloudWatch.
- Риск: неправильный расчёт из‑за единиц измерения → Мера: стандартизировать пересчёт байт → ГБ.
- Риск: скрытые платежи за межрегиональные передачи → Мера: карта архитектуры сетевых коммуникаций.
Критерии приёмки
- CloudWatch показывает суммарный объём NetworkOut за период и это значение пересчитано в ГБ.
- Cost Explorer показывает соответствующую денежную сумму за тот же период и фильтрован по Usage Type=EC2.
- Разница между расчётом и Cost Explorer не превышает разумной погрешности (учёт округлений, скидок).
Краткое резюме
Отслеживание исходящего трафика EC2 важно, чтобы избежать неожиданных счетов. Используйте CloudWatch для объёма и Cost Explorer для финансов. Перенос статики в S3 и доставка через CloudFront — простое и эффективное решение экономии. Наладьте оповещения и сверяйте расчёты по ролям.
Важно: перед оптимизацией проверьте тарифы для вашего региона и протестируйте изменения на небольшой выборке трафика.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone