[{"data":1,"prerenderedAt":1274},["ShallowReactive",2],{"docs-navigation":3,"\u002Fdocs\u002Fsaving\u002Fupgrade-guides\u002Fupgrade-asg-instance-types":107},[4],{"title":5,"section":6,"to":7,"groups":8},"MilkStraw Saving","\u002Fdocs\u002Fsaving","\u002Fdocs\u002Fsaving\u002Fget-started\u002Fintroduction",[9,26,45,68,92],{"title":10,"links":11},"Get started",[12,14,18,22],{"title":13,"to":7},"Overview",{"title":15,"to":16,"icon":17},"How MilkStraw AI works","\u002Fdocs\u002Fsaving\u002Fget-started\u002Fhow-milkstraw-ai-works","IconLightBulb",{"title":19,"to":20,"icon":21},"Quickstart","\u002Fdocs\u002Fsaving\u002Fget-started\u002Fquickstart","IconPlugin1",{"title":23,"to":24,"icon":25},"Activate and track savings","\u002Fdocs\u002Fsaving\u002Fget-started\u002Factivate-savings","IconLightningBolt",{"title":27,"links":28},"Use MilkStraw AI",[29,33,37,41],{"title":30,"to":31,"icon":32},"Projects and findings","\u002Fdocs\u002Fsaving\u002Fuse-milkstraw-ai\u002Fprojects-and-findings","IconSquareChecklist",{"title":34,"to":35,"icon":36},"Spend","\u002Fdocs\u002Fsaving\u002Fuse-milkstraw-ai\u002Fspend","IconLineChart1",{"title":38,"to":39,"icon":40},"Milkman","\u002Fdocs\u002Fsaving\u002Fuse-milkstraw-ai\u002Fmilkman","IconChatBubbles",{"title":42,"to":43,"icon":44},"MilkStraw CLI","\u002Fdocs\u002Fsaving\u002Fuse-milkstraw-ai\u002Fcli","IconConsole",{"title":46,"links":47},"Upgrade guides",[48,52,56,60,64],{"title":49,"to":50,"icon":51},"Guides overview","\u002Fdocs\u002Fsaving\u002Fupgrade-guides\u002Foverview","IconBook",{"title":53,"to":54,"icon":55},"Amazon EKS","\u002Fdocs\u002Fsaving\u002Fupgrade-guides\u002Fupgrade-eks-instance-types","IconArrowUpCircle",{"title":57,"to":58,"icon":59},"Amazon EC2 Auto Scaling","\u002Fdocs\u002Fsaving\u002Fupgrade-guides\u002Fupgrade-asg-instance-types","IconBuildingBlocks",{"title":61,"to":62,"icon":63},"Amazon EBS gp2 to gp3","\u002Fdocs\u002Fsaving\u002Fupgrade-guides\u002Fupgrade-ebs-gp2-to-gp3","IconServer1",{"title":65,"to":66,"icon":67},"AWS Elastic Beanstalk","\u002Fdocs\u002Fsaving\u002Fupgrade-guides\u002Fupgrade-elastic-beanstalk-instance-types","IconGrowth",{"title":69,"links":70},"Resources",[71,75,79,82,85,89],{"title":72,"to":73,"icon":74},"Supported services","\u002Fdocs\u002Fsaving\u002Fresources\u002Fsupported-services","IconServer",{"title":76,"to":77,"icon":78},"Security","\u002Fdocs\u002Fsaving\u002Fresources\u002Fsecurity","IconShield",{"title":80,"to":81},"Permissions","\u002Fdocs\u002Fsaving\u002Fresources\u002Fpermissions",{"title":83,"to":84},"Roles","\u002Fdocs\u002Fsaving\u002Fresources\u002Froles",{"title":86,"to":87,"icon":88},"Billing","\u002Fdocs\u002Fsaving\u002Fresources\u002Fbilling","IconBanknote2",{"title":90,"to":91},"Cancellation","\u002Fdocs\u002Fsaving\u002Fresources\u002Fcancellation",{"title":93,"links":94},"Get help",[95,99,103],{"title":96,"to":97,"icon":98},"FAQ","\u002Fdocs\u002Fsaving\u002Fget-help\u002Ffaq","IconCircleQuestionmark",{"title":100,"to":101,"icon":102},"Troubleshooting","\u002Fdocs\u002Fsaving\u002Fget-help\u002Ftroubleshooting","IconHammer",{"title":104,"to":105,"icon":106},"Contact & support","\u002Fdocs\u002Fsaving\u002Fget-help\u002Fcontact","IconSupport",{"path":58,"data":108,"meta":112,"nodes":161},{"title":109,"description":110,"navigation":111},"Upgrade EC2 instance types for Amazon EC2 Auto Scaling groups","Step-by-step guide to upgrade EC2 instance types for Amazon EC2 Auto Scaling groups using Blue\u002FGreen or Instance Refresh deployments.",{"title":57,"icon":59},{"toc":113,"key":153,"source":154,"stem":155,"extension":156,"kind":157,"type":158,"partial":159,"hash":160},{"title":114,"searchDepth":115,"depth":115,"links":116},"",2,[117,120,137,150],{"id":118,"depth":115,"text":119},"before-you-start","Before you start",{"id":121,"depth":115,"text":122,"children":123},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps","Option 1 · Blue\u002FGreen deployment (recommended for traffic-facing apps)",[124,128,131,134],{"id":125,"depth":126,"text":127},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-1-create-the-parallel-green-environment",3,"Step 1 · Create the parallel (green) environment",{"id":129,"depth":126,"text":130},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-2-dns-preparations","Step 2 · DNS preparations",{"id":132,"depth":126,"text":133},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-3-dns-cutover-to-green","Step 3 · DNS cutover to green",{"id":135,"depth":126,"text":136},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-4-remove-the-blue-environment","Step 4 · Remove the blue environment",{"id":138,"depth":115,"text":139,"children":140},"option-2-instance-refresh-deployment-in-place-asg-rollout","Option 2 · Instance Refresh deployment (in-place ASG rollout)",[141,144,147],{"id":142,"depth":126,"text":143},"option-2-instance-refresh-deployment-in-place-asg-rollout-step-1-prepare-a-new-launch-template-version","Step 1 · Prepare a new Launch Template version",{"id":145,"depth":126,"text":146},"option-2-instance-refresh-deployment-in-place-asg-rollout-step-2-start-instance-refresh","Step 2 · Start Instance Refresh",{"id":148,"depth":126,"text":149},"option-2-instance-refresh-deployment-in-place-asg-rollout-step-3-monitor-and-validate","Step 3 · Monitor and validate",{"id":151,"depth":115,"text":152},"extra-resources","Extra resources","docs\u002F2.saving\u002F3.upgrade-guides\u002F3.upgrade-asg-instance-types.md","docs","2.saving\u002F3.upgrade-guides\u002F3.upgrade-asg-instance-types",".md","document","text\u002Fmarkdown",false,"f77d52f427ad12c5",[162,171,174,198,210,213,216,219,285,287,289,296,299,304,311,372,378,382,388,446,452,456,459,476,479,558,564,567,571,584,587,752,759,763,773,776,843,846,848,850,856,912,914,916,919,949,955,969,976,978,980,983,1001,1004,1006,1008,1015,1018,1029,1033,1035,1038,1080,1087,1089,1106,1108,1169,1172,1174,1177,1198,1201,1215,1218,1230,1232,1234],[163,164,165,166,170],"p",{},"This guide walks you through upgrading EC2 instance types for ",[167,168,169],"strong",{},"Amazon EC2 Auto Scaling groups (ASGs)"," behind a load balancer.",[163,172,173],{},"You've got two main paths:",[175,176,177,188],"ul",{},[178,179,180,185],"li",{},[163,181,182],{},[167,183,184],{},"Option 1 (recommended for traffic-facing apps): Blue\u002FGreen deployment",[163,186,187],{},"Create a parallel \"green\" environment with new instance types, validate it, then cut over via DNS.",[178,189,190,195],{},[163,191,192],{},[167,193,194],{},"Option 2: Instance Refresh deployment",[163,196,197],{},"Update an existing ASG in place using Instance Refresh and a new Launch Template version.",[199,200,202,203,205,206,209],"callout",{"type":201},"note","If a MilkStraw AI task sent you here, open it from your project on the ",[167,204,13],{}," page and use the instance type it recommends in the Launch Template steps below. When you're done, set the task to ",[167,207,208],{},"Solved"," so MilkStraw AI can check the change.",[211,212],"hr",{},[214,215,119],"h2",{"id":118},[163,217,218],{},"Make sure:",[175,220,221,248],{},[178,222,223,226],{},[163,224,225],{},"You can log in to the AWS Console and have IAM permissions for:",[175,227,228],{},[178,229,230,233,234,233,237,233,240,243,244,247],{},[167,231,232],{},"EC2",", ",[167,235,236],{},"Auto Scaling",[167,238,239],{},"ELB\u002FALB\u002FNLB",[167,241,242],{},"IAM",", and ",[167,245,246],{},"Route 53"," (if you manage DNS).",[178,249,250,257],{},[163,251,252,253,256],{},"You understand your app's ",[167,254,255],{},"ingress",":",[175,258,259,266,273],{},[178,260,261,262,265],{},"Which load balancer you use: ",[167,263,264],{},"ALB \u002F NLB \u002F Classic",".",[178,267,268,269,272],{},"Which ",[167,270,271],{},"Target Group(s)"," your ASGs register into and what health checks they use.",[178,274,275,276,279,280,284],{},"Where your ",[167,277,278],{},"DNS"," (e.g., ",[281,282,283],"code",{},"api.example.com",") points today.",[211,286],{},[214,288,122],{"id":121},[163,290,291,292,295],{},"You'll create a ",[167,293,294],{},"parallel green environment"," (new Target Group, Load Balancer, ASG with new instance types), validate it, then update DNS to send traffic to green. Rollback is just switching DNS back.",[297,298,127],"h3",{"id":125},[300,301,303],"h4",{"id":302},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-1-create-the-parallel-green-environment-_11-create-a-new-target-group-green","1.1 Create a new Target Group (green)",[163,305,306,307,310],{},"In the ",[167,308,309],{},"Target Groups"," section (EC2 console):",[175,312,313,329,354],{},[178,314,315,320],{},[163,316,317],{},[167,318,319],{},"Target type",[175,321,322],{},[178,323,324,325,328],{},"Usually ",[281,326,327],{},"instance"," for Auto Scaling Groups.",[178,330,331,336],{},[163,332,333],{},[167,334,335],{},"Health checks",[175,337,338,341,351],{},[178,339,340],{},"Protocol\u002Fport: match your app (e.g., HTTP:80 or HTTPS:443).",[178,342,343,344,233,347,350],{},"Path: realistic health endpoint (e.g., ",[281,345,346],{},"\u002Fhealth",[281,348,349],{},"\u002Fstatus",").",[178,352,353],{},"Thresholds: set conservative values for prod (e.g., slightly more lenient than default until you're confident).",[178,355,356,361],{},[163,357,358],{},[167,359,360],{},"Deregistration delay",[175,362,363,369],{},[178,364,365,366,265],{},"Typical values: ",[167,367,368],{},"60–300 seconds",[178,370,371],{},"This controls how long in-flight connections are allowed to drain after instance removal.",[163,373,374,375,265],{},"This is your ",[167,376,377],{},"green Target Group",[300,379,381],{"id":380},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-1-create-the-parallel-green-environment-_12-create-a-new-load-balancer-green","1.2 Create a new Load Balancer (green)",[163,383,306,384,387],{},[167,385,386],{},"Load Balancers"," section:",[175,389,390,401,413,425],{},[178,391,392,393,396,397,400],{},"Choose ",[167,394,395],{},"ALB"," (HTTP\u002FHTTPS) or ",[167,398,399],{},"NLB"," (TCP\u002FUDP\u002FHTTPS) to match your app.",[178,402,403,408],{},[163,404,405],{},[167,406,407],{},"Subnets",[175,409,410],{},[178,411,412],{},"Use the same subnets\u002FAZs as your current (blue) environment for high availability.",[178,414,415,420],{},[163,416,417],{},[167,418,419],{},"Security group",[175,421,422],{},[178,423,424],{},"For ALB: mirror rules from the blue ALB; review any source IP allowlists or security boundaries.",[178,426,427,432],{},[163,428,429],{},[167,430,431],{},"Listeners & routing",[175,433,434,437,443],{},[178,435,436],{},"Recreate the listeners you have on the blue LB (ports, protocols, SSL certs).",[178,438,439,440,442],{},"Forward listener traffic to the ",[167,441,377],{}," you created above.",[178,444,445],{},"Any path-based routing rules from blue should be mirrored.",[163,447,448,449,265],{},"This LB + Target Group pair forms the front door of your ",[167,450,451],{},"green environment",[300,453,455],{"id":454},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-1-create-the-parallel-green-environment-_13-create-or-update-a-launch-template","1.3 Create or update a Launch Template",[163,457,458],{},"You'll now create a new Launch Template version for the new instance type.",[460,461,462,468,471],"ol",{},[178,463,464,465,265],{},"Go to ",[167,466,467],{},"EC2 → Launch Templates",[178,469,470],{},"Find your current template used by the blue ASG.",[178,472,392,473,265],{},[167,474,475],{},"Create new version",[163,477,478],{},"In the new version:",[175,480,481,518,543],{},[178,482,483,488],{},[163,484,485],{},[167,486,487],{},"Instance type",[175,489,490,515],{},[178,491,492,499],{},[163,493,494,495,498],{},"Set this to the ",[167,496,497],{},"new instance type",", for example:",[500,501,504],"pre",{"language":502,"class":503},"text","shiki shiki-themes github-light-default github-dark-default dark:github-dark-default",[281,505,507],{"class":506},"language-text",[508,509,512],"span",{"class":510,"style":511},"line","display: inline",[508,513,514],{},"m6a.xlarge",[178,516,517],{},"If a MilkStraw AI task sent you here, use the instance type that the task recommends.",[178,519,520,525],{},[163,521,522],{},[167,523,524],{},"Root volume size",[175,526,527],{},[178,528,529,532],{},[163,530,531],{},"Adjust if your application needs more disk space:",[175,533,534,540],{},[178,535,536,537,265],{},"Typical: ",[167,538,539],{},"50–100 GiB",[178,541,542],{},"More if you store large logs\u002Fcache\u002Fdata on the instance.",[178,544,545,550],{},[163,546,547],{},[167,548,549],{},"User data",[175,551,552,555],{},[178,553,554],{},"Adjust only if needed (e.g., different bootstrap logic, AMI, or agent configuration).",[178,556,557],{},"Keep it as close as possible to the blue environment to reduce variables.",[163,559,560,561,265],{},"Save this as ",[167,562,563],{},"Launch Template Version N+1",[199,565,566],{"type":201},"If your ASG uses a mixed instances policy, the instance types set on the ASG override the type in the Launch Template. Edit the instance types (or instance type requirements) on the ASG instead. If your ASG uses a launch configuration, copy it to a Launch Template first.",[300,568,570],{"id":569},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-1-create-the-parallel-green-environment-_14-create-a-new-auto-scaling-group-green","1.4 Create a new Auto Scaling Group (green)",[460,572,573,578],{},[178,574,464,575,265],{},[167,576,577],{},"EC2 → Auto Scaling Groups",[178,579,580,581,265],{},"Click ",[167,582,583],{},"Create Auto Scaling group",[163,585,586],{},"Configure:",[175,588,589,612,628,644,662,699,720,732],{},[178,590,591,596],{},[163,592,593],{},[167,594,595],{},"Name",[175,597,598],{},[178,599,600,603],{},[163,601,602],{},"Use your naming convention, e.g.:",[500,604,605],{"language":502,"class":503},[281,606,607],{"class":506},[508,608,609],{"class":510,"style":511},[508,610,611],{},"production-api-asg-v2",[178,613,614,619],{},[163,615,616],{},[167,617,618],{},"Launch template",[175,620,621],{},[178,622,623,624,627],{},"Select your existing Launch Template and explicitly choose ",[167,625,626],{},"Version N+1"," (the one with the new instance type).",[178,629,630,635],{},[163,631,632],{},[167,633,634],{},"VPC & Subnets",[175,636,637],{},[178,638,639,640,643],{},"Use the ",[167,641,642],{},"same VPC and subnets"," as the current (blue) ASG.",[178,645,646,651],{},[163,647,648],{},[167,649,650],{},"Attach to load balancer",[175,652,653,659],{},[178,654,655,656,658],{},"Attach the new ASG to the ",[167,657,377],{}," you created in Step 1.1.",[178,660,661],{},"Make sure it's not accidentally pointing to blue's Target Group.",[178,663,664,669],{},[163,665,666],{},[167,667,668],{},"Scaling settings",[175,670,671,696],{},[178,672,673,676],{},[163,674,675],{},"Example for prod:",[500,677,678],{"language":502,"class":503},[281,679,680,685,686,685,691],{"class":506},[508,681,682],{"class":510,"style":511},[508,683,684],{},"Desired capacity: 2","\n",[508,687,688],{"class":510,"style":511},[508,689,690],{},"Minimum capacity: 1",[508,692,693],{"class":510,"style":511},[508,694,695],{},"Maximum capacity: 10",[178,697,698],{},"Align with your expected load and existing scaling policies.",[178,700,701,705],{},[163,702,703],{},[167,704,335],{},[175,706,707,713],{},[178,708,709,710,265],{},"Enable ",[167,711,712],{},"ELB \u002F Target Group health checks",[178,714,715,716,719],{},"Set ",[167,717,718],{},"Health check grace period"," realistically (e.g., 60–120s) to allow app startup.",[178,721,722,727],{},[163,723,724],{},[167,725,726],{},"(Optional) Instance warm-up",[175,728,729],{},[178,730,731],{},"Set a value close to your real cold-start time (e.g., app launch + cache warm).",[178,733,734,739],{},[163,735,736],{},[167,737,738],{},"(Optional) Mixed instances \u002F Spot",[175,740,741],{},[178,742,743,744,747,748,751],{},"Only use ",[167,745,746],{},"mixed instances"," or ",[167,749,750],{},"Spot"," if you understand interruption behavior and scaling policies.",[163,753,754,755,758],{},"Create the ASG and wait for instances to launch and register as ",[167,756,757],{},"healthy"," in the green Target Group.",[300,760,762],{"id":761},"option-1-bluegreen-deployment-recommended-for-traffic-facing-apps-step-1-create-the-parallel-green-environment-_15-validate-the-green-environment","1.5 Validate the green environment",[163,764,639,765,768,769,772],{},[167,766,767],{},"green ALB's DNS name"," directly (e.g., ",[281,770,771],{},"internal-xyz-green-123456.elb.amazonaws.com",") to test.",[163,774,775],{},"Validate:",[175,777,778,790,804,822],{},[178,779,780,785],{},[163,781,782],{},[167,783,784],{},"Application behavior",[175,786,787],{},[178,788,789],{},"Run smoke tests and key user flows.",[178,791,792,797],{},[163,793,794],{},[167,795,796],{},"Target Group health",[175,798,799],{},[178,800,801,802,265],{},"All expected instances show as ",[167,803,757],{},[178,805,806,811],{},[163,807,808],{},[167,809,810],{},"Metrics",[175,812,813,816,819],{},[178,814,815],{},"HTTP 5xx rate.",[178,817,818],{},"Latency and throughput.",[178,820,821],{},"CPU\u002Fmemory (CloudWatch).",[178,823,824,829],{},[163,825,826],{},[167,827,828],{},"Network & security",[175,830,831,834,837,840],{},[178,832,833],{},"TLS certificates and ciphers (if HTTPS).",[178,835,836],{},"Redirects (HTTP → HTTPS, domain redirects).",[178,838,839],{},"WAF rules (if present).",[178,841,842],{},"Access logs, if configured.",[163,844,845],{},"Only proceed once the green environment is stable and looks production-ready.",[211,847],{},[297,849,130],{"id":129},[163,851,852,853,265],{},"You'll cut over by changing DNS to point to the ",[167,854,855],{},"green ALB",[460,857,858,889],{},[178,859,860,866],{},[163,861,862,863,865],{},"In ",[167,864,246],{}," (or your DNS provider):",[175,867,868,873,882],{},[178,869,870,871,265],{},"Find the public record, for example ",[281,872,283],{},[178,874,875,876,879,880,265],{},"Lower the ",[167,877,878],{},"TTL"," to ",[167,881,368],{},[178,883,884,885,888],{},"Do this at least ",[167,886,887],{},"15–30 minutes before"," the cutover so cached entries expire quickly.",[178,890,891,897],{},[163,892,893,894,256],{},"If you front the ALB with ",[167,895,896],{},"CloudFront or another CDN",[175,898,899,909],{},[178,900,901,902,747,905,908],{},"Plan to update the ",[167,903,904],{},"Origin",[167,906,907],{},"CNAME"," there as well.",[178,910,911],{},"Allow for CDN cache and DNS TTLs in your timing.",[211,913],{},[297,915,133],{"id":132},[163,917,918],{},"Once validation is complete and TTLs are lowered:",[460,920,921,933,936],{},[178,922,923,924,927,928,930,931,265],{},"Update the ",[167,925,926],{},"DNS CNAME"," for your public hostname (e.g., ",[281,929,283],{},") to point to the ",[167,932,767],{},[178,934,935],{},"Wait a few TTLs for propagation.",[178,937,938,941],{},[163,939,940],{},"Confirm traffic is hitting green:",[175,942,943,946],{},[178,944,945],{},"Check green Target Group request counts.",[178,947,948],{},"Compare logs and metrics against blue's previous baseline.",[163,950,951,954],{},[167,952,953],{},"Rollback"," is simply:",[175,956,957,963,966],{},[178,958,959,960,265],{},"Change the CNAME back to the ",[167,961,962],{},"blue ALB",[178,964,965],{},"Wait for TTL to expire.",[178,967,968],{},"Confirm traffic is back on blue.",[163,970,971,972,975],{},"Keep the blue environment running for a ",[167,973,974],{},"bake period"," so you can easily revert if needed.",[211,977],{},[297,979,136],{"id":135},[163,981,982],{},"After the bake period:",[460,984,985,998],{},[178,986,987,988,991,992,879,995,265],{},"Set the blue ASG's ",[167,989,990],{},"Desired capacity"," and ",[167,993,994],{},"Minimum capacity",[281,996,997],{},"0",[178,999,1000],{},"Delete the blue ASG, its load balancer, and its Target Group.",[163,1002,1003],{},"Until you remove the blue environment, you pay for both environments, and the MilkStraw AI task for the old group stays open.",[211,1005],{},[214,1007,139],{"id":138},[163,1009,1010,1011,1014],{},"If you don't want to create a second ASG and LB, you can use ",[167,1012,1013],{},"Instance Refresh"," to roll the existing ASG to a new instance type by updating the Launch Template version.",[163,1016,1017],{},"This is often suitable for:",[175,1019,1020,1023,1026],{},[178,1021,1022],{},"Worker fleets.",[178,1024,1025],{},"Internal services.",[178,1027,1028],{},"Apps where a controlled, in-place rollout is acceptable.",[199,1030,1032],{"type":1031},"warning","This has more risk than Blue\u002FGreen because you're modifying the production environment directly, but Instance Refresh with high min-healthy-percentage can still be quite safe.",[297,1034,143],{"id":142},[163,1036,1037],{},"Just like in Option 1:",[460,1039,1040,1044,1050,1075],{},[178,1041,464,1042,265],{},[167,1043,467],{},[178,1045,1046,1047,265],{},"Find the template used by your ",[167,1048,1049],{},"existing ASG",[178,1051,1052,1056],{},[163,1053,1054,256],{},[167,1055,475],{},[175,1057,1058,1065],{},[178,1059,715,1060,1062,1063,350],{},[167,1061,487],{}," to the new value (e.g., ",[281,1064,514],{},[178,1066,1067,1068,991,1071,1074],{},"Adjust ",[167,1069,1070],{},"root volume size",[167,1072,1073],{},"user data"," if needed.",[178,1076,1077,1078,265],{},"Save as ",[167,1079,626],{},[163,1081,1082,1083,1086],{},"Update your ASG to ",[167,1084,1085],{},"use Launch Template Version N+1"," as its default (in the ASG settings). If your ASG uses a mixed instances policy or a launch configuration, see the note in Option 1, step 1.3.",[297,1088,146],{"id":145},[460,1090,1091,1097],{},[178,1092,862,1093,1096],{},[167,1094,1095],{},"Auto Scaling Groups",", select the ASG.",[178,1098,392,1099,1102,1103,265],{},[167,1100,1101],{},"Instance refresh"," → ",[167,1104,1105],{},"Start instance refresh",[163,1107,586],{},[175,1109,1110,1132,1150],{},[178,1111,1112,1117],{},[163,1113,1114],{},[167,1115,1116],{},"Min healthy percentage",[175,1118,1119,1126,1129],{},[178,1120,1121,1122,1125],{},"Example: ",[167,1123,1124],{},"90–100%"," for a cautious rollout.",[178,1127,1128],{},"This means the ASG will ensure 90–100% of the desired capacity stays healthy during the refresh.",[178,1130,1131],{},"Lower only if your app can handle reduced capacity during rotation.",[178,1133,1134,1139],{},[163,1135,1136],{},[167,1137,1138],{},"Warm-up time",[175,1140,1141,1144],{},[178,1142,1143],{},"Use your app's realistic startup time + load balancer health check grace period.",[178,1145,1121,1146,1149],{},[167,1147,1148],{},"120 seconds"," or more for heavier apps.",[178,1151,1152,1157],{},[163,1153,1154],{},[167,1155,1156],{},"(Optional) Skip matching",[175,1158,1159,1166],{},[178,1160,1161,1162,1165],{},"Turn this on to replace ",[167,1163,1164],{},"only the instances that don't match"," Version N+1. Instances that already match are skipped.",[178,1167,1168],{},"Leave it off to replace all instances, even those that already match the new template.",[163,1170,1171],{},"Start the refresh.",[297,1173,149],{"id":148},[163,1175,1176],{},"While Instance Refresh runs:",[175,1178,1179],{},[178,1180,1181,1184],{},[163,1182,1183],{},"Monitor:",[175,1185,1186,1189,1192,1195],{},[178,1187,1188],{},"ASG health status.",[178,1190,1191],{},"Load balancer Target Group health.",[178,1193,1194],{},"Application errors and latency.",[178,1196,1197],{},"Capacity and scaling alarms.",[163,1199,1200],{},"If issues appear:",[175,1202,1203,1209,1212],{},[178,1204,1205,1206,265],{},"You can ",[167,1207,1208],{},"Cancel instance refresh",[178,1210,1211],{},"Any instances already replaced remain, but the ASG stops further replacements.",[178,1213,1214],{},"If needed, revert the ASG back to the previous Launch Template version and plan a new rollout.",[163,1216,1217],{},"Once the refresh completes:",[175,1219,1220,1227],{},[178,1221,1222,1223,1226],{},"Confirm ",[167,1224,1225],{},"all instances"," are running the new instance type.",[178,1228,1229],{},"Run smoke tests and verify that error rates and performance look good.",[211,1231],{},[214,1233,152],{"id":151},[175,1235,1236,1247,1256,1265],{},[178,1237,1238,1241,1242],{},[167,1239,1240],{},"Auto Scaling Instance Refresh"," — ",[1243,1244,1246],"a",{"href":1245},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fautoscaling\u002Fec2\u002Fuserguide\u002Fasg-instance-refresh.html","AWS Instance Refresh documentation",[178,1248,1249,1241,1252],{},[167,1250,1251],{},"Launch Templates",[1243,1253,1255],{"href":1254},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fautoscaling\u002Fec2\u002Fuserguide\u002Flaunch-templates.html","AWS Launch Template documentation",[178,1257,1258,1241,1261],{},[167,1259,1260],{},"Blue\u002FGreen deployments on AWS",[1243,1262,1264],{"href":1263},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fwhitepapers\u002Flatest\u002Fblue-green-deployments\u002Fwelcome.html","AWS Blue\u002FGreen deployment whitepaper",[178,1266,1267,1241,1270],{},[167,1268,1269],{},"Target Groups for ALB\u002FNLB",[1243,1271,1273],{"href":1272},"https:\u002F\u002Fdocs.aws.amazon.com\u002Felasticloadbalancing\u002Flatest\u002Fapplication\u002Fload-balancer-target-groups.html","Elastic Load Balancing Target Groups",1792482912186]