AWS EC2 Transitioning From Pay As You Go to Reserved Instance - amazon-web-services

I have a micro instance of EC2 that I am currently paying for using pay-as-you-go. I am thinking about transferring this instance to a reserved instance (upfront fee + lower hourly charge). I read through the documentation here, but am still unclear about a couple of things.
First, will I be able to seamlessley 'transfer' my current pay-as-you-go instance onto the reserved instance platform without having to move my snapshot onto a new server? Also, does the 'Reserved Instance Type' only refer to the down payment + hourly rate options you have and not have anything to do with the actual performance of the box? From what I've read, I should choose the 'Heavy Utilization' option since the box will be running a site that is up 24/7.

You do not have to move your server or make any change when buying a reserved instance. You simply need to select an RI that is the same size and in the same region and availability zone as your current system. Heavy utilization is the best choice for you if your system runs 24/7. If you don't think you'll need it for a full year, consider buying from the marketplace where you may be able to buy in some increment lower than 1 year.

Reserved instances are just a billing feature. All you need to do is create a reservation that matches the parameters of your current instance.

It breaks down like this:
You just purchase an RI, and if it happens to match a running instance (same Region, Zone and Instance Type), you get a discount when running the instance.
Multiple RIs will match multiple instances.
If you're not running a "matching" instance, you don't get a discount.
The RI type (Heavy/Medium/Light) is just a trade-off on up-front cost vs discount cost. If you're running 24x7, get the heavy, it will save you the most money. If you don't want to invest a lot now, you can get the light and pay a little more, but loose less if you stop your instance.

Related

How does AWS know to apply reserved instances price to the EC2 running 24/7 and not part time?

Our organization has many EC2 on-demand instances. We never looked at the reserved instance pricing because we thought we had to pay up-front. But I see that now there are reserved instance with no up-front costs, but monthly.
This looks like what we need to keep costs down, but I am unclear as to how the reserved instance pricing is applied.
For example, we have 10 t3.medium ec2 instance. Let's say that there are 6 always running 24/7, but the other 4 are not running 24/7, they are turned off when not in use.
If I buy a reserved instance for t3.medium, how does AWS know to apply it to the instances running 24/7 and not part time?
For example, we have 10 t3.medium ec2 instance. Let's say that there
are 6 always running 24/7, but the other 4 are not running 24/7, they
are turned off when not in use.
If I buy a reserved instance for t3.medium, how does AWS know to apply
it to the instances running 24/7 and not part time?
Amazon doesn't apply reserved pricing to a specific instance at all. It basically just applies reserved pricing to your bill. It's like a discount at the time your bill is processed. If you have reserved pricing for N instances, and you have at least N instances running 24/7 reflected in your bill, then the reserved pricing gets applied to those N instances.
Amazon doesn't really care if you are running a single specific instance 24/7, or deleting and recreating instances once a minute. In the end it's just the total number of seconds you have a specific type of instance running each month that they care about, and bill you for.
Be aware that when you setup instance reservations it is actually a capacity reservation. You are telling Amazon you are committing to running this type of instance 24/7 for either 1 year or 3 years. By letting Amazon know this, it helps with their capacity planning, and in return they give you a cost discount. But it also means that they are going to charge you for that reserved capacity even if you don't actually have that instance running 24/7.

AWS:What will be more price efficient Instance or Reserved Instance for EC2

I have a regular AWS EC2 m3.large instance that I use for a few days a month, when I'm not using it I stop it, and just start it when I need it. I have the understanding that I only pay for it when it is actually running, is that correct ?
I've just recently noticed reserved instances, I'm happy to commit to a term of a few years, however I don't need to use it every day. So assuming my first assumption is correct does that also apply to reserved instances or do i have to pay every day whether or not Im using.
If is a good idea can I convert my existing instance to a reserved instance or do I have to setup a new machine from scratch ?
You have to pay for reserved instance even if you are not using it. The capacity is already reserved for it and you may have already paid a partial payment upfront for you or you can choose no upfront. Reserved instance is use it or lose it.
You can use a calculator and see if reserved instance can save you $$.
You can convert your on-demand to reserved instance just by reserving an instance of same type in the same availability zone. AWS has made the instance reservation more flexible recently but if you are running a single instance, just reserve an instance of same type in the same availability zone. You can choose partial/no upfront, one or three year terms.
In us-east-1, on-demand cost for m4.large is $0.10/hour.
Monthly on-demand cost is: $72/month
Approximate reserved instance (one year) cost with no upfront: $50/month
Number of on-demand hours for $50: 500 hours (20 days)
If you plan to run for less than 500 hours/month, then you should go for on-demand. Remember, with reserved instances you are guaranteed an instance by AWS. Sometimes, on-demand may run out of capacity and you have to choose a different instance type. It is very rare but happens sometimes.
If you "reserve" an instance you have to pay for it.
m3.large instances that you stop you do not have to pay for, but keep in mind you might have to pay for other things like the EBS volume attached.
Judging by what you've said, its sounds like it's cheaper to start/stop the instance when you need it.

What happens if I decide to terminate an instance for which I paid upfront?

I am trying to understand Amazon EC2 reserved instances pricing structure. It is my understanding that the Reserved Instances are no more than a different pricing for my instances.
My question is what happens if I pay upfront for an instance and later for whatever reason I need to terminate it before all of the period of the instance is completed? Can I use the remaining money paid on another instance or that is gone?
Any clarification will be appreciated,
Thanks!
Yes, when you pay for a reserved instance, you will be billed wether you use it or not, and you could theoretically terminate and create a new instance ever day (week, month, hour etc), and still only pay for the single instance that you previously agreed to pay for, for the term you agreed to pay.
Its a bit tricky, but you need to wrap your mind around the fact that a Reserved Instance is a billing construct only - it has nothing to do with any particular instance you may have running. Paying upfront gives you the right to run an instance, at a pre-agreed for price.
If you buy a single RI, and then spinup 2 of them, one will automatically get 'billed' under the RI contract you have, the other will be billed at an On Demand hourly rate. If you delete one of them (either of them), the hourly on demand billing goes away and you continue to get billed on the RI only.
Also, if you decide you are never going to need the RI you terminated you can sell (thru amazon) the unused portion of your RI if you find you no longer need it; I get most of my reserved instances this way and you can usually save a bit of money (as the buyer), and recoup some of your losses as the seller.

How do I associate an AWS EC2 instance with a purchased reserved instance?

We’ve purchased an Amazon Web Services (AWS) reserved instance for an Amazon Elastic Compute Cloud (EC2) instance that is critical to our infrastructure. This instance starts and stops every day at certain time interval.
I see that purchasing a reserved instance 'guarantees' that this instance will reliably start even when AWS is under heavy load, but is there any way to specifically tie this reserved instance to the instance we want to associate with it?
What happens if we add another instance that matches the exact criteria of the reserved instance we’ve purchased?
You don't need to worry or do anything in associating the instance and the purchased Reserved Instance; all those are done automatically by AWS.
The reserved Instance is purely a billing and cost related and it doesn't relate to the technology aspect of an EC2 instance. If any of your running instance matches with any of your purchased Reserved Instance then you benefit from the reduced costing. There isn't any commitment on the SLA or changes at the Instance level which involves Reserved Instance. The same case works when you have 2 reserved instances; if there 2 instances running in your account which matches your reserved instance purchase they the reduced cost would be applied.
Analogy - Super Market Coupon Offer
If the Offer Says, buy 2 units of Product A and get one Product B
absolutely Free. So you look into the offer and take 2 units of
Product A and one Unit of Product B. During the billing as well, the
Point of Sales Person also doesn't look into each and every product
and try to check it offers; rather he or she directly keeps scaning
each and every product against the bar-code scanner and that't it -
when these 3 are scanned, the price for Free-Product is automatically
reversed.
So similarly, you buy the Reserved Instance (Coupon) choosing the AMI,
Region, AZ, Duration etc. You would do all your tech stuff as usual
like deploying, patching, monitoring etc. During the billing, if the
instance(s) you launched matches the Reserved Instance, then the
Reserved pricing would be applied; if not that would be charged at
'On-Demand-Pricing'.
If there is a mismatch between what instance you are running and what instance you have reserved; you will not be using the benefit of Reserved-Instance pricing
and be charged with On-Demand-Pricing. Also you will be wasting the
investment done for the Reserved-Instance
As implied in Naveen's answer, there is no direct way to associate an instance with a reservation.
If you want the reliability, then you must launch instances with unique set of properties (instance type, az and AMI). There is no other way at the moment.
This is supposed to be a comment in Naveen's reply. But as I had no reputation yet to commen, I am adding it as an answer.

AWS EC2 Instances with Load Balancing during very high traffic

Our website is available throughout the year, and can handle traffic quite well with an AWS EC2 medium instance type. Every now and then (once a month), we get really heavy traffic though, and might need several extra large instances. We know when this will occur, and so we can start up instances in advance.
I have just noticed that we would save quite a bit of money when pre-purchasing a medium reserved instance, compared to our current on-demand instance. The problem is that such a reserved instance would mean that our master will be fixed at a medium instance type.
My question is this: Would there be any issues having such a small master, when we need to start-up new x-large slaves? What advantages would there be to keeping the master as an on-demand instance?
Reserved instances are there to save money for those instances you regularly run. I would suggest using reserved instances for your 'master'. The only advantage of keeping that one on-demand is the advantage that you could scale up or down as soon as your constant flow of traffic changes up or down. Make sure you choose the right use for your reserved instance; an 'always-on reserved instance' should have an heavy-use reserved purchase. Those 'peak instances' do best as an on-demand instance.
Just because you have a reservation does not mean you need to be running it all the time. The reservation will apply to any instance matching its parameters.
There are different reservation options as well depending how heavily you use a given instance type. You can take advantage of reserved instances and continue to do what you are doing, you don't need to switch anything.