Поиск по сайту:

Как уменьшить счет за использование данных AWS


Ни для кого не секрет, что цены на AWS высоки, и данные, в частности, стоят дорого. Вычисления могут быть дешевыми с такими услугами, как функции Lambda и экземпляры EC2, но если вы передаете много данных, вам придется за это платить. Вот как уменьшить этот счет.

Используйте CDN CloudFront от AWS

CloudFront — это сеть доставки контента или CDN, служба, которая находится перед вашим веб-сайтом, API или любой другой веб-службой. Он кэширует результат рядом с границей (близко к пользователю), что повышает производительность, но также может снизить затраты, которые вы платите, несколькими способами.

Во-первых, у CloudFront гораздо больший уровень бесплатного пользования, к тому же он всегда бесплатный. Вы получаете 1 ТБ данных, целый терабайт, бесплатно каждый месяц. Обычный уровень бесплатного пользования AWS составляет 100 ГБ, поэтому для людей, использующих более 1 ТБ, одно только это изменение сэкономит вам 80 долларов в месяц.

Для крупных компаний, которые тратят гораздо больше, CloudFront также предлагает агрессивные цены за гигабайт данных. Если вы сравните цены EC2 с ценами CloudFront, вы увидите, что CloudFront предлагает огромную экономию по сравнению со стандартными ценами EC2. Цены на данные AWS являются многоуровневыми, поэтому для первых 50 ТБ вы сэкономите 6 %, затем 15 %, а затем до 50 %, если вы достигнете уровня данных в петабайтах.

Наконец, CloudFront может сэкономить вам деньги еще одним способом. снизив нагрузку на исходные серверы с помощью пограничного кэширования, вам потребуется меньше исходных серверов. С CDN серверы CloudFront примут на себя основной удар, а это означает, что вы сможете меньше тратить на вычисления каждый месяц.

Важно отметить, что CloudFront предназначен не только для веб-сайтов — его можно использовать для кэширования любых веб-запросов, таких как запросы GET с высоким трафиком к API. Даже если это не кеширование, вы все равно можете разместить его перед своим API для передачи данных через него, сэкономив при этом деньги.

Используйте AWS Lightsail

Стремясь конкурировать с более простыми хостинг-провайдерами, ориентированными на обычных людей, такими как Digital Ocean, AWS создала Lightsail, который предлагает простые цены на простые вычислительные экземпляры, базы данных и сети. Эти экземпляры предназначены для запуска базового программного обеспечения хостинга, такого как WordPress и NGINX, и их легко настроить с помощью готовых шаблонов.

Важная часть заключается в том, что каждый пакет поставляется с фиксированной пропускной способностью по очень низкой цене. Например, инстанс за 5 долларов имеет пропускную способность 2 ТБ, которая стоит 85 долларов в CloudFront, включая 1 ТБ на уровне бесплатного пользования.

Это здорово, но есть одна загвоздка:

51.3. Вы не имеете права использовать Amazon Lightsail таким образом, чтобы избежать взимания платы за передачу данных с других Сервисов (например, проксировать сетевой трафик из Сервисов в общедоступный Интернет или другие места назначения или выполнять чрезмерную обработку данных с помощью балансировки нагрузки или Сервисов сети доставки контента (CDN), как описано выше. в Документации), и если вы это сделаете, мы можем ограничить или приостановить ваши услуги передачи данных или приостановить действие вашей учетной записи.

На практике это означает, что Lightsail должен работать в своем собственном VPC, и вам не следует подключать к нему внешние сервисы, такие как EC2 или S3, с намерением проксировать его, чтобы сэкономить деньги. Этот пункт расплывчатый, поэтому неясно, позволяет ли AWS, например, обрабатывать изображения на объектах S3 из экземпляра Lightsail, но если вы используете 100% Lightsail, все должно быть в порядке.

Разгрузка во внешние службы

Иногда есть просто сервисы, которые могут предложить более выгодную сделку, и решение состоит в том, чтобы просто не использовать AWS для вещей, которые стоят вам больше всего денег. Как правило, вы не привязаны к какому-либо конкретному поставщику облачных услуг, и существует множество способов использования нескольких сервисов или «многооблачных» сред, которые могут быть выгодны.

Одна вещь, на которую вы должны обратить внимание, — это передача тонн данных между облаками. Например, данные, переданные из AWS в Google Cloud Platform или Azure, будут учитываться в вашем счете за передачу данных, поскольку они все еще передаются из AWS через открытый Интернет. Если вы не будете осторожны, мультиоблако может стоить дороже.

Например, AWS S3 может быть дорогим. Вы могли бы подумать, что основная стоимость будет связана с хранением данных, но если вы предоставляете контент из него, вы также платите за данные, и вы также платите за каждый тип запроса. Для контента с высоким трафиком это может легко составлять сотни долларов в месяц, в то время как вы почти ничего не платите за «дешевое хранилище».

Одним из решений этой проблемы является переход на другой сервис, совместимый с S3. S3 имеет определение API, и другие сервисы могут его реализовать, например, Digital Ocean Spaces. Spaces — это базовая реализация, но она надежна и намного дешевле, чем S3, с точки зрения затрат на передачу данных. Вы даже можете самостоятельно разместить S3 на своих серверах.

Разгрузка на выделенные серверы с фиксированной пропускной способностью

С облачными сервисами, предлагающими возможность создавать и уничтожать сотни виртуальных машин по желанию, легко забыть о существовании старого школьного решения — купить сервер без ПО в центре обработки данных.

Многие компании предложат выделенные серверы, которые не будут платить вам ни копейки за использование данных. OVH, третий по величине хостинг-провайдер в мире, продает машины с выделенным 500-мегабитным подключением к открытому Интернету.

Это не причудливое и не лучшее практическое решение, но если вы хотите сэкономить деньги, это всегда вариант. Вам все равно нужно убедиться, что вы не передаете много данных с AWS на другой сервер.

У вас есть локальное оборудование? Используйте прямое подключение AWS

Распространенной проблемой для крупных компаний является переход с локального оборудования на облачные сервисы. Иногда даже невыгодно переносить все, что вы можете запускать локально, поэтому обычно вы получаете гибридное решение, использующее облачное оборудование для вещей, которые экономят больше всего денег.

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

У AWS есть решение для этого, называемое AWS Direct Connect, которое представляет собой прямое подключение корпоративного уровня к AWS. Он по-прежнему взимает плату за данные, но по цене 0,02 доллара США за ГБ это намного меньше стандартной цены. Он также предлагает выделенную полосу пропускания до 100 Гбит/с.

Однако Direct Connect — это не просто служба, которую вы включаете, — для этого требуется фактическое прямое физическое соединение. Это можно организовать двумя способами: разместить совместно в центре обработки данных AWS Direct Connect, обратиться к партнеру AWS для настройки подключения к вашему центру обработки данных или приобрести узел Physical direct Connect.

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

Очевидное решение: уменьшите использование данных

Конечно, вы всегда можете снизить использование данных, оптимизировав размер отправляемых сообщений. Важно использовать сжатие Gzip и deflate, а также сжимать веб-контент с ваших серверов. Любые запросы, исходящие от AWS, стоят вам денег, поэтому минимизация этих запросов должна быть приоритетом.

Например, если вы предоставляете изображения из S3, вы, вероятно, захотите убедиться, что они максимально оптимизированы. Одним из преимуществ AWS является простота автоматизации, и довольно просто настроить автоматическую обработку изображений с помощью Lambda Functions. Это может легко уменьшить вдвое размер ваших изображений.

В любом случае, вы захотите взглянуть на свою сетевую архитектуру и посмотреть, есть ли способ, которым вы можете обслуживать ту же услугу, используя меньше данных.