{"id":384139,"date":"2021-12-21T18:00:38","date_gmt":"2021-12-21T15:00:38","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-automatically-turn-off-aws-ec2-instances-cloudsavvy-it\/"},"modified":"2021-12-21T18:00:38","modified_gmt":"2021-12-21T15:00:38","slug":"how-to-automatically-turn-off-aws-ec2-instances-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-automatically-turn-off-aws-ec2-instances-cloudsavvy-it\/","title":{"rendered":"#How to Automatically Turn Off AWS EC2 Instances \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a2e747b20e99\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a2e747b20e99\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automatically-turn-off-aws-ec2-instances-cloudsavvy-it\/#Preventing_Wallet_Overflow\" >Preventing Wallet Overflow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-automatically-turn-off-aws-ec2-instances-cloudsavvy-it\/#Setting_Up_An_Alarm\" >Setting Up An Alarm<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Automatically Turn Off AWS EC2 Instances \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage alignnone size-full wp-image-5269\" data-pagespeed-lazy-srcset=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2020\/06\/e601b806.png?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.cloudsavvyit.com\/p\/uploads\/2020\/06\/e601b806.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 1200w\" sizes=\"auto, 400w, 1200w\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2020\/06\/e601b806.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"AWS Logo\" width=\"700\" height=\"300\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>A common use case for EC2 On-Demand and Spot Instances is using powerful machines for short-term, one-off tasks. However, if you were to leave these machines running on accident, you may end up with a very large bill. Luckily, AWS has tools to prevent that.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Preventing_Wallet_Overflow\"><\/span>Preventing Wallet Overflow<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This is a case of \u201ccloud overflow,\u201d where some of the more scalable services you run are dangerous to your wallet, and if not set up properly, can end up costing you orders of magnitude more money than you expected.<\/p>\n<p>For example, say you need to do a short term, time sensitive task on an extremely powerful machine\u2014like running an intensive codebase build on a 64 core worker machine, or doing 3D rendering on a machine with multiple GPUs. In any case, the hourly rates of these machines are expensive, on the order of multiple thousands of dollars a month. AWS has some accelerated computing machines that will cost you $25k to run continously for 750 hours.<\/p>\n<p>However, running them for only a few hours is actually pretty cost effective for some workloads, and AWS\u2019s on-demand system makes that possible. The only problem is turning the machine off every time, because if you don\u2019t, you\u2019ll keep paying for it.<\/p>\n<p>AWS doesn\u2019t have a built-in way to ensure this, but it does provide CloudWatch alarms: configurable functions that will check your instances continously to ensure things are in proper order. They can be set up to monitor CPU, network, and disk usage, and can trigger automatic shutdowns or restarts. You can even hook them up to an SNS queue to send notifications to other systems.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Setting_Up_An_Alarm\"><\/span>Setting Up An Alarm<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For this use case, a simple alarm that turns off inactive instances will work fine. While there\u2019s no alarm for \u201chas been running for too long,\u201d you can simulate one using CPU usage. If the task you\u2019re running <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/general\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"General\" target=\"_blank\" rel=\"noopener\">general<\/a>ly loads all the cores, CPU usage should be close to zero on an inactive machine.<\/p>\n<p>Your mileage will vary though, so you\u2019ll need to check your CloudWatch statistics to ensure that your machine\u2019s inactivity will be detected. The alarm configuration also provides a graph of this for you to compare off of.<\/p>\n<p>From the EC2 console, right click an instance and choose \u201cMonitoring\u201d &gt; \u201cManage CloudWatch Alarms,\u201d or click the + icon next to the \u201cAlarm Status\u201d in the browser if there are no existing alarms.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15150\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/12\/fb6d18c1.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"953\" height=\"180\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Here, you can set up the alarm threshold. Generally, you\u2019ll want to set the grouping to \u201cAverage,\u201d choose \u201cCPU Utilization,\u201d and set it to trigger when it\u2019s less than 10 percent or so for an hour. Note that the period here is multiplied by the amount in \u201cConsecutive Periods,\u201d so 5 minute periods times 12 would also be valid instead of just 1 hour.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15149\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/12\/8f9c9dd4.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"738\" height=\"383\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Then, you can set up the alarm action to stop the instance.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15151\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/12\/6739f608.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"742\" height=\"158\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>That should be all you need, and it will automatically start running once created. You can use the same alarm configuration on a smaller machine if you\u2019d like to test your setup.<\/p>\n<p>To be safe though, you should likely <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/monitor_estimated_charges_with_cloudwatch.html?tag=reviewgeek-20\">enable global AWS billing alerts<\/a>. These can warn you early if you\u2019re exceeding your target budget, letting you fix the problem manually before it runs off and empties your wallet.\n<\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/15148\/how-to-automatically-turn-off-aws-ec2-instances\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Automatically Turn Off AWS EC2 Instances \u2013 CloudSavvy IT&#8221; A common use case for EC2 On-Demand and Spot Instances is using powerful machines for short-term, one-off tasks. However, if you were to leave these machines running on accident, you may end up with a very large bill. Luckily, AWS has tools to prevent&#8230;<\/p>\n","protected":false},"author":1,"featured_media":384140,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2020\/06\/e601b806.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-384139","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/384139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=384139"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/384139\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/384140"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=384139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=384139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=384139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}