{"id":2221,"date":"2019-08-22T10:45:07","date_gmt":"2019-08-22T10:45:07","guid":{"rendered":"https:\/\/www.testpreptraining.com\/tutorial\/?page_id=2221"},"modified":"2020-05-02T07:44:53","modified_gmt":"2020-05-02T07:44:53","slug":"auto-scaling-concepts","status":"publish","type":"page","link":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/","title":{"rendered":"Auto Scaling Concepts"},"content":{"rendered":"\n<p><strong>Auto Scaling Components<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Groups <ul><li>EC2 instances are organized into groups to treat as single unit for scaling and management. <\/li><\/ul><ul><li>Specify minimum, maximum, and, desired EC2 instances during creation. <\/li><\/ul><\/li><li>Configuration templates<ul><li>Group needs launch template or configuration as a configuration template for its EC2 instances. <\/li><\/ul><ul><li>Details like AMI ID, instance type, key pair, security groups, and block device mapping are listed <\/li><\/ul><\/li><li>Scaling options<ul><li>Provides ways to scale Auto Scaling groups. <\/li><li>Like, scaling on a schedule. <\/li><\/ul><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"310\" height=\"224\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image-160.png\" alt=\"\" class=\"wp-image-2222\"\/><\/figure><\/div>\n\n\n\n<p><strong>Auto Scaling Lifecycle<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"397\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image-161.png\" alt=\"\" class=\"wp-image-2223\"\/><\/figure>\n\n\n\n<p><strong>Scale Out <\/strong><\/p>\n\n\n\n<p>Scale out events launch\nEC2 instances and attach them to the Auto Scaling group, if<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>manually increase the size of the group. <\/li><li>create a scaling policy to automatically\nincrease group size as per increase in demand. <\/li><li>Scheduled scaling to increase group size at\nspecific time. <\/li><\/ul>\n\n\n\n<p><strong>During scale out event<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Required EC2 instances are launched<\/li><li>using its assigned launch configuration<\/li><li>instances start in the Pending state<\/li><li>perform a custom action by adding lifecycle hook\nto Auto Scaling group, here<\/li><li>instance is attached to group if fully\nconfigured and clears EC2 health checks<\/li><li>instance enters the InService state<\/li><li>The instance is counted against the desired\ncapacity of Auto Scaling group.<\/li><\/ul>\n\n\n\n<p><strong>Instances\nIn Service <\/strong><\/p>\n\n\n\n<p>Instances are in the InService state if either<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>scale in event occurs, EC2 Auto Scaling\nterminates this instance to reduce group size. <\/li><li>put instance into a Standby state. <\/li><li>detach instance from Auto Scaling group. <\/li><li>instance fails a required number of health\nchecks, it is removed from group, terminated, and replaced. <\/li><\/ul>\n\n\n\n<p><strong>Scale In<\/strong><\/p>\n\n\n\n<p>Scale in events direct\nthe group to detach instances and terminate, if<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>manually decrease the size of group. <\/li><li>create a scaling policy to automatically\ndecrease group size based as per demand. <\/li><li>set scaling by schedule to decrease group size\nat a specific time. <\/li><li>create a scale in event for each scale out event\ncreated.<\/li><li>Hence, resources will match demand <\/li><\/ul>\n\n\n\n<p><strong>During scale in event <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The Auto Scaling group detaches one or more instances. <\/li><li>termination policy is used to find which instances to terminate. <\/li><li>Instances to terminate, enter the Terminating state, and can&#8217;t be put back into service. <\/li><li>perform a custom action by adding lifecycle hook to Auto Scaling group, here<\/li><li>Finally, the instances is completely terminated and enter the Terminated state.<\/li><\/ul>\n\n\n\n<p><strong>Attach an\nInstance<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Attach a running EC2 instance as per criteria,\nto Auto Scaling group. <\/li><li>After attaching the instance, it is managed as\npart of the Auto Scaling group.<\/li><\/ul>\n\n\n\n<p><strong>Detach an\nInstance<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>can detach instance from Auto Scaling group. <\/li><li>After detaching, manage it separately from the\nAuto Scaling group or <\/li><li>attach it to a different Auto Scaling group.<\/li><\/ul>\n\n\n\n<p><strong>Lifecycle\nHooks<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>add a lifecycle hook to Auto Scaling group to execute custom actions when instances launch or terminate.<\/li><li>Can be added in a scale out or scale in event<\/li><li>In scale out event, <ul><li>instances start in the Pending state<\/li><\/ul><ul><li>If present, EC2_INSTANCE_LAUNCHING lifecycle hook, instance move from the Pending state to the Pending:Wait state. <\/li><\/ul><ul><li>After lifecycle hook action, instance enter Pending:Proceed state. <\/li><\/ul><ul><li>After full configuration, instances attach to the Auto Scaling group and are in InService state.<\/li><\/ul><\/li><li>In scale in event<ul><li>instances are detached from the Auto Scaling group and are in Terminating state. <\/li><\/ul><ul><li>If present, EC2_INSTANCE_TERMINATING lifecycle hook, instances move from Terminating to the Terminating:Wait state. <\/li><\/ul><ul><li>After lifecycle hook action, instance enter Terminating:Proceed state. <\/li><\/ul><ul><li>When an instance is fully terminated, they enter Terminated state.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p><strong>Enter and\nExit Standby<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>can put any instance from InService state to Standby state, to remove from service, troubleshoot or make changes to it, and then put it back into service.<\/li><li>Instances in Standby state are managed by Auto Scaling group. <\/li><li>they are not active part of application until back into service. <\/li><\/ul>\n\n\n\n<p><strong>Auto Scaling Limits<\/strong><\/p>\n\n\n\n<p><strong>Default Limits<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Launch configurations per Region: 200<\/li><li>Auto Scaling groups per Region: 200<\/li><\/ul>\n\n\n\n<p><strong>Auto Scaling Group\nLimits<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Scaling policies per Auto Scaling group: 50<\/li><li>Scheduled actions per Auto Scaling group: 125<\/li><li>Lifecycle hooks per Auto Scaling group: 50<\/li><li>SNS topics per Auto Scaling group: 10<\/li><li>Classic Load Balancers per Auto Scaling group:\n50<\/li><li>Target groups per Auto Scaling group: 50<\/li><\/ul>\n\n\n\n<p><strong>Scaling Policy Limits<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Step adjustments per scaling policy: 20<\/li><\/ul>\n\n\n\n<p><strong>Scaling Options<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Maintain current instance levels at all times<\/li><li>Manual scaling &#8211; User specify only the change in the maximum, minimum, or desired capacity of the group. <\/li><li>Scale based on a schedule &#8211; scaling actions are performed automatically as a function of time and date. <\/li><li>Scale based on demand &#8211; Define parameters to control scaling like CPU utilization % <\/li><li>Predictive scaling &#8211; EC2 Auto Scaling with AWS Auto Scaling to scale resources across multiple services.  <\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Auto Scaling Components Groups EC2 instances are organized into groups to treat as single unit for scaling and management. Specify minimum, maximum, and, desired EC2 instances during creation. Configuration templates Group needs launch template or configuration as a configuration template for its EC2 instances. Details like AMI ID, instance type, key pair, security groups, and&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2084,"menu_order":38,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[411,7,372,380],"class_list":["post-2221","page","type-page","status-publish","hentry","category-amazon-aws","tag-auto-scaling-concepts","tag-aws","tag-devops","tag-devops-engineer"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Auto Scaling Concepts - Testprep Training Tutorials<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Auto Scaling Concepts - Testprep Training Tutorials\" \/>\n<meta property=\"og:description\" content=\"Auto Scaling Components Groups EC2 instances are organized into groups to treat as single unit for scaling and management. Specify minimum, maximum, and, desired EC2 instances during creation. Configuration templates Group needs launch template or configuration as a configuration template for its EC2 instances. Details like AMI ID, instance type, key pair, security groups, and...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/\" \/>\n<meta property=\"og:site_name\" content=\"Testprep Training Tutorials\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-02T07:44:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image-160.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/\",\"name\":\"Auto Scaling Concepts - Testprep Training Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\"},\"datePublished\":\"2019-08-22T10:45:07+00:00\",\"dateModified\":\"2020-05-02T07:44:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Certified DevOps Engineer Professional\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Auto Scaling Concepts\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"name\":\"Testprep Training Tutorials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\",\"name\":\"Testprep Training\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"contentUrl\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"width\":583,\"height\":153,\"caption\":\"Testprep Training\"},\"image\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Auto Scaling Concepts - Testprep Training Tutorials","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/","og_locale":"en_US","og_type":"article","og_title":"Auto Scaling Concepts - Testprep Training Tutorials","og_description":"Auto Scaling Components Groups EC2 instances are organized into groups to treat as single unit for scaling and management. Specify minimum, maximum, and, desired EC2 instances during creation. Configuration templates Group needs launch template or configuration as a configuration template for its EC2 instances. Details like AMI ID, instance type, key pair, security groups, and...","og_url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/","og_site_name":"Testprep Training Tutorials","article_modified_time":"2020-05-02T07:44:53+00:00","og_image":[{"url":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image-160.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/","url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/","name":"Auto Scaling Concepts - Testprep Training Tutorials","isPartOf":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website"},"datePublished":"2019-08-22T10:45:07+00:00","dateModified":"2020-05-02T07:44:53+00:00","breadcrumb":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/auto-scaling-concepts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.testpreptraining.ai\/tutorial\/"},{"@type":"ListItem","position":2,"name":"AWS Certified DevOps Engineer Professional","item":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-devops-engineer\/"},{"@type":"ListItem","position":3,"name":"Auto Scaling Concepts"}]},{"@type":"WebSite","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","name":"Testprep Training Tutorials","description":"","publisher":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization","name":"Testprep Training","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","contentUrl":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","width":583,"height":153,"caption":"Testprep Training"},"image":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/2221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/comments?post=2221"}],"version-history":[{"count":5,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/2221\/revisions"}],"predecessor-version":[{"id":5282,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/2221\/revisions\/5282"}],"up":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/2084"}],"wp:attachment":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media?parent=2221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/categories?post=2221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/tags?post=2221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}