Как снизить стоимость хостинга веб-сайтов AWS (EC2, RDS) - PullRequest
0 голосов
/ 05 января 2019

Я новичок в AWS, поэтому у меня есть несколько вопросов. Я размещаю один статический веб-сайт и один динамический веб-сайт из одного экземпляра AWS t2.micro EC2. Я также размещаю небольшую (~ 5000 записей) базу данных MySQL на AWS RDS (db.t2.micro). Проблема в том, что мне платят около 40 долларов в месяц за размещение этих двух сайтов с низким трафиком и очень маленькой базы данных. Большая часть трафика, приходящего на эти сайты, является результатом моего личного тестирования. Эта стоимость кажется абсурдной. Ниже мои платежные ведомости.

AWS Billing Statement

Мне интересно несколько вещей:

  • Правильно ли я считаю, что я плачу слишком много, и если да, то как я могу уменьшить стоимость?
  • Я слишком много плачу, потому что использую неправильный размер экземпляра?
  • Должен ли я использовать другой сервис для выполнения этих задач?

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

Любая помощь, которую я могу получить, очень ценится, и если есть больше информации, которую я могу предоставить, дайте мне знать!

Ответы [ 2 ]

0 голосов
/ 05 января 2019

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

  1. Возможно, вы сможете использовать точечные / зарезервированные экземпляры для экономии затрат EC2. Посмотрите на https://aws.amazon.com/ec2/pricing/, чтобы увидеть, как модель ценообразования отличается по требованию и от спотовой / резервной.

  2. Если возможно, рассмотрите возможность перехода на сервер. Что-то вроде статического веб-хостинга Lambda + API Gateway + S3. В модели безсерверных платежей вы платите только за то, что используете, а не за час. Если у вашего приложения низкий трафик, это может сэкономить вам много денег.

  3. Если ваше приложение сейчас используется редко, рассмотрите возможность использования Aurora Serverless для вашей RDS. Он запускает MySQL и имеет возможность «приостанавливать» базу данных, когда она не используется в течение определенного периода времени. Вы платите только за хранение, когда база данных неактивна, поэтому, если у вас низкий трафик, это может быть хорошим спасением.

  4. Если ваша структура данных позволяет это сделать, рассмотрите возможность перехода на DynamoDB. Это база данных NoSQL, которая по сути является хранилищем значений ключей. DynamoDB не имеет сервера, и вы платите только за то, что используете, если вы предоставляете его по требованию. Если вы не знакомы с DynamoDB, вы можете взглянуть на https://aws.amazon.com/blogs/database/choosing-the-right-dynamodb-partition-key/, который объясняет, как структурировать ваши данные.

0 голосов
/ 05 января 2019

Эластичная балансировка нагрузки кажется немного сильной. Для чего ты это используешь? Я считаю, что вы можете найти экземпляры в меню EC2 слева. Если вы этого не видите, попробуйте переключиться между зонами aws, которые вы использовали или использовали в прошлом.

Я бы также посоветовал разместить сайты в S3, так как это намного дешевле, чем в EC2. Если это невозможно, возможно, комбинация API-шлюза и лямбда-функций может помочь.

...