banner
Центр новостей
Постоянно совершенствуем наши технологии и качество, чтобы оставаться в курсе тенденций отрасли.

Как снизить затраты на AWS: ошибки, из-за которых ваш счет резко возрастает

Jul 11, 2023

История только для участников

Ян Каммерат

Следовать

--

12

Делиться

Способность AWS предоставлять практически бесконечные ресурсы велика, и вам никогда не придется учитывать ограничения ресурсов при создании собственных облачных приложений. Однако есть экономический фактор, и ни у кого нет бесконечных бюджетов. Недавно я сократил счет моей компании за AWS для ряда учетных записей на 65 %, что составляет около 60 000 долларов США ежегодной экономии. Вам не нужно сложное программное обеспечение или инструменты для управления расходами, поскольку AWS уже предоставляет ряд сервисов, позволяющих держать ваши затраты под контролем. Факторы затрат почти всегда одинаковы для большинства клиентов и компаний.

Настоятельно рекомендуемый подход — пересматривать стоимость AWS как минимум ежеквартально, а в идеале — ежемесячно. Это включает не только проверку счетов, но и изучение услуг с помощью AWS Cost Explorer. Хотя Cost Explorer дает вам хорошее представление о том, что влияет на ваши затраты, он не предлагает решений, как их снизить. Для многих факторов затрат вам часто придется анализировать использование услуг с помощью CloudWatch. Давайте посмотрим на эти факторы затрат и на то, как с ними можно бороться. Мы также рассмотрим многие факторы, влияющие на затраты, которые вы не найдете в официальной документации или рекомендациях AWS.

Самый распространенный фактор затрат, с которым я столкнулся во многих компаниях, — это избыточное резервирование. Неудивительно, что избыточное выделение ресурсов также упоминается в сертификатах AWS Solutions Architect. Это относится к выделению ресурсов с памятью и вычислительной мощностью, значительно превышающей необходимую для вашего приложения мощность. Это могут быть экземпляры EC2 со слишком большим объемом памяти или функции Lambda, выделенные с избытком памяти или длительными таймаутами выполнения.

Может показаться глупым выделять для функции Lambda всего 512 МБ памяти. Однако если статистика выполнения показывает, что функция Lambda использует менее 400 МБ, вам следует рассмотреть возможность уменьшения выделяемой памяти. Распространенный подход для многих разработчиков — развертывание Lambda со слишком большим объемом памяти и слишком большим временем ожидания выполнения. Если ваша лямбда-выражение находится за шлюзом API, максимальное время выполнения в любом случае ограничено 30 секундами. Вычислительная мощность или доступные виртуальные ЦП вашей Lambda напрямую зависят от выделенного…