How to shut down AWS test environment on a particular time - amazon-web-services

We have a test environment on a AWS elastic beanstalk and I would like to shut this down on weekends and hours not using.
When inquired I got information about a third party tool that does that which I have to pay extra 50$ a month.
Does anybody any how to automatically shutdown/restart ec2 instances/elastic-beanstalk on AWS ?
Please note I am fairly new to AWS and I tried finding out to see if I can do this easily but unable to.
Thanks for any directions.

You can use a solution from AWS: Instance Scheduler
https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/
It's based on instances tags.
If you have an AutoScaling Group in your stack, you can use:
https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html
With a simple cron expression, you will schedule the size of your ASG.

Skeddly offers 100 free events free tier which would cover your use case https://www.skeddly.com/pricing/
I manage a small development account with 8 EC2 instances, 2 autoscaling groups, and 2 RDS instances, and I schedule them for use about 200 hours a month (approx 50 hours a week.)
I get significant savings over demand and even reserved instances by this type of scheduling tool. I pay about $10 per month. This is a good value, compared to building an maintaining your own scheduler.
Usual disclaimer: Just a happy customer.

Related

Stop AWS OpenSearch service temporarily for cost savings

I am looking at doing some cost savings in AWS and want to know if we can stop and then start the AWS Opensearch service for a couple of days.
My scenario is that the application which uses the OpenSearch service (Elasticsearch) remains down during 2 days every week... During this time OpenSearch remains active and incurs costs...
I know one option to save the costs is to downgrade the node type and reduce the number of nodes during the application downtime.
But let me know if there are any other options where I can entirely "Switch Off" and "Switch On" the service just like we can do with EC2 instances.
There is no way to stop the cluster today. What I have seen to reduce bill was that team edited the cluster to reduce the instance type to a t2.small (or smaller ones) instance which is significantly cheaper than the previous instance.
Then when they needed to resume testing they changed the instance type back to what they required.
One other thing maybe is to take a snapshot of your domain, the disable Opensearch for the weekend. Finally restore it back on monday with the snapshot you got.
AWS launched OpenSearch Serverless during reInvent 2022 but still in preview.
This is the ideal solution which would not require you manage clusters.
https://aws.amazon.com/opensearch-service/features/serverless/
Until then, go for downsizing the instance during non peak hours.
[Edit]: It is GA now as on 25th Jan 2023
https://aws.amazon.com/blogs/big-data/amazon-opensearch-serverless-is-now-generally-available/

How to check unused AWS Running instances

We trying to find the unused(which is not using long time)running AWS instances, can someone please let me know the way to find the unused AWS running instances. Thank you
Thanks
AWS Trusted Advisor automtically checks for Low Utilization Amazon EC2 Instances:
Checks the Amazon Elastic Compute Cloud (Amazon EC2) instances that were running at any time during the last 14 days and alerts you if the daily CPU utilization was 10% or less and network I/O was 5 MB or less on 4 or more days.
It also provides a list of such instances that you can download. If you want to search instances based on your-own custom under utilization criteria, you would have to create your own custom solution for that.

my instance is getting billed even after buying a reserved instance (AWS)

Thanks for looking into this
I have purchased 2 reserved instance on AWS t3a.xlarge + windows and t3a.xlarge + windows + ms SQL for one year with no upfront as the payment method and region as Mumbai(ap-south)
Post the purchase I have launched the 2 instances in the same region with the same configuration AS I checked a day later I was getting billed for those new servers-where the reserved instance was not used.
How should I proceed here?? and where did I made the mistake
thanks in advance
Best way to look at this is through the AWS Cost Management service (Billing). In there you'll find the utilization dashboard and the coverage dashboard of your Reserved instances. That should give you a good idea why the RIs weren't applied.
Because there is a lot of missing information from your question, I'd suggest to check the following:
Regional vs AZ RIs - make sure that you didn't purchase RIs for a specific AZ and then deployed in in a different one (even if the region is the same)
See your hourly usage patterns. It's not attached to an instance, and calculated on a hourly basis.
Check carefully that the RIs you purchased are aligned with exactly what you deployed as you talked about a Windows machine which has several different offerings.
Good luck!

Does cost of EC2 on AWS increase at the same rate as user count?

I'm getting ready to launch a mobile app that I have hosted on AWS with an EC2 instance. ($0.0464 per On Demand Linux t2.medium Instance Hour).
This past month I was charged $112 for the EC2 usage, but only had a handful of internal users testing the private version of the app. It's a fairly simple app, not anything that should require a lot of computing power.
So what I'm wondering is if 10 users and dev team costs $112/mo, what happens if I get 1,000 users, or 10k users? Would the cost increase 100x, 1000x? I can't imagine getting auto-billed for $112,000 for a month of service with a small user base like 10k users.
Thanks for any help and guidance, I don't know much about AWS.
Here are the details of my billing for last month:
The billing page shows 2219 hours of t2.medium during this billing month.
That is the equivalent of 92 days. So, it might be 3 instances running for a full month.
Amazon EC2 is charged when the instance is in the Running state. If you are not using an instance, you can Stop the instance. The attached disks (EBS) will still be charged, but there will be no charge for the instance itself.
The charge is not based on the number of users, nor how 'busy' the instance is. It is simply charged when the instance is 'running'. This is because computer resources are exclusively assigned to instances (CPU, RAM) that nobody else can use.
Bottom line: Stop instances that you don't need. Use the smallest instance type for your use-case to reduce costs.
If you were not aware of the charges involved, you can contact AWS Customer Service and request a refund.
FYI, the T2 and T3 family are great for workloads that occasionally 'burst' but then have low-usage periods, but they are not great for sustained workloads. See: Burstable performance instances - Amazon Elastic Compute Cloud

Running Map Reduce on a data set of around 10 GB on AWS

I want to store around 10 GB of data on AWS services and use map reduce to process the data.
Is using EC2 the best option ? I want to use free tier service, it says maximum of 613 MB for free services on EC2 and that does not satisfy my requirement. I am doing a hobby project and my expenses are limited.
The free tier FAQ also talks about using AWS EBS with free 30 GB of data. Can I use Map Reduce services on EBS too, since AFAIK EMR is only available on EC2 ?
Does anyone know of any other alternatives that I can use for the same ?
Try the AWS Simply Monthly Calculator, located at http://calculator.s3.amazonaws.com/calc5.html#s=EMR, to get a feel for how much your project will cost using AWS.
The recommended workflow for EMR is to store data in an S3 bucket. So in the calculator, click S3 on the left. In the form enter 10G. The price for S3 storage is about $0.10 per gb/mo, so 10G costs about $1.00/mo.
Then, click on Amazon Elastic Map Reduce on the left. The form allows you to select predicted number of instances, hours/week or hours/mo expected usage, and expected instance type needed for your project. For example, for a project that requires 20 hrs/week using 1 Small EC2 is estimated to cost around $6.00. Micro instances do not seem to be offered with EMR.
Therefore, if you think you can get by with a Small Instance, and you plan to use it infrequently, your expenses might be under $10 per mo.
To reduce expenses even further, you could use spot instances rather than standard instances, as explained here: http://aws.amazon.com/ec2/spot-instances/#7.