Tips for reducing AWS Cloud Hosting Charges
AWS – Amazon Web Services
AMI – Amazon Machine Image
EBS – Elastic Block Storage
1) Use Spot Instances whenever possible:
You may create spot instances from normal AWS instances and then delete the normal instances. You may read this blog on how to create AWS Spot Instances: http://scn.sap.com/community/developer-center/hana/blog/2013/11/11/using-aws-spot-instances-with-sap-cal
Example: openSAP HANA AWS Instance uses m2.2xlarge Instance. The normal instance costs $0.82/hour whereas the spot instance costs about $0.07/hour
In addition, spot instance are created from AMI/Snapshots. Snapshots incur very minimal AWS charges. The reason being Snapshots of EBS volumes are stored in a compressed format and empty blocks are not stored. Please read this page (bottom of page): http://aws.amazon.com/ebs/
AWS Pricing (http://aws.amazon.com/ec2/pricing/): EBS Volumes: $0.10 per GB-month of provisioned storage — you will be charged for all of the provisioned storage whether you are using them or not. EBS Snapshots: $0.095 per GB-month of data stored — only non-empty blocks are stored in a compressed format.
2) Stop or terminate normal instances when you are not using them:
If you are using normal instances, you may stop the instances when not in use and start them when you want to use them. You will still get charged for EBS Volumes whether the instance is stopped or running.
If you are not going to be using your normal instances for a longer period of time, you may terminate them and re-create them when you need them again. Termination of normal instances also deletes the EBS volumes.
3) Delete EBS Volumes when you are not using them:
Delete the EBS Volumes after the termination of spot instances, if you de-selected the Delete on Termination flag during AMI creation.
4) Delete Elastic IPs when not in use:
You can always allocate Elastic IPs when you need them. In some situations, you may want to keep the same IPs for a period of time, for example for the duration of an openSAP class.
5) Suspend or Terminate Instances deployed through SAP CAL when not in use:
This is similar to Item #2 above. SAP CAL uses the terminology Suspend which is equivalent to Stop in AWS.
You may refer to this blog for a comparison between SAP CAL and AWS Instance operations: http://scn.sap.com/community/developer-center/hana/blog/2013/11/04/instance-operations-sap-cloud-appliance-vs-amazon-web-services
6) Set up Amazon CloudWatch Alarms:
This can be set up for different metrics like AWS charges exceeding a certain level, CPU usage, etc., For more info, please read: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html