Назад | Перейти на главную страницу

Отслеживайте, что заставляет AWS RDS использовать безумно высокую пропускную способность

У нас высокий трафик (100 тыс. Обращений в день), новостной сайт Drupal размещен на AWS. За ним стоит cloudflare и 2 сервера Varnish с балансировкой нагрузки. По какой-то причине использование полосы пропускания для RDS очень велико. Это после того, как все таблицы кеша размещены в memcache в Elastic Cache. 100% трафика анонимны. За исключением нового или обновленного контента трафик обслуживается лаком.

Но все же пропускная способность RDS очень высока. Например, к 18-му числу этого месяца объем использования уже составляет 15 ТБ +. Эта стоимость убивает весь сайт.

Как мы можем определить, что поглощает всю полосу пропускания? Как нам найти первопричину?

См. Подробную информацию, скопированную на моей странице выставления счетов:

Bandwidth
$0.000 per GB - data transfer in per month  -   4.808 GB  -     $0.00
$0.000 per GB - first 1 GB of data transferred out per month    -  1 GB  -  $0.00
$0.010 per GB - regional data transfer - in/out/between EC2 AZs or using IPs or ELB  -  15,147.744 GB   - $151.48
$0.120 per GB - up to 10 TB / month data transfer out   - 20.759 GB      -  $2.49


Total: $153.97
Region Total:   $154.04

Вы всегда должны использовать частный IP-адреса для связи между различными компонентами инфраструктуры (RDS, ElastiCache и т. Д.). Если вы используете общественный IP-адрес, тогда вам будет выставлен счет за региональную передачу данных, потому что трафик уходит и повторно входит в AWS.

Тщательно проверьте свое приложение на предмет того, что некорректно обращается к внутреннему компоненту с использованием общедоступного IP-адреса.

Пункт «региональная передача данных - вход / выход / между зонами доступа EC2 или с использованием IP или ELB» учитывает передачу данных:

  • Между экземплярами EC2 не используя частный IP
  • Между экземплярами EC2 в разных зонах доступности
  • Между экземплярами EC2 и ELB

Если ваша цена за "региональная передача данных - вход / выход / между зонами доступа EC2 или с использованием IP-адресов или ELB"составляет 151,48 доллара США, то это означает, что сумма данных, переданных за эти 3 единицы, составляет 15,148 ТБ.

Так всегда используйте частный IP адрес при передаче данных на EC2 в той же зоне доступности. Это, наверное, твоя проблема.

Если вы хотите избавиться от этой стоимости, вам следует использовать все инстансы EC2 в одной зоне доступности, но я бы не рекомендовал. Если что-то случится с выбранной зоной доступности, вероятно, ваш сервис отключится.

Вы можете использовать отчеты AWS Billing and Cost Management, чтобы узнать, какие из них вносят наибольший вклад в эти расходы, просто добавьте теги в свои экземпляры и в консоли AWS Billing and Cost Management создайте Отчет по ведру S3.